The full table
Indirect pronoun first, then lo, la, li, le or ne. Mi, ti, ci, vi, si change their i to e; gli, le and formal Le become glie- and join up.
| mi → me | me lo · me la · me li · me le · me ne |
| ti → te | te lo · te la · te li · te le · te ne |
| gli, le, Le → glie- | glielo · gliela · glieli · gliele · gliene |
| ci → ce | ce lo · ce la · ce li · ce le · ce ne |
| vi → ve | ve lo · ve la · ve li · ve le · ve ne |
| si → se | se lo · se la · se li · se le · se ne |
Before a conjugated verb they’re two words (te lo do); glie- forms are always one (glielo do).
They join the end of an infinitive or a tu/noi/voi command: devo dirtelo, dammelo, diglielo.
With avere, the participle agrees with lo, la, li, le: te l’ho data, gliele ho mandate.