This rule is one of the most difficult in French (even French people have trouble with it!).

The past participle agrees with the direct object when it is located before avoir auxiliary.

Subject Direct Object
before avoir
avoir
in the present
Past participle  
Nous les avons envoyés hier. Audio. Press to listen!
Je l' (=la) ai apprise par coeur. Audio. Press to listen!

Some examples:

  • J'ai envoyé les lettres hier. Je les ai envoyées hier. Audio. Press to listen!
    I sent the letters yesterday. I sent them yesterday.
  • Pierre a pris la voiture pour aller au ski. Pierre l'a prise. Audio. Press to listen!
    Pierre took the car to go skiing. He took it.
  • Elle a vérifié les résultats trois fois. Elle les a vérifiés trois fois. Audio. Press to listen!
    She checked the results three times. She checked them three times.