Version
DESTRUCTIVE

block_support_contact

Drop every further support message from the member behind a thread. They get no indication, and their subscription is untouched.

Stop a member's support traffic. Everything they send from now on is dropped at ingestion, before it reaches the inbox; nothing is queued and nothing is stored. Their history stays on the thread.

The block lives on the thread, not on the member, so it silences support only. The member keeps their subscription, their group access and every other bot interaction. To take access away, call kick_member or ban_member instead — blocking is for someone who is abusing the inbox, not someone who should no longer be a member.

Emits support.conversation.blocked when the block is placed. Idempotent: blocking an already-blocked member changes nothing and emits nothing.

Blocking does not resolve the thread. It stays in whatever status it had, so call resolve_support_conversation as well if it should leave the open queue. A blocked member's messages can never reopen it; only reopen_support_conversation can.

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

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

Delivered to every endpoint subscribed to it once the change is made.

Annotations

DestructiveIdempotent

A client that honours annotations asks a person before running it. Sending the same arguments twice changes nothing the second time.

Arguments

conversation_id*string

UUID of the support conversation whose member to block.

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": null,    "unread_count": 3,    "blocked": true,    "first_response_at": null,    "resolved_at": null  }}

blocked: true is the only field this call changes. The unread count stays as it was — the messages already received are still there to read.

How it fails

VALIDATION_FAILED

the token's owner is on the project's team but their role lacks the support permission on it.

RESOURCE_NOT_FOUND

unknown conversation_id, another creator's thread, or a project outside the token's scope:project: allow-list.

AUTHENTICATION_REQUIRED

no authenticated user on the request.

TOKEN_MISSING_ABILITY

token lacks support-conversation:update.

How is this guide?

Last updated on