CRM
18 tools

CRM tools

Search, create and update contacts, manage unsubscribes and organise people with tags.

Badges:Read onlyWrites dataSends to WhatsAppDestructive
search_contacts#

Search contacts

Read only

WhatsApp CRM contacts matching name or phone text, status, tags and chat activity. Returns names, phones, tags and last-chat time. Use detailed to get contact_id and tag_ids for follow-up calls. Narrow with filters instead of paging far. For an exact phone lookup use find_contact_by_phone.

Parameters (9)›
  • query

    string

    Free text matched against name and phone.
  • statuses

    "okay" | "duplicate" | "issue" | "unsubscribed"[]

    Filter by derived status. unsubscribed = on the unsubscribe list.
  • tag_ids

    string[]

    Only contacts carrying ALL of these tags.
  • chat_activity

    "all" | "chatted" | "never"

    chatted = has a WhatsApp chat, never = no inbound message yet.Default "all"
  • sort

    "created_at" | "updated_at" | "first_name" | "last_name" | "status" | "chat_activity"

    No extra notes.Default "created_at"
  • order

    "asc" | "desc"

    No extra notes.Default "desc"
  • cursor

    string

    next_cursor from the previous page; omit for the first page. Keep the other filters the same; the page size stays as on the first page.
  • page_size

    integer

    Rows per page, 1-100. Default 20.Default 20
  • response_format

    "concise" | "detailed"

    concise returns the fields a person reads; detailed adds ids and raw fields for follow-up calls.Default "concise"
find_contact_by_phone#

Find a contact by phone

Read only

Normalises a phone number and returns the WhatsApp CRM contact that has it, or contact_id: null. Call before create_contact to avoid PHONE_DUPLICATE.

Parameters (2)›
  • country_coderequired

    string

    Country calling code digits only, e.g. 91 for India.
  • phonerequired

    string

    Local number or full E.164 without the plus sign.
get_contact#

Get one contact

Read only

One WhatsApp CRM contact: name, phone, status, unsubscribe state, tags, custom attributes and chat activity. To look a contact up by phone use find_contact_by_phone.

Parameters (1)›
  • contact_idrequired

    string

    A contact_id from search_contacts or find_contact_by_phone.
create_contact#

Create a contact

Writes data

Adds one contact to the WhatsApp CRM. Needs at least one tag: ids from list_tags, or make one with create_tag. For several contacts use bulk_create_contacts. Fails with PHONE_DUPLICATE, carrying existing_contact_id, when the number exists.

Parameters (6)›
  • first_namerequired

    string

    No extra notes.
  • last_name

    string

    No extra notes.
  • country_coderequired

    string

    Country calling code digits only, e.g. 91 for India.
  • phonerequired

    string

    Local number or full E.164 without the plus sign.
  • tag_idsrequired

    string[]

    tag_id values from list_tags.
  • attributes

    object

    Custom attribute values keyed by attribute key; list valid keys with list_contact_attributes.
bulk_create_contacts#

Create up to 100 contacts

Writes data

Adds up to 100 contacts to the WhatsApp CRM in one call. Each row is checked on its own; the result lists created rows and failed rows with reasons, so one duplicate does not stop the rest. Same tag rule as create_contact.

Parameters (2)›
  • tag_idsrequired

    string[]

    Tags applied to every created contact: tag_id values from list_tags.
  • contactsrequired

    object[]

    No extra notes.
update_contact#

Update a contact

Writes data

Changes name, phone, tags or custom attributes of one WhatsApp CRM contact; omitted fields stay. tag_ids replaces the whole tag set; to add or remove single tags use add_tags or remove_tags. To stop messages use unsubscribe_contact.

Parameters (7)›
  • contact_idrequired

    string

    A contact_id from search_contacts or find_contact_by_phone.
  • first_name

    string

    No extra notes.
  • last_name

    string

    No extra notes.
  • country_code

    string

    Country calling code digits only, e.g. 91 for India.
  • phone

    string

    Local number or full E.164 without the plus sign.
  • tag_ids

    string[]

    Replaces the whole tag set: tag_id values from list_tags, at least one.
  • attributes

    object

    Custom attribute values keyed by attribute key; list valid keys with list_contact_attributes.
