Version
READ

list_support_conversations

List member support conversations, newest activity first, with optional status / assignee / unread filters.

Triage the support inbox. Returns one row per conversation, newest activity first, each carrying the member's name, unread count and a preview of the last message — enough to decide what needs answering without a follow-up call per row.

Use get_support_conversation once you know which thread to open.

Member names and message previews are returned verbatim. Scrub them before forwarding anywhere outside the conversation with the creator.

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

Runs the same action as

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Annotations

Read-only

It reads and never changes anything.

Arguments

project_idstringoptional

Optional project UUID to narrow the result.

statusstringoptional

Conversation status filter. One of: open, pending, snoozed, resolved

openpendingsnoozedresolved
assigned_tostringoptional

Only conversations assigned to this team-member user UUID.

unread_onlybooleanoptional

Only conversations with messages the creator has not opened.

limitintegeroptional

Maximum conversations to return per page (1..100).

min1max100
pageintegeroptional

1-indexed page number.

min1

What it returns

{  "data": [    {      "id": "9e042b6f-5d81-4c37-a920-7b3e18cf6d45",      "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",      "subscriber_id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",      "member_name": "Jane Doe",      "channel": "telegram",      "status": "open",      "assigned_to_user_id": null,      "unread_count": 2,      "blocked": false,      "last_message_at": "2026-08-20T10:05:00Z",      "last_message_preview": "My invite link expired before I could join"    }  ],  "meta": {    "page": 1,    "limit": 25,    "total": 7,    "has_more": false  }}

How it fails

TOKEN_MISSING_ABILITY

token lacks support-conversation:view-any.

An empty data array is not an error. It means nothing matched, most often because status defaulted the caller's expectation — resolved threads are excluded only if you filter for open.

Caveats

  • last_message_preview is the raw last message body, which is null for a media message with no caption. A null preview does not mean an empty conversation.
  • Results span every project the token can reach unless you pass project_id.
  • blocked: true means inbound messages from that member are being dropped. The thread is history only.

How is this guide?

Last updated on