Conversations

ToolREST endpointAnnotations
list_conversationsGET /v1/conversationsread-only, idempotent
get_conversationGET /v1/conversations/{id}read-only, idempotent
update_conversationPATCH /v1/conversations/{id}write, non-destructive

list_conversations

Lists conversations in the workspace grouped, with pagination and filters by channel, tags, and date range.

FieldTypeDefaultDescription
limit1-20050Conversations per workspace.
offset≥ 00For pagination.
channelIdstringFilters by a specific channel.
sortBy"lastUpdate" \| "creationDate"lastUpdate
sortDirection"asc" \| "desc"desc
tagsstring[] (max 10)Filters by tags.
dateFilterobject{ type: "specific"\|"range", date \| startDate \| endDate }.

get_conversation

Fetches a conversation by ID or by the customer's phone number, including the full message history. Searches across every workspace the API Key has access to.

FieldTypeRequiredDescription
conversationIdstringyesCustomer ID or phone number.
channelIdstringnoRestrict to a specific channel.

update_conversation

Updates owners (owners) and/or status (status) of a conversation. At least one must be sent.

FieldTypeRequiredDescription
conversationIdstringyesID or phone number.
workspacestringif multi-wsWorkspace ID.
channelIdstringnoLimit to a specific channel.
ownersstring[] (emails)one ofNew list of owners.
status"active" \| "finished" \| "expired" \| "spam"one ofNew status.

Example

{
  "name": "update_conversation",
  "arguments": {
    "conversationId": "+521234567890",
    "status": "finished",
    "owners": ["ana@miempresa.com"]
  }
}