Skip to content

Contact

client.contacts manages contacts — the leads, customers, or users who communicate through your channels. Each contact can have linked conversations, comments, files, and activity history.


Schema

Contact

FieldTypeDescription
object_namestring?Object type identifier
idstringUnique contact ID
organization_idstringOrganization this contact belongs to
display_namestring?Contact display name
emailstring?Email address
phone_numberstring?Phone number
avatar_urlstring?Profile picture URL
created_atstringISO 8601 creation timestamp
updated_atstringISO 8601 last-updated timestamp

UpdateContactInput

FieldTypeRequiredDescription
namestringUpdate display name
emailstringUpdate email address
phonestringUpdate phone number

ContactComment

FieldTypeDescription
_idstringUnique comment ID
textstring?Comment text body
created_atstring?ISO 8601 creation timestamp

ContactFile

FieldTypeDescription
_idstringUnique file ID
namestring?File name
urlstring?Download URL
sizenumber?File size in bytes

Methods

MethodTypeScriptPythonDescription
ListlistlistPaginated list of contacts
GetgetgetGet a contact by ID
UpdateupdateupdateUpdate contact fields
SearchsearchsearchFull-text search across contacts
Export CSVexportCsvexport_csvDownload all contacts as CSV
Get conversationsgetConversationsget_conversationsList conversations for a contact
Get commentsgetCommentsget_commentsList internal comments on a contact
Get filesgetFilesget_filesList files attached to a contact
Get activitiesgetActivitiesget_activitiesConversation activity log
Upload avataruploadAvatarupload_contactsUpload a file to contacts (avatar / file import)
List notificationslistNotificationslist_notificationsList notifications for current user
Mark notifications readmarkNotificationsReadmark_notifications_readMark notifications as read
Dismiss notificationdismissNotificationdismiss_notificationDismiss a single notification
Dismiss all notificationsdismissAllNotificationsdismiss_all_notificationsClear all notifications

list / list

const page = await client.contacts.list({ limit: 50, skip: 0 });
for (const contact of page.data) {
console.log(contact.id, contact.display_name, contact.email);
}

const results = await client.contacts.search({
q: "alice@example.com",
limit: 10,
});

update / update

const contact = await client.contacts.update("contact_id", {
name: "Alice Smith",
email: "alice@example.com",
phone: "+84912345678",
});

getConversations / get_conversations

const conversations = await client.contacts.getConversations("contact_id", {
channelTypes: "whatsapp,web",
});

getComments / get_comments

const comments = await client.contacts.getComments("contact_id", {
limit: 20,
skip: 0,
});

getActivities / get_activities

Returns the activity log for a conversation linked to this contact.

const activities = await client.contacts.getActivities("conversation_id");

listNotifications / list_notifications

const page = await client.contacts.listNotifications({ limit: 20, skip: 0 });
for (const n of page.data) {
console.log(n);
}

markNotificationsRead / mark_notifications_read

await client.contacts.markNotificationsRead(["notif_id_1", "notif_id_2"]);

uploadAvatar / upload_contacts

const formData = new FormData();
formData.append("file", avatarBlob, "avatar.png");
const result = await client.contacts.uploadAvatar(formData);
console.log(result.url);