assign_support_conversation
Hand a support thread to one team member, or take it back off everyone. Advisory — it never stops anyone else replying.
Set who owns the answer on a thread. Assignment feeds the Assigned to Me tab in the creator's inbox and says who is responsible; it does not lock the thread, and anyone on the team with support-conversation:update can still reply.
The assignee must be someone who can actually open the thread: the project owner, or a member of the team the project belongs to. Any other account is refused rather than stored, so a token can never park a thread on a user who would never see it. Omit assignee_user_id, or pass null, to clear the assignment.
Emits support.conversation.assigned on every call, with assigned_to_user_id: null when the assignment was cleared.
Idempotent in effect, not in events. Assigning the same person twice leaves
the row exactly as it was, but the event fires again each time — deduplicate
on the event id if you post notifications downstream.
Requires ability
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.
Fires one event
Delivered to every endpoint subscribed to it once the change is made.
Annotations
A client that honours annotations asks a person before running it. Sending the same arguments twice changes nothing the second time.
Arguments
conversation_id*stringUUID of the support conversation to assign.
assignee_user_idstringoptionalUUID of the project owner or a team member to hand the thread to. Omit or pass null to unassign.
What it returns
{ "data": { "id": "9e042b6f-5d81-4c37-a920-7b3e18cf6d45", "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13", "channel": "telegram", "status": "open", "assigned_to_user_id": "4b7c9d21-3e58-4f16-8a02-6d9e5c1b7f34", "unread_count": 2, "blocked": false, "first_response_at": null, "resolved_at": null }}The same row get_support_conversation returns under its conversation key, so a thread reads the same before and after the change. assigned_to_user_id is a team member's user id — a different namespace from the member's project_user_id.
How it fails
VALIDATION_FAILEDassignee_user_id is not a UUID or names no account (No user found with that id.), or the account is neither the project owner nor on its team (That person is not on this project's team.). Also returned when the token's owner is on the team but their role lacks the support permission on the project.
RESOURCE_NOT_FOUNDunknown conversation_id, another creator's thread, or a project outside the token's scope:project: allow-list. The three are indistinguishable on purpose.
AUTHENTICATION_REQUIREDno authenticated user on the request.
TOKEN_MISSING_ABILITYtoken lacks support-conversation:update.
Related
How is this guide?
Last updated on
Support Tools
The support inbox holds one durable conversation per member and channel, the saved replies a team answers with, and the project's support settings.
block_support_contact
Drop every further support message from the member behind a thread. They get no indication, and their subscription is untouched.