> ## Documentation Index
> Fetch the complete documentation index at: https://developer.chatsyncs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What the assistant can do — tool reference

> The complete list of the 43 ChatSyncs abilities (tools) an AI assistant gets through the MCP server, covering sending messages, creating and checking templates, managing subscribers, labels, custom fields, sequences, deals, bot flows and catalog orders, and looking up the public ChatSyncs documentation and video lessons, with which only read data and which are marked destructive. Also covers the read-only setup and how to switch individual abilities off in your AI app. Use when a customer asks what the AI assistant can do, why an action isn't available, or how to stop it deleting or sending things.

These are the **43 abilities** your assistant gains once ChatSyncs is connected. You never call
them by name — you ask in plain English and the assistant picks. They're listed so you know
what's possible.

<Info>
  **Reading the table.** *Read* means it only looks something up and changes nothing.
  *Destructive* means it removes or blocks something, so your AI app is told to ask for a
  firmer confirmation. Everything else writes or sends.
</Info>

## Messaging

| Ability | What it does | Type |
| - | - | - |
| `send_text_message` | Sends a plain text WhatsApp message | send |
| `send_template_message` | Sends an approved template, by name, filling in its variables, any button link and the reply each quick-reply button runs — the only way to reach someone after 24 hours | send |
| `send_interactive_buttons` | Sends a message with up to 3 tappable reply buttons | send |
| `send_file` | Sends an image, video, audio file or document | send |
| `upload_media` | Uploads a file to WhatsApp and returns a reusable id | write |
| `get_conversation` | Reads the recent message history with a contact, as short readable lines | read |
| `get_message_status` | Checks whether a message was delivered or read | read |
| `list_templates` | Lists your message templates, their variables, and which can be sent from here | read |
| `create_template` | Creates a new message template (a normal message, a one-time passcode or a carousel) and submits it to WhatsApp for approval | write |
| `get_template_status` | Checks live whether a template is approved, still in review or rejected, with the reason and what to do next | read |
| `list_postbacks` | Lists the button ids configured on your number, the replies a template's quick-reply buttons can run | read |
| `list_bot_flows` | Lists your chatbot flows | read |
| `trigger_bot_flow` | Starts one of your chatbot flows for a contact | write |

