A contact is one customer of your workspace. It holds four kinds of data:
There are two sources, and they write the same records.
A customer writes to you. Kai makes a contact for the sender the first
time a conversation arrives, and links the conversation to it. The contact
holds the channel handle as an identity, and the name that the channel
reports.
You push a contact. The API creates the contact, or updates the contact
that already holds one of the identities in the request. See
Identity.
A customer that writes to you after you push their phone number lands on the
contact that you pushed. The record is one record.
A write follows one rule:
- a key that you do not send keeps its stored value;
- a key set to
null clears the value.
This is what makes a partial sync safe. A nightly job that syncs only the
package attribute leaves the name, the note and the other attributes as they
are.
Attributes merge in the same way. Kai applies the keys in the request and
leaves the other keys untouched:
The note
note is free text for teammates. It shows on the contact profile and beside
the conversation in the inbox.
Kai does not send the note to a customer, and does not give it to the model
that writes replies. Answers come from the Brain, which your team reviews.
Delete
A delete removes the profile. The conversations of that customer stay in the
inbox, and they lose their link to the profile.
A delete through the API does not erase message history. To erase raw
conversations and the map that reverses their redactions, use Settings →
Data controls in Kai.