HellouOne
Server Details
Customer conversations, contacts, inboxes, agents, automations and reports of a HellouOne account.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Score is being calculated.
Available Tools
120 toolsadd_inbox_memberAdd inbox memberDestructiveInspect
Add an agent to an inbox so they can see and reply to its conversations.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | ||
| inbox_id | Yes |
add_team_memberAdd team memberDestructiveInspect
Add a person to a team.
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | Yes | ||
| user_id | Yes |
assign_a_conversationAssign ConversationDestructiveInspect
Assign Conversation. Assign a conversation to an agent or a team.
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | No | Id of the team; null removes the team. If the assignee_id is present, this param would be ignored | |
| assignee_id | No | Id of the assignee user; null removes the assignee | |
| conversation_id | Yes | The numeric ID of the conversation |
check_whatsapp_flowCheck WhatsApp flowRead-onlyInspect
Run the compliance check on a WhatsApp Flow and read the findings: structure problems (a screen nothing navigates to, a missing footer, text past its limit) and WhatsApp policy problems (asking for card numbers, targeting minors, a category that does not match the content). Each finding names the rule, its severity and the JSON pointer it fired on. publishable is false while any error stands.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| flow_id | Yes |
contactable_inboxes_getGet Contactable InboxesRead-onlyIdempotentInspect
Get Contactable Inboxes. Get List of contactable Inboxes.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the contact | |
| fields | No | Optional: return only these fields of each record. |
contact_add_labelsAdd LabelsDestructiveInspect
Add Labels. Sets the labels of a contact to exactly the list sent: a label left out is removed, so send the current labels with the new ones to keep them.
| Name | Required | Description | Default |
|---|---|---|---|
| labels | No | Array of labels (comma-separated strings) | |
| contact_identifier | Yes | The source id of contact obtained on contact create |
contact_conversationsContact ConversationsRead-onlyIdempotentInspect
Contact Conversations. Get conversations associated to that contact.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the contact | |
| fields | No | Optional: return only these fields of each record. |
contact_filterContact FilterRead-onlyInspect
Contact Filter. Filter contacts with custom filter options and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| fields | No | Optional: return only these fields of each record. | |
| payload | No |
contact_inbox_creationCreate contact inboxDestructiveInspect
Create contact inbox. Create a contact inbox record for an inbox.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the contact | |
| inbox_id | Yes | The ID of the inbox | |
| source_id | No | Contact Inbox Source Id |
conversation_add_labelsAdd LabelsDestructiveInspect
Add Labels. Sets the labels of a conversation to exactly the list sent: a label left out is removed, so send the current labels (from get_conversation) with the new ones to keep them.
| Name | Required | Description | Default |
|---|---|---|---|
| labels | No | Array of labels (comma-separated strings) | |
| conversation_id | Yes | The numeric ID of the conversation |
conversation_filterConversations FilterRead-onlyInspect
Conversations Filter. Filter conversations with custom filter options and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| fields | No | Optional: return only these fields of each record. | |
| payload | No |
conversation_listConversations ListRead-onlyIdempotentInspect
Conversations List. List all the conversations with pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Filters conversations with messages containing the search term | |
| page | No | paginate through conversations | |
| fields | No | Optional: return only these fields of each record. | |
| labels | No | ||
| status | No | Filter by conversation status. | open |
| team_id | No | ||
| inbox_id | No | ||
| assignee_type | No | Filter conversations by assignee type. | all |
conversation_list_metaGet Conversation CountsRead-onlyIdempotentInspect
Get Conversation Counts. Get open, unassigned and all Conversation counts.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Filters conversations with messages containing the search term | |
| fields | No | Optional: return only these fields of each record. | |
| labels | No | ||
| status | No | Filter by conversation status. | open |
| team_id | No | ||
| inbox_id | No |
create_a_custom_filterCreate a custom filterDestructiveInspect
Create a custom filter. Create a custom filter in the account.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The name of the custom filter | |
| query | No | A query that needs to be saved as a custom filter | |
| filter_type | No | Which list the filter applies to - conversations (the default), contacts or reports |
create_a_new_message_in_a_conversationCreate New MessageDestructiveInspect
Create New Message. Create a new message in the conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The content of the message | |
| private | No | Flag to identify if it is a private note | |
| content_type | No | if you want to create custom message types | |
| message_type | No | ||
| conversation_id | Yes | The numeric ID of the conversation | |
| template_params | No | Sends an approved WhatsApp template instead of a free-form message (WhatsApp inboxes only). This is how to reach a contact outside WhatsApp's 24-hour customer service window. `content` is still stored as the message text the agents see. The params are stored on the message under `additional_attributes.template_params`. See **List message templates** for the names and languages available on an inbox. | |
| content_attributes | No | attributes based on your content type |
create_automation_ruleCreate automation ruleDestructiveInspect
Create an automation rule: when EVENT happens and CONDITIONS match, run ACTIONS. The conditions and actions schemas list the exact attribute keys, operators and values each event accepts — use those, not values you have seen elsewhere. Read list_labels / list_agents / list_teams / list_inboxes for the ids and titles an action or condition needs. The assistant cannot create rules that call an external address or send attachments.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| active | No | ||
| actions | Yes | What happens when the rule matches, in order. action_params per action: change_priority → exactly one of low, medium, high, urgent, nil; change_status → exactly one of open, resolved, pending, snoozed; assign_agent → one agent id (list_agents), or the string "nil" to unassign; assign_team → one team id (list_teams), or the string "nil" to unassign; add_label → label titles (list_labels), one or more; remove_label → label titles, one or more; send_message → the message text (one string); send_email_transcript → one string of comma-separated email addresses; mute_conversation → none; snooze_conversation → none; resolve_conversation → none; send_whatsapp_flow → one object: {flow_id (list_whatsapp_flows, published only), flow_cta (the button label, at most 30 characters), body, and optionally header, footer, initial_screen}; send_email_to_team → one object {"team_ids": [ids], "message": "text"}. | |
| conditions | Yes | When the rule applies. Every condition after the first needs a query_operator (and / or); the first has none. attribute_key must be one the event supports: message_created: message_type, content, email, inbox_id, conversation_language, phone_number | conversation_created: status, browser_language, mail_subject, country_code, phone_number, referer, email, inbox_id, conversation_language, priority | conversation_updated: status, browser_language, mail_subject, country_code, referer, phone_number, assignee_id, team_id, email, inbox_id, conversation_language, priority | conversation_opened: browser_language, email, mail_subject, country_code, referer, assignee_id, phone_number, team_id, inbox_id, conversation_language, priority. Operators per attribute: message_type (equal_to/not_equal_to), content (equal_to/not_equal_to/contains/does_not_contain), email (equal_to/not_equal_to/contains/does_not_contain), inbox_id (equal_to/not_equal_to/is_present/is_not_present), conversation_language (equal_to/not_equal_to), phone_number (equal_to/not_equal_to/contains/does_not_contain/starts_with), status (equal_to/not_equal_to), browser_language (equal_to/not_equal_to), mail_subject (equal_to/not_equal_to/contains/does_not_contain), country_code (equal_to/not_equal_to), referer (equal_to/not_equal_to/contains/does_not_contain), priority (equal_to/not_equal_to), assignee_id (equal_to/not_equal_to/is_present/is_not_present), team_id (equal_to/not_equal_to/is_present/is_not_present). Values: status → open, resolved, pending, snoozed; priority → urgent, high, medium, low, nil (no priority); message_type → incoming, outgoing; inbox_id → inbox ids (list_inboxes); assignee_id → agent ids (list_agents); team_id → team ids (list_teams); country_code → ISO 3166-1 alpha-2, e.g. CO, US; browser_language → ISO 639-1, e.g. es, en; conversation_language → ISO 639-1, e.g. es, en; content → text fragments; contains matches any of them; phone_number → E.164, e.g. +573001234567; email → contact email; mail_subject → email subject text; referer → page URL the widget was opened from. A custom attribute (list_custom_attributes) is an attribute_key of its own with custom_attribute_type set; is_present / is_not_present take no values; attribute_changed (conversation_updated only) takes {"from": [...], "to": [...]} objects. | |
| event_name | Yes | ||
| description | No |
create_canned_responseCreate canned responseDestructiveInspect
Create a new canned response (saved reply). short_code is what an agent types after "/" to insert it; content is the text that gets inserted.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | ||
| short_code | Yes |
create_contactCreate contactDestructiveInspect
Create a new contact. A contact needs at least a name; email, phone_number and identifier must each be unique in the account. This does not start a conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| No | |||
| identifier | No | ||
| phone_number | No | E.164, e.g. +573001112233. | |
| custom_attributes | No | Values for the account custom attributes, by key. | |
| additional_attributes | No | Free-form details such as company_name or city. |
create_custom_attributeCreate custom attributeDestructiveInspect
Create a new custom attribute. attribute_key is the permanent identifier used by filters, automations and bots (lowercase letters, digits and underscores); it cannot be changed afterwards. Pass attribute_values for a list.
| Name | Required | Description | Default |
|---|---|---|---|
| regex_cue | No | ||
| attribute_key | Yes | ||
| regex_pattern | No | ||
| attribute_model | Yes | Which record the attribute belongs to. | |
| attribute_values | No | ||
| attribute_description | No | ||
| attribute_display_name | Yes | ||
| attribute_display_type | Yes |
create_kb_documentCreate KB documentDestructiveInspect
Add a knowledge base document the bot will answer from. Provide either content (manual text) or a public source_url to crawl.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| content | No | ||
| category | Yes | ||
| source_url | No |
create_labelCreate labelDestructiveInspect
Create a new conversation label. The title is an identifier: lowercase letters, digits, hyphens and underscores, no spaces. color is a hex value like "#6C6C6C". show_on_sidebar defaults to true, as in the dashboard.
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | ||
| title | Yes | ||
| description | No | ||
| show_on_sidebar | No |
create_macroCreate macroDestructiveInspect
Create a macro: a named sequence of actions an agent runs on a conversation with one click. Call list_agents, list_teams or list_labels first when an action needs an id or a label. visibility global means every agent sees it.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| actions | Yes | Steps the macro runs, in order. action_params per action: change_priority → exactly one of low, medium, high, urgent, nil; change_status → exactly one of open, resolved, pending, snoozed; assign_agent → one agent id (list_agents), the string "self" for whoever runs the macro, or "nil" to unassign; assign_team → one team id (list_teams), or the string "nil" to unassign; add_label → label titles (list_labels), one or more; remove_label → label titles, one or more; send_message → the message text (one string); send_email_transcript → one string of comma-separated email addresses; mute_conversation → none; snooze_conversation → none; resolve_conversation → none; send_whatsapp_flow → one object: {flow_id (list_whatsapp_flows, published only), flow_cta (the button label, at most 30 characters), body, and optionally header, footer, initial_screen}; add_private_note → the note text (one string); remove_assigned_team → none. | |
| visibility | Yes | global (everyone) or personal (only the author). |
create_teamCreate teamDestructiveInspect
Create a team. Team names are stored in lowercase.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| description | No | ||
| allow_auto_assign | No |
create_whatsapp_flow_from_templateCreate WhatsApp flow from templateDestructiveInspect
Open a new WhatsApp Flow draft from a gallery template on the WhatsApp Cloud inbox named. The draft reaches no customer until it is published.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| inbox_id | Yes | ||
| template_slug | Yes |
delete_a_custom_filterDelete a custom filterDestructiveIdempotentInspect
Delete a custom filter. Delete a custom filter from the account.
| Name | Required | Description | Default |
|---|---|---|---|
| custom_filter_id | Yes | The numeric ID of the custom filter |
delete_a_messageDelete a messageDestructiveIdempotentInspect
Delete a message. Delete a message and it's attachments from the conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| message_id | Yes | The numeric ID of the message | |
| conversation_id | Yes | The numeric ID of the conversation |
delete_automation_ruleDelete automation ruleDestructiveIdempotentInspect
Delete an automation rule. Consider toggle_automation_rule instead when the administrator may want it back.
| Name | Required | Description | Default |
|---|---|---|---|
| automation_rule_id | Yes |
delete_canned_responseDelete canned responseDestructiveIdempotentInspect
Delete a canned response. Replies already sent with it are not affected.
| Name | Required | Description | Default |
|---|---|---|---|
| canned_response_id | Yes |
delete_contactDelete contactDestructiveIdempotentInspect
Delete a contact. Its conversations and their messages go with it and cannot be restored. A contact who is online right now cannot be deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| contact_id | Yes |
delete_custom_attributeDelete custom attributeDestructiveIdempotentInspect
Delete a custom attribute. The values already stored on conversations or contacts stop being shown.
| Name | Required | Description | Default |
|---|---|---|---|
| attribute_id | Yes |
delete_kb_documentDelete KB documentDestructiveIdempotentInspect
Delete a knowledge base document and its indexed chunks.
| Name | Required | Description | Default |
|---|---|---|---|
| document_id | Yes |
delete_labelDelete labelDestructiveIdempotentInspect
Delete a label. It disappears from every conversation that carries it and from automations that add it.
| Name | Required | Description | Default |
|---|---|---|---|
| label_id | Yes |
delete_macroDelete macroDestructiveIdempotentInspect
Delete a macro. Conversations it already acted on are not affected.
| Name | Required | Description | Default |
|---|---|---|---|
| macro_id | Yes |
delete_teamDelete teamDestructiveIdempotentInspect
Delete a team. Its members keep their access; conversations assigned to the team lose that assignment.
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | Yes |
delete_whatsapp_flowDelete WhatsApp flowDestructiveIdempotentInspect
Delete a WhatsApp Flow draft. Drafts only: a published flow is retired with deprecate_whatsapp_flow instead, which keeps its history and answers.
| Name | Required | Description | Default |
|---|---|---|---|
| flow_id | Yes |
deprecate_whatsapp_flowDeprecate WhatsApp flowDestructiveInspect
Deprecate a published WhatsApp Flow: it can no longer be sent to customers, while its versions and the answers customers already gave are kept. Only a published flow can be deprecated, and it cannot be brought back — a replacement is a new draft.
| Name | Required | Description | Default |
|---|---|---|---|
| flow_id | Yes |
execute_macroRun a macroDestructiveInspect
Run a macro. Runs a macro's actions on the conversations named, in the background, as the person making the request. The response does not wait for the actions to finish.
| Name | Required | Description | Default |
|---|---|---|---|
| macro_id | Yes | The ID of the macro | |
| conversation_ids | Yes | The conversation numbers (display IDs) to run the macro on. |
get_account_summaryGet account summaryRead-onlyIdempotentInspect
Get the account name, locale, domain, support email, status and enabled features.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
get_agent_reportGet agent reportRead-onlyIdempotentInspect
Per-agent performance over the last N days: conversations handled and average resolution, first response and reply times in seconds. Rows are keyed by agent id — call list_agents to name them.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many calendar days to measure, today included (7 = today and the 6 before; this month = today's day of the month). Defaults to 30. | |
| fields | No | Optional: return only these fields of each record. |
get_assignment_settingsGet assignment settingsRead-onlyIdempotentInspect
Read Settings → Assignment: the agent visibility mode (who sees which conversations), whether auto-assignment only picks agents who are online, whether a customer's thank-you after a resolve keeps the conversation resolved, and the priority tier of every inbox and team member. Call before making any assignment or visibility change.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_bot_schemasDescribe what an AI agent is made ofRead-onlyIdempotentInspect
Describe what an AI agent is made of. Every configuration section, flow step kind and rule condition an AI agent can use, each with English and Spanish labels and its JSON Schema, plus the models an agent may run on and which of the bot features this account has. A form or flow editor can be generated from it without knowing any kind in advance. Administrators only..
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
get_business_profileGet business profileRead-onlyIdempotentInspect
Read what this account has already told us about its business: what it sells, who writes in, the tone it wants, its languages, opening hours and escalation policy. Call this before asking the administrator anything about their business, and before writing or rewriting a bot persona.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
get_callGet a callRead-onlyIdempotentInspect
Get a call. One call from the history. Returns 404 for a call in a conversation you cannot open. Requires feature: whatsapp_calling.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the call | |
| fields | No | Optional: return only these fields of each record. |
get_connectorGet a connectorRead-onlyIdempotentInspect
Get a connector. Returns one connector card with the account's install, if any. Poll this after connecting or changing a connector: attaching it to each bot happens in the background, and install.bots[].status / install.attach_summary show progress. Administrators only. Requires feature: bot_connectors.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Connector identifier from the catalogue, e.g. `hubspot` | |
| fields | No | Optional: return only these fields of each record. |
get_contactGet contactRead-onlyIdempotentInspect
Get one contact with its attributes.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| contact_id | Yes |
get_conversationGet conversationRead-onlyIdempotentInspect
Get one conversation by its number: status, priority, inbox_id, labels, the assignee, team and contact (id and name each, null when unset), unread_count, and created_at / last_activity_at as unix seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| conversation_id | Yes | The conversation number shown in the dashboard. |
get_conversation_reportGet conversation reportRead-onlyIdempotentInspect
Conversation totals for this account over the last N days: conversations, incoming and outgoing messages, resolutions, and average first response / resolution / reply times in seconds. Use it for questions about volume or response times.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many calendar days to measure, today included (7 = today and the 6 before; this month = today's day of the month). Defaults to 30. | |
| fields | No | Optional: return only these fields of each record. |
get_decision_summaryGet decision summaryRead-onlyIdempotentInspect
Summarize the account's AI classifications (short automatic checks of a customer message or a lead) for a date range. use_cases: each account-level use case (fb_lead, consent_intent, sentiment, campaign_reply, inbox_routing, courtesy) with its mode (off, shadow, review, enforce) and the effective mode, capped by platform_mode. bots: AI agents with smart routing on. by_purpose: per use case, ok / failed / skipped (with reason codes) and acted, the number that changed something in the range. bands: per question, how many crossed the bar to act or to ask a person; one conversation can cross several. usage: classifications this billing period and the plan allowance (null = no limit).
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | YYYY-MM-DD. Defaults: the last 30 days. | |
| until | No | YYYY-MM-DD. Defaults: the last 30 days. | |
| fields | No | Optional: return only these fields of each record. |
get_details_of_all_integrationsList all the IntegrationsRead-onlyIdempotentInspect
List all the Integrations. Get the details of all Integrations available for the account.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
get_details_of_a_single_account_agent_botGet an agent bot detailsRead-onlyIdempotentInspect
Get an agent bot details. Get the details of an agent bot in the account.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of the agentbot to be updated | |
| fields | No | Optional: return only these fields of each record. |
get_details_of_a_single_automation_ruleGet a automation rule detailsRead-onlyIdempotentInspect
Get a automation rule details. Get the details of a automation rule in the account.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of the automation rule to be updated. | |
| fields | No | Optional: return only these fields of each record. |
get_details_of_a_single_custom_attributeGet a custom attribute detailsRead-onlyIdempotentInspect
Get a custom attribute details. Get the details of a custom attribute in the account.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of the custom attribute to be updated. | |
| fields | No | Optional: return only these fields of each record. |
get_details_of_a_single_custom_filterGet a custom filter detailsRead-onlyIdempotentInspect
Get a custom filter details. Get the details of a custom filter in the account.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| custom_filter_id | Yes | The numeric ID of the custom filter |
get_inboxGet inboxRead-onlyIdempotentInspect
Get one inbox with its full settings (greeting, business hours, CSAT, auto-assignment) and the AI agent attached to it (agent_bot: id and name, null when none is).
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| inbox_id | Yes |
get_inbox_agent_botShow Inbox Agent BotRead-onlyIdempotentInspect
Show Inbox Agent Bot. See if an agent bot is associated to the Inbox.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the inbox | |
| fields | No | Optional: return only these fields of each record. |
get_inbox_membersList Agents in InboxRead-onlyIdempotentInspect
List Agents in Inbox. Get Details of Agents in an Inbox.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| inbox_id | Yes | The ID of the Inbox |
get_kb_documentGet KB documentRead-onlyIdempotentInspect
Get one knowledge base document including its content.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| document_id | Yes |
get_live_conversation_metricsGet live conversation metricsRead-onlyIdempotentInspect
How many conversations are open right now, and how many of those are unattended, unassigned or pending. A snapshot, not a period: it ignores any date range.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
get_native_bot_definitionGet an AI agent's definitionRead-onlyIdempotentInspect
Get an AI agent's definition. Returns the whole definition of an AI agent (an agent bot of type native) as one document: its agent settings, every configuration section, its handover areas, its pre-AI rules and its tools. Send it back, edited, to the update endpoint together with the version you read. Administrators only. Requires feature: native_bots.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of the agentbot to be updated | |
| fields | No | Optional: return only these fields of each record. |
get_onboarding_stateGet onboarding stateRead-onlyIdempotentInspect
Read the setup checklist: which track the account picked (ai = a bot answers first, human = the team answers), and which steps are done (business profile, inbox, bot on the inbox, team invited, first conversation). Use it to say what is left to set up.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
get_sentiment_reportGet sentiment reportRead-onlyIdempotentInspect
Customer sentiment over the last N days (Reports -> Sentiment), one conversation at a time. summary: conversations read (unread = could not be read, left out of rates), ending_negative_rate, net_sentiment (% closing positive minus % closing negative, -100..100), opened_negative and recovery_rate (of the conversations that opened negative, how many closed neutral or positive), worsened_rate, attention_now. matrix: opening -> closing counts. breakdown.agents credits the outcome to whoever handled the conversation at its last burst (handler bot = the AI agent); judge agents by recovery_rate, never by how many negatives they inherited, and say when a row is low_sample. Also frustration by inbox, flags (asked for a person, churn risk, abusive language, minutes until an agent replied), quality (CSAT by closing sentiment, response and resolution times by opening sentiment) and the conversations that need attention now (attention: the 10 most recently active; summary.attention_now is the total). Sentiment is recorded only when it runs in enforce; all zeros usually means it is off or still in shadow -- say so. Call it "sentimiento" in Spanish, never "ánimo" (frustration levels: tranquilo, molesto, frustrado, hostil). Suggest reviewing the AI agent only when breakdown.agents has a bot row with conversations; a conversation an agent handled or nobody did needs a reply or an assignee, not a bot check.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many calendar days to measure, today included (7 = today and the 6 before; this month = today's day of the month). Defaults to 30. | |
| fields | No | Optional: return only these fields of each record. |
get_teamGet teamRead-onlyIdempotentInspect
Get one team: its name, description and whether conversations are auto-assigned to its members.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| team_id | Yes |
get_team_reportGet team reportRead-onlyIdempotentInspect
Per-team performance over the last N days, same metrics as get_agent_report. Rows are keyed by team id — call list_teams to name them.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many calendar days to measure, today included (7 = today and the 6 before; this month = today's day of the month). Defaults to 30. | |
| fields | No | Optional: return only these fields of each record. |
get_whatsapp_flowGet WhatsApp flowRead-onlyIdempotentInspect
Read one WhatsApp Flow: its screens, the wording inside each component with the JSON pointer it lives at, and the latest compliance report summary. Only wording is returned; the endpoint configuration, handlers and bindings are not. A very large flow is shortened and says so.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| flow_id | Yes |
invite_agentInvite agentDestructiveInspect
Invite a new agent by email. The invitation always uses the agent role; promote later with update_agent_role.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| Yes |
list_agent_botsList agent botsRead-onlyIdempotentInspect
List the AI agents available to this account: id, name, description and type.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
list_agentsList agentsRead-onlyIdempotentInspect
List the agents and administrators of this account (id, name, email, role, availability). Platform staff accounts are not listed. Call before inviting, removing or changing the role of a person, or adding someone to an inbox or team.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
list_all_conversation_statisticsGet Account reportsRead-onlyIdempotentInspect
Get Account reports. Get Account reports for a specific type, metric and date range.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | The Id of specific object in case of agent/inbox/label | |
| type | Yes | Type of report | |
| since | No | The timestamp from where report should start. | |
| until | No | The timestamp from where report should stop. | |
| fields | No | Optional: return only these fields of each record. | |
| metric | Yes | The type of metric. The `mood_*` counts are sentiment events (one per scored burst of customer messages), written only while sentiment runs in `enforce`. |
list_all_filtersList all custom filtersRead-onlyIdempotentInspect
List all custom filters. List the saved filters (custom views) of the person making the request, for one kind of list - conversations by default, or contacts or reports with filter_type.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| filter_type | No | The type of custom filter |
list_all_labels_of_a_contactList LabelsRead-onlyIdempotentInspect
List Labels. Lists all the labels of a contact.
| Name | Required | Description | Default |
|---|---|---|---|
| contact_identifier | Yes | The source id of contact obtained on contact create |
list_all_labels_of_a_conversationList LabelsRead-onlyIdempotentInspect
List Labels. Lists all the labels of a conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| conversation_id | Yes | The numeric ID of the conversation |
list_automation_rulesList automation rulesRead-onlyIdempotentInspect
List the automation rules of this account (event, conditions, actions, active flag).
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
list_callsList callsRead-onlyIdempotentInspect
List calls. WhatsApp call history, newest first. A call is visible exactly when its conversation is: an administrator sees every call in the account, an agent only the calls of conversations their visibility setting lets them open. Filter by contact or conversation to show a customer's call history; pair with the call_started and call_ended webhooks to keep another system in step. Requires feature: whatsapp_calling.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1. | |
| since | No | Calls created at or after this moment — an ISO 8601 timestamp, or a date (`YYYY-MM-DD`) for the start of that day. | |
| until | No | Calls created at or before this moment — an ISO 8601 timestamp, or a date for the end of that day. | |
| fields | No | Optional: return only these fields of each record. | |
| status | No | One status, or several separated by commas. | |
| inbox_id | No | ||
| per_page | No | Calls per page. Values above 100 are treated as 100. | |
| direction | No | `incoming` or `outgoing` (`inbound` and `outbound` are accepted too). | |
| contact_id | No | ||
| conversation_id | No | The conversation's display ID, as in conversation paths. |
list_canned_responsesList canned responsesRead-onlyIdempotentInspect
List the canned responses (saved replies) of this account.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
list_connectorsList connectorsRead-onlyIdempotentInspect
List the external services the account can connect to its bots (CRM, appointments, store, help desk, payments, invoicing, a lookup table): which are connected, on which bots (with the attach status of each), and which actions are enabled. Use it when the administrator asks what the bot can do with an outside service (for example HubSpot, Clientify, Pipedrive, GoHighLevel, DataCRM, Calendly, Cal.com, Shopify, WooCommerce, Zendesk, Freshdesk, Stripe, Mercado Pago, Alegra, Airtable), or whether one is connected; the answer lists every one this account can use. Connecting, replacing a token or disconnecting happens in the Connectors gallery (LIA → Marketplace → Connectors) by the administrator; never ask for an API token in chat and never offer to enter one.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
list_contactsList contactsRead-onlyIdempotentInspect
List the contacts of this account, most recently active first, 15 per page. meta.count is the total — use it to answer "how many contacts do I have" without paging through them. It counts the same contacts the Contacts page shows: those with an email, a phone number or an identifier. A record with only a name is not counted there, so say "contacts with contact details" rather than claiming the account has none.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page of 15 contacts. Defaults to 1. | |
| fields | No | Optional: return only these fields of each record. |
list_conversation_messagesList conversation messagesRead-onlyIdempotentInspect
List the messages of one conversation, oldest first: the latest 20, or with before (a message id) the 20 that came before that message. Each has its content, message_type (incoming, outgoing, activity, template), private (an internal note), the sender's type and name, created_at as unix seconds and its attachments (file_type and data_url).
| Name | Required | Description | Default |
|---|---|---|---|
| before | No | A message id; returns the messages before it. | |
| fields | No | Optional: return only these fields of each record. | |
| conversation_id | Yes | The conversation number shown in the dashboard. |
list_crm_integrationsList CRM integrationsRead-onlyIdempotentInspect
List the CRMs this account can keep in sync on its own (GoHighLevel, HubSpot, Pipedrive, DataCRM): which are connected, what each one syncs (syncing, already in words — say them in the administrator's language), when it last synced, and its last error code (invalid_token / unauthorized = the token was revoked, missing_scopes = it lacks a permission, webhook_failed = CRM edits are not coming back). crm_edits_setup says how CRM edits reach this account: manual = the administrator must paste this account's inbound webhook URL into the CRM (a GoHighLevel workflow or HubSpot app webhook); that URL contains a secret and is shown only on Settings -> Integrations -> CRM -> , so send them there and never write or guess it. It is not the outgoing webhooks of Settings -> Webhooks. automatic = registered by us (Pipedrive) or checked by us every 15 minutes (DataCRM, which has no webhooks); automatic_pending = not registered yet, reconnecting fixes it. This is different from Connectors, which are tools the AI agents use mid-chat. Connecting, changing a token or a switch happens in Settings -> Integrations -> CRM; never ask for a token in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
list_custom_attributesList custom attributesRead-onlyIdempotentInspect
List the custom attributes of this account for one model (conversation_attribute or contact_attribute). Call before creating or changing one, and to learn the attribute_key an automation rule or bot can filter on.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| attribute_model | Yes | Which record the attribute belongs to. |
list_guidesList guidesRead-onlyIdempotentInspect
List the guided tours available on the dashboard: slug, title and description.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
list_inboxesList inboxesRead-onlyIdempotentInspect
List the inboxes (channels) of this account with their settings. Call before changing an inbox or when the admin mentions a channel, WhatsApp number, website widget or inbox by name.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
list_kb_documentsList KB documentsRead-onlyIdempotentInspect
List the knowledge base documents the bot answers from (title, category, source, ingestion status). Call before creating, updating, deleting or re-ingesting a document.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
list_labelsList labelsRead-onlyIdempotentInspect
List the conversation labels of this account.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
list_macrosList macrosRead-onlyIdempotentInspect
List the macros (multi-step agent shortcuts) of this account.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
list_marketplace_templatesList marketplace templatesRead-onlyIdempotentInspect
List the marketplace templates available to this account: ready-made personas, AI agent tools, AI agents and WhatsApp Flows. kind filters to persona, bot_tool, workflow or whatsapp_flow.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| fields | No | Optional: return only these fields of each record. |
list_sentiment_conversationsList conversations by sentimentRead-onlyIdempotentInspect
List conversations by sentiment. The conversations behind a cell of the sentiment report: filter by opening and closing sentiment, a risk flag, worst frustration, who handled it, an agent, an inbox or a team. Same range rules as the report; at most 50, latest first. Administrators only. Requires feature: ai_decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| flag | No | Only conversations with this flag raised. | |
| since | No | Unix timestamp where the range starts. | |
| until | No | Unix timestamp where the range ends. | |
| fields | No | Optional: return only these fields of each record. | |
| closing | No | Closing (latest) sentiment. | |
| handler | No | Who handled it at the last burst. | |
| opening | No | Opening sentiment. With `closing`, only conversations read at least twice. | |
| team_id | No | ||
| inbox_id | No | ||
| assignee_id | No | The agent handling it at the last burst. | |
| frustration | No | Worst frustration reached. |
list_team_membersList team membersRead-onlyIdempotentInspect
List the members of one team (id, name, email, role, availability). Every member is listed, including platform staff accounts that were added to the team.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| team_id | Yes |
list_teamsList teamsRead-onlyIdempotentInspect
List the teams of this account.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. |
list_whatsapp_flowsList WhatsApp flowsRead-onlyIdempotentInspect
List the WhatsApp Flows of this account: Meta's native in-chat forms (appointment booking, lead capture, surveys), each owned by a WhatsApp inbox and either a draft, published, deprecated, blocked or throttled. The administrator manages them at Settings -> WhatsApp Flows. Filter by inbox_id (call list_inboxes first) or by status. Every flow is returned, so the number of rows is the number of flows.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional: return only these fields of each record. | |
| status | No | ||
| inbox_id | No |
list_whatsapp_flow_sessionsList a flow's sessionsRead-onlyIdempotentInspect
List a flow's sessions. The contacts a flow was sent to, newest first. By default only completed sessions — the submissions — dated by when they were submitted; any other status is dated by when the flow was sent. Test sends from the flow editor are left out unless include_test=true. The list carries no answers. Add include=answers to export them: the real values, sensitive ones included, exactly as the conversation's Reveal answers shows them. Every session revealed this way is recorded in the account's audit log under the calling user, so page through only what you need. Answers are removed after the account's retention window; such a session comes back with answers_purged: true. Administrators only. Requires feature: whatsapp_flows.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1. | |
| since | No | Sessions submitted (for `completed`) or sent (otherwise) at or after this moment — an ISO 8601 timestamp, or a date (`YYYY-MM-DD`) for the start of that day. | |
| until | No | Same, at or before this moment; a date means the end of that day. | |
| fields | No | Optional: return only these fields of each record. | |
| status | No | One session status. | completed |
| include | No | `answers` to add each session's submitted answers (audited). | |
| per_page | No | Sessions per page. Values above 100 are treated as 100. | |
| include_test | No | Include sends to test numbers. | |
| whatsapp_flow_id | Yes | ID of the flow |
new_conversationCreate New ConversationDestructiveInspect
Create New Conversation. Creating a conversation requires the source_id of the contact in the target inbox. Create or look it up with the contact inboxes endpoints (POST /contacts/{id}/contact_inboxes, GET /contacts/{id}/contactable_inboxes).
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Specify the conversation whether it's pending, open, closed | |
| message | No | The initial message to be sent to the conversation | |
| team_id | No | Team Id for assigning a conversation to a team | |
| inbox_id | Yes | Id of inbox in which the conversation is created <br/> Allowed Inbox Types: Website, Phone, Api, Email | |
| source_id | Yes | Conversation source id | |
| contact_id | No | Contact Id for which conversation is created | |
| assignee_id | No | Agent Id for assigning a conversation to an agent | |
| custom_attributes | No | The object to save custom attributes for conversation, accepts custom attributes key and value | |
| additional_attributes | No | Lets you specify attributes like browser information |
patch_whatsapp_flow_textPatch WhatsApp flow textDestructiveInspect
Rewrite wording inside a WhatsApp Flow draft, and nothing else. Each patch is a JSON pointer (from get_whatsapp_flow: the component's path plus "/" plus the property, e.g. /screens/0/layout/children/1/label) and the replacement string; at most 20 per call, applied all or nothing. Two things are refused outright, so do not attempt them: a pointer that does not land on a text property (a screen id, an action name, a component type, a payload key) is refused with the path named, and a flow that is not a draft cannot be patched at all — a published flow has to be superseded by a new draft. A value that holds a ${...} reference is a binding, not wording, and is left alone. Always pass the lock_version get_whatsapp_flow returned for this flow: it is what proves the patch was written against the document as it stands, and a patch without one cannot be applied.
| Name | Required | Description | Default |
|---|---|---|---|
| flow_id | Yes | ||
| patches | Yes | ||
| lock_version | Yes |
publish_whatsapp_flowPublish WhatsApp flowDestructiveInspect
Publish a WhatsApp Flow draft: it is uploaded to Meta and becomes sendable to customers. Only a draft can be published, and only when the stored compliance report was run on the draft as it is now and carries no errors — so call check_whatsapp_flow first and fix what it reports. Publishing is not reversible: a published flow is retired with deprecate_whatsapp_flow, not edited.
| Name | Required | Description | Default |
|---|---|---|---|
| flow_id | Yes |
reingest_kb_documentReingest KB documentDestructiveInspect
Re-ingest (re-indexing) a knowledge base document, e.g. after its source page changed or ingestion failed.
| Name | Required | Description | Default |
|---|---|---|---|
| document_id | Yes |
remove_agentRemove agentDestructiveIdempotentInspect
Remove a person from this account. Their conversations stay; they lose access.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes |
remove_inbox_memberRemove inbox memberDestructiveIdempotentInspect
Remove an agent from an inbox.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | ||
| inbox_id | Yes |
remove_team_memberRemove team memberDestructiveIdempotentInspect
Remove a person from a team.
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | Yes | ||
| user_id | Yes |
save_business_profileSave business profileDestructiveIdempotentInspect
Save what the administrator told you about their business. Only the fields you pass change; the rest are left as they are. Write it in the administrator's own words and in their language, not as a summary. Call get_business_profile first so you do not overwrite something that is already right.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | ||
| website | No | ||
| audience | No | ||
| industry | No | ||
| products | No | ||
| languages | No | ||
| description | No | ||
| support_hours | No | ||
| top_questions | No | ||
| escalation_policy | No |
search_contactsSearch contactsRead-onlyIdempotentInspect
Find contacts by name, email, phone number, identifier or company name. Call this before making a change to a contact, to get its id.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page of 15 contacts. Defaults to 1. | |
| query | Yes | ||
| fields | No | Optional: return only these fields of each record. |
set_inbox_botSet inbox botDestructiveInspect
Connect a bot to an inbox, pausing/resuming it (status active|inactive) or disconnecting it (agent_bot_id null with no status).
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | ||
| inbox_id | Yes | ||
| agent_bot_id | No |
toggle_automation_ruleToggle automation ruleDestructiveInspect
Turn an automation rule on or off without changing what it does.
| Name | Required | Description | Default |
|---|---|---|---|
| active | Yes | ||
| automation_rule_id | Yes |
toggle_priority_of_a_conversationToggle PriorityDestructiveInspect
Toggle Priority. Sets the priority of a conversation. none or null clears it.
| Name | Required | Description | Default |
|---|---|---|---|
| priority | Yes | The priority of the conversation; `none` or `null` clears it | |
| conversation_id | Yes | The numeric ID of the conversation |
toggle_status_of_a_conversationToggle StatusDestructiveInspect
Toggle Status. Toggles the status of the conversation between open and resolved.
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | The status of the conversation | |
| conversation_id | Yes | The numeric ID of the conversation |
update_a_custom_filterUpdate a custom filterDestructiveInspect
Update a custom filter. Update a custom filter's attributes.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The name of the custom filter | |
| query | No | A query that needs to be saved as a custom filter | |
| filter_type | No | Which list the filter applies to - conversations (the default), contacts or reports | |
| custom_filter_id | Yes | The numeric ID of the custom filter |
update_agent_roleUpdate agent roleDestructiveInspect
Change the role of a person in this account (agent or administrator).
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | ||
| agent_id | Yes |
update_agents_in_inboxUpdate Agents in InboxDestructiveInspect
Update Agents in Inbox. All agents except the one passed in params will be removed.
| Name | Required | Description | Default |
|---|---|---|---|
| inbox_id | Yes | The ID of the inbox | |
| user_ids | Yes | IDs of users to be added to the inbox |
update_agents_in_teamUpdate Agents in TeamDestructiveInspect
Update Agents in Team. All agents except the one passed in params will be removed.
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | Yes | The ID of the team to be updated | |
| user_ids | Yes | IDs of users to be added to the team |
update_assignment_settingsUpdate assignment settingsDestructiveInspect
Change Settings → Assignment. visibility_mode is a ladder, each rung showing more than the one below: assigned_only, team, team_unassigned, inbox_all, account_all. online_only_assignment makes auto-assignment skip agents who are away (it falls back to everyone eligible when nobody is online). courtesy_after_resolve keeps a conversation resolved when the customer only says thanks or goodbye within courtesy_window_hours (1 to 168) of the resolve -- no reopen, no new conversation, no AI agent reply. inbox_priorities / team_priorities set the tier of a member: 1 takes work first, 10 last, ties round-robin. Only what you pass changes. Read get_assignment_settings first; a visibility change affects every agent in the account.
| Name | Required | Description | Default |
|---|---|---|---|
| team_priorities | No | Priority tiers as { "<parent id>": { "<agent id>": tier } }, tier 1 to 10; 1 takes work first, ties round-robin. | |
| visibility_mode | No | ||
| inbox_priorities | No | Priority tiers as { "<parent id>": { "<agent id>": tier } }, tier 1 to 10; 1 takes work first, ties round-robin. | |
| courtesy_window_hours | No | ||
| courtesy_after_resolve | No | ||
| online_only_assignment | No |
update_automation_ruleUpdate automation ruleDestructiveInspect
Change an automation rule. Send ONLY the fields you are changing: conditions and actions replace the previous ones whole, and the lists you read back have their outgoing addresses hidden, so never resend a list you only read — rebuild it or leave it out.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| active | No | ||
| actions | No | What happens when the rule matches, in order. action_params per action: change_priority → exactly one of low, medium, high, urgent, nil; change_status → exactly one of open, resolved, pending, snoozed; assign_agent → one agent id (list_agents), or the string "nil" to unassign; assign_team → one team id (list_teams), or the string "nil" to unassign; add_label → label titles (list_labels), one or more; remove_label → label titles, one or more; send_message → the message text (one string); send_email_transcript → one string of comma-separated email addresses; mute_conversation → none; snooze_conversation → none; resolve_conversation → none; send_whatsapp_flow → one object: {flow_id (list_whatsapp_flows, published only), flow_cta (the button label, at most 30 characters), body, and optionally header, footer, initial_screen}; send_email_to_team → one object {"team_ids": [ids], "message": "text"}. | |
| conditions | No | When the rule applies. Every condition after the first needs a query_operator (and / or); the first has none. attribute_key must be one the event supports: message_created: message_type, content, email, inbox_id, conversation_language, phone_number | conversation_created: status, browser_language, mail_subject, country_code, phone_number, referer, email, inbox_id, conversation_language, priority | conversation_updated: status, browser_language, mail_subject, country_code, referer, phone_number, assignee_id, team_id, email, inbox_id, conversation_language, priority | conversation_opened: browser_language, email, mail_subject, country_code, referer, assignee_id, phone_number, team_id, inbox_id, conversation_language, priority. Operators per attribute: message_type (equal_to/not_equal_to), content (equal_to/not_equal_to/contains/does_not_contain), email (equal_to/not_equal_to/contains/does_not_contain), inbox_id (equal_to/not_equal_to/is_present/is_not_present), conversation_language (equal_to/not_equal_to), phone_number (equal_to/not_equal_to/contains/does_not_contain/starts_with), status (equal_to/not_equal_to), browser_language (equal_to/not_equal_to), mail_subject (equal_to/not_equal_to/contains/does_not_contain), country_code (equal_to/not_equal_to), referer (equal_to/not_equal_to/contains/does_not_contain), priority (equal_to/not_equal_to), assignee_id (equal_to/not_equal_to/is_present/is_not_present), team_id (equal_to/not_equal_to/is_present/is_not_present). Values: status → open, resolved, pending, snoozed; priority → urgent, high, medium, low, nil (no priority); message_type → incoming, outgoing; inbox_id → inbox ids (list_inboxes); assignee_id → agent ids (list_agents); team_id → team ids (list_teams); country_code → ISO 3166-1 alpha-2, e.g. CO, US; browser_language → ISO 639-1, e.g. es, en; conversation_language → ISO 639-1, e.g. es, en; content → text fragments; contains matches any of them; phone_number → E.164, e.g. +573001234567; email → contact email; mail_subject → email subject text; referer → page URL the widget was opened from. A custom attribute (list_custom_attributes) is an attribute_key of its own with custom_attribute_type set; is_present / is_not_present take no values; attribute_changed (conversation_updated only) takes {"from": [...], "to": [...]} objects. | |
| event_name | No | ||
| description | No | ||
| automation_rule_id | Yes |
update_canned_responseUpdate canned responseDestructiveInspect
Change the short code or the text of a canned response. Only the fields you pass change.
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | ||
| short_code | No | ||
| canned_response_id | Yes |
update_contactUpdate contactDestructiveInspect
Change a contact: its name, email, phone number, identifier or attributes. Only the fields you pass change; custom_attributes you pass are merged with the ones already stored.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| No | |||
| contact_id | Yes | ||
| identifier | No | ||
| phone_number | No | E.164, e.g. +573001112233. | |
| custom_attributes | No | ||
| additional_attributes | No |
update_conversationUpdate ConversationDestructiveInspect
Update Conversation. Update Conversation Attributes.
| Name | Required | Description | Default |
|---|---|---|---|
| priority | No | The priority of the conversation; none or null clears it | |
| conversation_id | Yes | The numeric ID of the conversation |
update_custom_attributeUpdate custom attributeDestructiveInspect
Change the display name, description, values or validation of a custom attribute. The attribute_key and the model cannot change: create a new attribute instead. Only the fields you pass change; a null description clears it.
| Name | Required | Description | Default |
|---|---|---|---|
| regex_cue | No | ||
| attribute_id | Yes | ||
| regex_pattern | No | ||
| attribute_values | No | ||
| attribute_description | No | ||
| attribute_display_name | No | ||
| attribute_display_type | No |
update_inboxUpdate inboxDestructiveInspect
Make changes to an inbox: name, greeting, auto-assignment, CSAT survey, single-conversation lock, business hours flag, timezone or out-of-office message. Only the fields you pass change; null clears the greeting or out-of-office message.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| inbox_id | Yes | ||
| timezone | No | ||
| greeting_enabled | No | ||
| greeting_message | No | ||
| csat_survey_enabled | No | ||
| out_of_office_message | No | ||
| working_hours_enabled | No | ||
| enable_auto_assignment | No | ||
| lock_to_single_conversation | No |
update_kb_documentUpdate KB documentDestructiveInspect
Update the title, category, content or source URL of a knowledge base document. Re-ingestion runs after the change.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| content | No | ||
| category | No | ||
| source_url | No | ||
| document_id | Yes |
update_labelUpdate labelDestructiveInspect
Change a label: its title, description, colour or whether it shows in the sidebar. Renaming a label renames it on every conversation that carries it. Only the fields you pass change.
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | ||
| title | No | ||
| label_id | Yes | ||
| description | No | ||
| show_on_sidebar | No |
update_macroUpdate macroDestructiveInspect
Change a macro. Pass the FULL list of actions you want it to have — actions replace the previous ones, they are not merged. visibility is required, because saving a macro always sets it.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| actions | No | Steps the macro runs, in order. action_params per action: change_priority → exactly one of low, medium, high, urgent, nil; change_status → exactly one of open, resolved, pending, snoozed; assign_agent → one agent id (list_agents), the string "self" for whoever runs the macro, or "nil" to unassign; assign_team → one team id (list_teams), or the string "nil" to unassign; add_label → label titles (list_labels), one or more; remove_label → label titles, one or more; send_message → the message text (one string); send_email_transcript → one string of comma-separated email addresses; mute_conversation → none; snooze_conversation → none; resolve_conversation → none; send_whatsapp_flow → one object: {flow_id (list_whatsapp_flows, published only), flow_cta (the button label, at most 30 characters), body, and optionally header, footer, initial_screen}; add_private_note → the note text (one string); remove_assigned_team → none. | |
| macro_id | Yes | ||
| visibility | Yes | global (everyone) or personal (only the author). |
update_teamUpdate teamDestructiveInspect
Rename a team or changing its description / auto-assignment. Team names are stored in lowercase.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| team_id | Yes | ||
| description | No | ||
| allow_auto_assign | No |
update_widget_appearanceUpdate widget appearanceDestructiveInspect
Set how a website inbox's chat widget looks and behaves: colours, light/dark theme, header style, the screen it opens on, per-language greetings and launcher text, launcher side/icon/offsets, the help-center deflection mode, and whether "Powered by HellouOne" shows (hiding it needs a plan that allows it). Buttons follow brand_color unless the widget has an action_color of its own, so say so when changing it. Installed widgets pick the change up on their next page load. Only the fields you pass change; read get_inbox first.
| Name | Required | Description | Default |
|---|---|---|---|
| theme | No | ||
| inbox_id | Yes | ||
| greetings | No | Language code => {title, tagline}; replaces all greetings. | |
| deflection | No | ||
| brand_color | No | ||
| action_color | No | ||
| header_style | No | ||
| start_screen | No | ||
| launcher_icon | No | ||
| show_branding | No | ||
| launcher_label | No | Language code => launcher text; {} for icon only. | |
| launcher_pulse | No | ||
| launcher_position | No |
update_working_hoursUpdate working hoursDestructiveInspect
Set the business hours of an inbox: one entry per weekday (0 = Sunday … 6 = Saturday), each either closed_all_day, open_all_day, or an open/close time. Send all seven days — the schedule replaces the previous one. Pair it with update_inbox working_hours_enabled to actually apply the schedule, and with out_of_office_message for what customers see outside them.
| Name | Required | Description | Default |
|---|---|---|---|
| inbox_id | Yes | ||
| working_hours | Yes |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
120 tool updates
- First observed
add_inbox_member - First observed
add_team_member - First observed
assign_a_conversation - First observed
check_whatsapp_flow - First observed
contact_add_labels - First observed
contact_conversations - First observed
contact_filter - First observed
contact_inbox_creation - First observed
contactable_inboxes_get - First observed
conversation_add_labels - First observed
conversation_filter - First observed
conversation_list - First observed
conversation_list_meta - First observed
create_a_custom_filter - First observed
create_a_new_message_in_a_conversation - First observed
create_automation_rule - First observed
create_canned_response - First observed
create_contact - First observed
create_custom_attribute - First observed
create_kb_document - First observed
create_label - First observed
create_macro - First observed
create_team - First observed
create_whatsapp_flow_from_template - First observed
delete_a_custom_filter - First observed
delete_a_message - First observed
delete_automation_rule - First observed
delete_canned_response - First observed
delete_contact - First observed
delete_custom_attribute - First observed
delete_kb_document - First observed
delete_label - First observed
delete_macro - First observed
delete_team - First observed
delete_whatsapp_flow - First observed
deprecate_whatsapp_flow - First observed
execute_macro - First observed
get_account_summary - First observed
get_agent_report - First observed
get_assignment_settings - First observed
get_bot_schemas - First observed
get_business_profile - First observed
get_call - First observed
get_connector - First observed
get_contact - First observed
get_conversation - First observed
get_conversation_report - First observed
get_decision_summary - First observed
get_details_of_a_single_account_agent_bot - First observed
get_details_of_a_single_automation_rule - First observed
get_details_of_a_single_custom_attribute - First observed
get_details_of_a_single_custom_filter - First observed
get_details_of_all_integrations - First observed
get_inbox - First observed
get_inbox_agent_bot - First observed
get_inbox_members - First observed
get_kb_document - First observed
get_live_conversation_metrics - First observed
get_native_bot_definition - First observed
get_onboarding_state - First observed
get_sentiment_report - First observed
get_team - First observed
get_team_report - First observed
get_whatsapp_flow - First observed
invite_agent - First observed
list_agent_bots - First observed
list_agents - First observed
list_all_conversation_statistics - First observed
list_all_filters - First observed
list_all_labels_of_a_contact - First observed
list_all_labels_of_a_conversation - First observed
list_automation_rules - First observed
list_calls - First observed
list_canned_responses - First observed
list_connectors - First observed
list_contacts - First observed
list_conversation_messages - First observed
list_crm_integrations - First observed
list_custom_attributes - First observed
list_guides - First observed
list_inboxes - First observed
list_kb_documents - First observed
list_labels - First observed
list_macros - First observed
list_marketplace_templates - First observed
list_sentiment_conversations - First observed
list_team_members - First observed
list_teams - First observed
list_whatsapp_flow_sessions - First observed
list_whatsapp_flows - First observed
new_conversation - First observed
patch_whatsapp_flow_text - First observed
publish_whatsapp_flow - First observed
reingest_kb_document - First observed
remove_agent - First observed
remove_inbox_member - First observed
remove_team_member - First observed
save_business_profile - First observed
search_contacts - First observed
set_inbox_bot - First observed
toggle_automation_rule - First observed
toggle_priority_of_a_conversation - First observed
toggle_status_of_a_conversation - First observed
update_a_custom_filter - First observed
update_agent_role - First observed
update_agents_in_inbox - First observed
update_agents_in_team - First observed
update_assignment_settings - First observed
update_automation_rule - First observed
update_canned_response - First observed
update_contact - First observed
update_conversation - First observed
update_custom_attribute - First observed
update_inbox - First observed
update_kb_document - First observed
update_label - First observed
update_macro - First observed
update_team - First observed
update_widget_appearance - First observed
update_working_hours
Related MCP Connectors
Manage AI assistants, history, calls, campaigns, contacts, knowledge, messaging, and automations.
Manage HelpCrunch chats, customers, agents and knowledge-base articles.
- InventOAuthcom.useinvent
Your customer inbox, contacts, AI assistants, broadcasts and tables, from any AI app.
Manage Teletype support conversations, customers, messages, and workspace settings
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceWhatsApp, Instagram, Telegram, SMS, Messenger & email in one AI-ready inbox. Manage conversations, send omnichannel messages, run campaigns, sync contacts, and query your knowledge base — 42 tools over a hosted, OAuth-secured MCP server.1MIT
- AlicenseNot gradedqualityBmaintenanceExposes the full Chatwoot API as 129 tools for AI assistants, enabling account, contact, conversation, message, inbox, team, report, help center, automation, and custom attribute management, plus exclusive Kanban and scheduled message features.4 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables to search, view, and interact with Intercom contacts and conversations, including sending customer-visible replies and internal notes.MIT
- AlicenseNot gradedqualityBmaintenanceEnables reading customer-support conversations, inboxes, and service performance from the Help Scout Inbox API.20 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.