When the verb requires a direct object, it's us.
When it requires an indirect object, it's "to it".
There is not a perfect overlapping though, and transitive verbs in english may be translated by intransitive italian verbs.
E.g. "Ci stanno sconfiggendo" (=they are defeating us)
"Non ci credo" (=I do not believe [to] it)
Duo - how about revising the Clitic "Tips and Notes" to include a discussion of this use of "ci"? It would be very helpful, and would save your students a lot of research time on the matter.
For what it's worth, I found this site to provide a good explanation - https://grammar.collinsdictionary.com/us/italian-easy-learning/ne-and-ci
That just doesn't work in Italian: when you say "I can't believe you, you're lying!" you affirm that you don't trust what the other person says, and that in Italian is "non ti credo, stai mentendo!", but when you say "I can't believe you, how could you?" you're just expressing surprise at something that the other did, not that you don't trust them, so that in Italian is still "non ci credo, come hai potuto?". So yeah, on one hand it could translate "I can't believe you/him/her/it/us/them" in context, but it really means "I can't believe it".