Chats
13 tools

Chats tools

Read chats, reply inside the 24-hour window, send a single template, check delivery, open or close chats, and keep private team notes customers never see.

Badges:Read onlyWrites dataSends to WhatsAppDestructive
get_inbox_counts#

Get inbox counts

Read only

Counts of unassigned, mine, open, closed and unread WhatsApp inbox chats. The fastest check for whether anything needs attention.

Takes no parameters.

list_chats#

List inbox chats

Read only

WhatsApp inbox chats with contact, phone, assignee, last message, reply-window state and whether a person still owes the customer a reply (is_awaiting_reply, waiting_minutes). view picks the queue. Narrow to customers who wrote on a day with date (or from_date and to_date), and to unanswered customers with is_awaiting_reply. Read a chat with list_chat_messages; for every message of a day use list_messages.

Parameters (12)›
  • view

    "unassigned" | "mine" | "all" | "closed" | "unread"

    Which queue to read. Default all.Default "all"
  • query

    string

    Contact name or phone.
  • tag_id

    string

    Only chats whose contact carries this tag.
  • assignee_account_id

    string

    Only chats held by this account_id from list_workspace_members.
  • date

    string

    Only chats where the customer sent a message on this day, in timezone: today, yesterday or a date like 2026-10-05.
  • from_date

    string

    Start of a range, inclusive. Give with to_date instead of date; at most 31 days.
  • to_date

    string

    End of a range, inclusive.
  • is_awaiting_reply

    boolean

    true returns only open chats whose latest customer message has no reply from a person after it. Auto-replies, lifecycle messages and broadcasts do not count as replies. Without a date it checks customers who wrote in the last 7 days.
  • timezone

    string

    IANA timezone for the dates, e.g. Asia/Kolkata. Default: the workspace's timezone, else Asia/Kolkata.
  • 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"
get_chat#

Get one chat

Read only

One WhatsApp inbox chat: contact, state, assignee, unread count, tags, reply-window state and whether a person still owes the customer a reply. Read its messages with list_chat_messages.

Parameters (1)›
  • chat_idrequired

    string

    A chat_id from list_chats.
list_chat_messages#

List a chat's messages

Read only

Messages of one WhatsApp chat, oldest to newest within a page, with direction, text, type and status. sender_kind says who wrote each one: customer, team_member, phone, ai_agent or api (a person), or auto_reply, lifecycle_message, broadcast or system (automatic). next_cursor pages back in time.

Parameters (4)›
  • chat_idrequired

    string

    A chat_id from list_chats.
  • 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"
reply_to_chat#

Reply to a chat with text

Sends to WhatsApp

Sends a free-text WhatsApp reply in a chat. Works only while the 24-hour reply window is open (is_reply_window_open from get_chat); after that use reply_to_chat_with_template. Claims an unassigned chat. Reaches a real phone.

Parameters (2)›
  • chat_idrequired

    string

    A chat_id from list_chats.
  • textrequired

    string

    The reply text. WhatsApp formatting such as *bold* works.
reply_to_chat_with_template#

Reply to a chat with a template

Sends to WhatsApp

Sends an APPROVED WhatsApp template in an existing chat; the only way to reach the customer after the 24-hour window closes. variables fill placeholders in order (see get_template). To message someone with no chat use send_template_message. Reaches a real phone and is billed.

Parameters (4)›
  • chat_idrequired

    string

    A chat_id from list_chats.
  • template_namerequired

    string

    An APPROVED template's name from list_templates.
  • language_coderequired

    string

    The template's language code, e.g. en_US.
  • variables

    string[]

    Body placeholder values in order.Default []
update_chat#

Update a chat

Writes data

Changes one WhatsApp chat: assign (needs assignee_account_id from list_workspace_members), claim (take it for this key's owner), release (back to unassigned), close, reopen or mark_read. Safe to repeat.

Parameters (3)›
  • chat_idrequired

    string

    A chat_id from list_chats.
  • actionrequired

    "assign" | "claim" | "release" | "close" | "reopen" | "mark_read"

    No extra notes.
  • assignee_account_id

    string

    Needed for assign: an account_id from list_workspace_members.
list_messages#

List messages across all chats

Read only

Every WhatsApp message on a day or a short range, from all chats at once, grouped by chat with contact name, phone and who wrote each message (sender_kind). Use for 'show me today's chats'; filter with sender_kinds, e.g. ["customer"] for what customers wrote. For one customer's history use list_chat_messages.

Parameters (8)›
  • date

    string

    One day in timezone: today, yesterday or a date like 2026-10-05. Default today.
  • from_date

    string

    Start of a range, inclusive. Give with to_date instead of date; at most 7 days.
  • to_date

    string

    End of a range, inclusive.
  • sender_kinds

    "customer" | "team_member" | "phone" | "ai_agent" | "api" | "auto_reply" | "lifecycle_message" | "broadcast" | "system"[]

    Only messages written by these: customer, team_member, phone, ai_agent, api, auto_reply, lifecycle_message, broadcast, system.
  • timezone

    string

    IANA timezone for the dates and the times shown, e.g. Asia/Kolkata. Default: the workspace's timezone, else Asia/Kolkata.
  • 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

    Messages per page, 1-200. Default 100.Default 100
  • response_format

    "concise" | "detailed"

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

Get delivery status of a sent message

Read only

Delivery status of one sent WhatsApp message (queued, sent, delivered, read, failed) with Meta's error when it failed. Use the message_id a send or reply tool returned.

Parameters (1)›
  • message_idrequired

    string

    The message_id a send or reply tool returned.
send_template_message#

Send a template message to one person

Sends to WhatsApp

Sends one APPROVED WhatsApp template to one person, starting a new message. Give contact_id or a phone. Check placeholders with get_template. Refuses unsubscribed contacts (CONTACT_OPTED_OUT). For an existing chat use reply_to_chat_with_template; for many people use create_broadcast. Reaches a real phone and is billed.

Parameters (6)›
  • contact_id

    string

    A CRM contact. Give this, or country_code and phone.
  • country_code

    string

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

    string

    Local number, without the country code.
  • template_namerequired

    string

    An APPROVED template's name from list_templates.
  • language_coderequired

    string

    The template's language code, e.g. en_US.
  • variables

    string[]

    Body placeholder values in order; the count must match the template's placeholders.Default []
list_notes#

List internal notes

Read only

Private team notes on a WhatsApp chat or CRM contact; never sent to the customer. A chat's list includes notes on its contact.

Parameters (2)›
  • chat_id

    string

    An inbox chat. Give this or contact_id.
  • contact_id

    string

    A CRM contact. Give this or chat_id.
create_note#

Create an internal note

Writes data

Writes a private team note on a WhatsApp chat or CRM contact. The customer never sees it. Use for summaries, hand-over context and reminders.

Parameters (3)›
  • chat_id

    string

    An inbox chat. Give this or contact_id.
  • contact_id

    string

    A CRM contact. Give this or chat_id.
  • textrequired

    string

    The note text.
delete_note#

Delete an internal note

Destructive

Deletes one note from a WhatsApp chat or CRM contact. Authors can delete their own; owner and admin keys can delete any. Cannot be undone.

Parameters (1)›
  • note_idrequired

    string

    A note_id from list_notes.