Skip to main content
This guide loads a list of customers and the teammate that owns each one.

1. Map your users to Kai members

Kai accepts an email address as an owner, so you do not need the member ids. Read the roster first to find the people that your list names but your workspace does not hold:
This key needs the members:read permission.
Membership is read-only here. To invite or remove a teammate, use Kai, under Settings → People.

2. Assign in batches

An owner of null returns the contact to the shared pool. An email address that no member holds fails that one operation:

3. Decide about the open conversations

By default an assignment through the API does not move the open conversations of that customer. The new owner receives the next conversation. To move the open conversations as well, add "reassign_open_conversations": true to the operation. Use it for a real handover, for example when a teammate leaves.
Closed conversations and archived conversations never move.

4. Repeat the sync every night

The assign operation is safe to repeat. An assignment that does not change writes the same owner again and moves nothing. Keep reassign_open_conversations at its default for a nightly job. With it on, every run moves every live conversation of every customer to the owner, including the conversations that a manager gave to somebody else that morning.