list_support_conversations
List member support conversations, newest activity first, with optional status / assignee / unread filters.
Purpose
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.
Required ability
support-conversation:view-any
Input schema
{
"type": "object",
"properties": {
"project_id": {
"type": "string",
"description": "Optional project UUID to narrow the result."
},
"status": {
"type": "string",
"enum": ["open", "pending", "snoozed", "resolved"],
"description": "Conversation status filter."
},
"assigned_to": {
"type": "string",
"description": "Only conversations assigned to this team-member user UUID."
},
"unread_only": {
"type": "boolean",
"description": "Only conversations with messages the creator has not opened."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Maximum conversations to return per page (1..100)."
},
"page": {
"type": "integer",
"minimum": 1,
"description": "1-indexed page number."
}
}
}Output shape
{
"data": [
{
"id": "sup_01HX...",
"project_id": "prj_01HX...",
"subscriber_id": "usr_01HX...",
"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
}
}Example prompts
"What support conversations are waiting on me?"
"Show me unread support threads for my Research Premium project."
"List support conversations assigned to nobody."
Failure modes
TOKEN_MISSING_ABILITY— token lackssupport-conversation:view-any.- An empty
dataarray is not an error. It means nothing matched, most often becausestatusdefaulted the caller's expectation — resolved threads are excluded only if you filter foropen.
Caveats
last_message_previewis the raw last message body, which isnullfor a media message with no caption. Anullpreview does not mean an empty conversation.- Results span every project the token can reach unless you pass
project_id. blocked: truemeans inbound messages from that member are being dropped. The thread is history only.
Related
How is this guide?