<Warning>
  `send_text_message`, `send_file` and `send_interactive_buttons` only reach someone who messaged
  you in the last **24 hours**. Outside that window, use an approved template — see
  [Understanding conversations and their types](https://help.chatsyncs.com/docs/template-pricing-by-category).
</Warning>

## Contacts

| Ability | What it does | Type |
| - | - | - |
| `get_subscriber` | Looks up one contact's details | read |
| `list_subscribers` | Lists your contacts, optionally with the most recent activity first | read |
| `create_subscriber` | Adds a new contact | write |
| `update_subscriber` | Changes a contact's name, gender or labels | write |
| `delete_subscriber` | Permanently deletes a contact and their history | **destructive** |
| `mark_conversation_status` | Resolves, reopens, archives, or blocks a conversation | **destructive** |
| `assign_chat_to_team_member` | Hands a conversation to a colleague | write |
| `add_subscriber_note` | Adds an internal note only your team can see | write |
| `reset_user_input_flow` | Unsticks someone stuck mid-way through a bot form | write |

## Labels, fields and sequences

| Ability | What it does | Type |
| - | - | - |
| `list_labels` | Lists your labels and their ids | read |
| `create_label` | Creates a new label | write |
| `assign_labels` | Tags a contact with one or more labels | write |
| `remove_labels` | Takes labels off a contact | **destructive** |
| `list_custom_fields` | Lists the custom fields on your account | read |
| `assign_custom_fields` | Stores values like city or order number on a contact | write |
| `assign_sequences` | Enrols a contact in a follow-up sequence | write |
| `list_sequences` | Lists your follow-up sequences and their ids | read |
| `remove_sequences` | Removes a contact from a sequence, stopping pending messages | **destructive** |

## Team

| Ability | What it does | Type |
| - | - | - |
| `list_team_members` | Lists your colleagues, their roles, and whether each is active | read |
| `list_team_roles` | Lists the roles a colleague can have and what each can use | read |

## Deals (CRM)

| Ability | What it does | Type |
| - | - | - |
| `get_crm_overview` | Shows a contact's deal: stage, value, owner, lead score and status | read |
| `update_crm_overview` | Creates a deal or changes its stage, value, owner, lead score or close date | write |

## Shop and orders

| Ability | What it does | Type |
| - | - | - |
| `list_catalogs` | Lists your connected product catalogs | read |
| `sync_catalog` | Pulls the latest products in from Meta | write |
| `list_orders` | Lists orders placed through your WhatsApp catalog | read |
| `update_order_status` | Moves an order to Approved, Completed, Shipped, Delivered or Refunded | write |

## Help and documentation

These look up ChatSyncs' own public help — the same guides and video lessons published on
help.chatsyncs.com, and the API and MCP docs on developer.chatsyncs.com. They never touch your
account or your data, so the assistant can answer "how do I…?" questions accurately instead of
guessing.

| Ability | What it does | Type |
| - | - | - |
| `list_documentation` | Lists every ChatSyncs guide and video lesson, with exact totals so the assistant can tell it has seen everything | read |
| `search_documentation` | Finds the guides and lessons that mention a phrase | read |
| `read_documentation` | Reads the full text of guides and the full transcripts of video lessons | read |

## Account

| Ability | What it does | Type |
| - | - | - |
| `get_account_info` | Shows your plan, usage and connected WhatsApp numbers | read |

## Limiting what the assistant can do

You can't get a read-only API key, but you have two other controls:

* **In your AI app.** Most apps let you switch individual abilities off or require approval
  for each one. Claude: **Customize → Connectors → ChatSyncs**. ChatGPT: the app's details page
  in its settings. VS Code: **Configure Tools** in the chat box. Cline: leave `autoApprove`
  empty.
* **A read-only server.** ChatSyncs can run a setup that offers only the **20 read abilities**
  above and no way to send or change anything. It's a separate server rather than an option on
  `mcp.chatsyncs.com`; contact ChatSyncs support if you need it.

## Frequently asked

<AccordionGroup>
  <Accordion title="Why is there no 'send to everyone' ability?">
    Deliberately. The Developer API has no bulk-send endpoint, so a broadcast would mean the
    assistant messaging people one at a time — slow, and easy to get badly wrong at scale. Use
    [Broadcasting](https://help.chatsyncs.com/docs/send-bulk-whatsapp-messages) in
    ChatSyncs, which is built for it.
  </Accordion>

  <Accordion title="Why won't the assistant send some of my templates?">
    A few kinds cannot be sent from here, and the assistant tells you which and why before
    sending anything: **carousel** templates, templates with an **image, video or document
    header**, and templates whose variables are **not mapped** in ChatSyncs. Send those from
    ChatSyncs itself. Text templates, with or without variables, work.
  </Accordion>

  <Accordion title="What if a template has variables?">
    The contact's first name fills itself in. For anything else, such as an order total, the
    assistant asks you for the value, and it will not send until it has one — otherwise
    ChatSyncs would deliver a dash in its place. That includes the end of a button's link: for a
    **Pay Now** button that opens `https://example.com/` plus an invoice reference, the assistant
    asks for the reference and adds it to the link.
  </Accordion>

  <Accordion title="What if a template has quick-reply buttons?">
    A quick-reply button runs one of your bot replies when the customer taps it, so before it
    sends, the assistant asks which reply each button should run, for example *Chat with robot*
    or one of your own keyword-reply flows, and shows you the choices from your account. You can
    skip it: the message is still delivered, but tapping its buttons then starts no bot reply,
    and the assistant tells you so.
  </Accordion>

  <Accordion title="Can the assistant create a message template?">
    Yes. Tell it what the message should say and it drafts the template, shows it to you, and
    submits it to WhatsApp once you agree. It can make a normal marketing or utility message
    (with a header, footer and buttons), a one-time-passcode message, or a carousel of image or
    video cards. A new template **cannot be sent until WhatsApp approves it**, so the assistant
    then checks its status for you. It cannot edit or delete a template, so to change one it
    creates a corrected copy under a new name. Product carousels, which are built from your
    catalog, still have to be created in ChatSyncs.
  </Accordion>

  <Accordion title="How do I know if my new template was approved?">
    Ask the assistant. It checks live with WhatsApp and tells you whether the template is
    approved, still in review, or rejected, and if it was rejected, why and what to change. A
    template can be approved by WhatsApp and still not be sendable from here if its variables are
    not mapped in ChatSyncs. The assistant says so when that is the case.
  </Accordion>

  <Accordion title="Can it work with contacts that have no phone number?">
    Yes, for looking up and organising them: where an ability asks for a number, you can give a
    contact's chat id as the contact list shows it, such as `BD.2035698430387918`. Sending a
    message still needs a real phone number.
  </Accordion>

  <Accordion title="Do I need to know my phone_number_id?">
    No. If your account has one WhatsApp number it's used automatically. With several, the
    assistant lists them and asks which you mean.
  </Accordion>

  <Accordion title="What happens if I hit my plan limit?">
    The assistant shows you the same message the API returns, for example *"Subscriber limit has
    been exceeded."* Nothing is sent, and nothing is charged.
  </Accordion>

  <Accordion title="Can I stop the assistant from deleting things?">
    The four destructive abilities are marked so your AI app asks more firmly before running
    them. To rule them out entirely, switch `delete_subscriber`, `mark_conversation_status`,
    `remove_labels` and `remove_sequences` off in your AI app. See
    [Limiting what the assistant can do](#limiting-what-the-assistant-can-do).
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.