block_support_contact

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

This silences a real person

Confirm the target conversation_id with a human before calling. The member is not told, their messages vanish at ingestion with no bounce, and they cannot reopen the thread by writing again. The tool is annotated destructive so a client can prompt for confirmation.

Purpose

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.

Required ability

support-conversation:update

Input schema

{
  "type": "object",
  "required": ["conversation_id"],
  "properties": {
    "conversation_id": {
      "type": "string",
      "description": "UUID of the support conversation whose member to block."
    }
  }
}

Output shape

{
  "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.

Example prompts

"Block the member behind support conversation 9e042b6f-5d81-4c37-a920-7b3e18cf6d45; they've sent forty messages of abuse overnight."

"Silence that contact in the support inbox but leave their subscription alone."

"Block them and resolve the thread." (block first, then resolve)

Failure modes

  • 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?

On this page

Subscriby is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request