unsubscribe_contact#

Unsubscribe a contact

Writes data

Stops all WhatsApp messages to one contact: broadcasts skip them and single sends refuse them. Use when a customer asks to stop. Only a person in the dashboard can subscribe them again. Safe to repeat.

Parameters (2)›
  • contact_idrequired

    string

    A contact_id from search_contacts or find_contact_by_phone.
  • reason

    string

    Why they asked to stop; kept in the audit trail.
delete_contact#

Delete a contact

Destructive

Removes one contact from the WhatsApp CRM and frees its plan slot. Tags are unlinked; chat history stays. Cannot be undone. To stop messaging someone use unsubscribe_contact instead. Owner or admin keys only.

Parameters (1)›
  • contact_idrequired

    string

    A contact_id from search_contacts or find_contact_by_phone.
list_tags#

List tags

Read only

Every WhatsApp CRM contact tag with its tag_id and how many contacts carry it. Tags group contacts for search_contacts and create_broadcast.

Takes no parameters.

create_tag#

Create a tag

Writes data

Creates a WhatsApp CRM contact tag. If the name exists, returns that tag_id with already_existed: true, so it is safe to repeat.

Parameters (1)›
  • namerequired

    string

    The tag name, e.g. VIP.
rename_tag#

Rename a tag

Writes data

Changes a WhatsApp CRM tag's name everywhere. Fails with DUPLICATE_TAG, carrying existing_tag_id, when another tag has that name.

Parameters (2)›
  • tag_idrequired

    string

    A tag_id from list_tags.
  • namerequired

    string

    The new name.
delete_tag#

Delete a tag

Destructive

Deletes a WhatsApp CRM tag and removes it from every contact. Refuses with TAG_DELETE_WOULD_ORPHAN when some contacts have only this tag; give them another with add_tags first. Owner or admin keys only.

Parameters (1)›
  • tag_idrequired

    string

    A tag_id from list_tags.
add_tags#

Add tags to contacts

Writes data

Adds tags to WhatsApp CRM contacts, keeping the tags they already have. Up to 20 tags and 500 contacts per call. Safe to repeat.

Parameters (2)›
  • tag_idsrequired

    string[]

    tag_id values from list_tags.
  • contact_idsrequired

    string[]

    contact_id values from search_contacts.
remove_tags#

Remove tags from contacts

Writes data

Removes tags from WhatsApp CRM contacts. A contact always keeps at least one tag: refuses with CANNOT_UNASSIGN_LAST_TAG and lists the contacts affected.

Parameters (2)›
  • tag_idsrequired

    string[]

    tag_id values from list_tags.
  • contact_idsrequired

    string[]

    contact_id values from search_contacts.
list_contact_attributes#

List custom contact fields

Read only

Custom fields WhatsApp CRM contacts can carry: key, label, type. Use the key values in the attributes object of create_contact and update_contact.

Takes no parameters.

create_contact_attribute#

Create a custom contact field

Writes data

Adds a custom field to every WhatsApp CRM contact, e.g. "City" (text) or "Renewal date" (date). The key is generated from the label; read it with list_contact_attributes. Owner or admin keys only.

Parameters (2)›
  • labelrequired

    string

    The field name people see.
  • typerequired

    "text" | "number" | "date" | "boolean"

    boolean is a yes/no field.
rename_contact_attribute#

Rename a custom contact field

Writes data

Changes the label of a custom WhatsApp CRM contact field. Its key, type and saved values stay. Owner or admin keys only.

Parameters (2)›
  • attribute_idrequired

    string

    An attribute_id from list_contact_attributes.
  • labelrequired

    string

    The new label.
delete_contact_attribute#

Delete a custom contact field

Destructive

Removes a custom WhatsApp CRM contact field. Saved values stay on contacts but are no longer shown. Cannot be undone. Owner or admin keys only.

Parameters (1)›
  • attribute_idrequired

    string

    An attribute_id from list_contact_attributes.