Version

support.* events

Member support inbox: conversations opened, replied to, assigned and resolved.

Member support inbox: conversations opened, replied to, assigned and resolved. A member who sends your project bot something it does not recognise opens a support conversation. These events are how that traffic reaches a helpdesk, an ops channel or an on-call rota instead of sitting in the dashboard waiting to be noticed.

No support.* payload carries the message body. That is deliberate: webhook deliveries are logged and retried, and member text does not belong in a delivery log. Fetch the body from the support conversations endpoints or with the get_support_conversation MCP tool.

Background

One conversation per member, per channel

There is exactly one conversation per (project, member, channel). It is a durable thread, not a per-session ticket, so:

  • support.conversation.opened fires once per member per channel, ever. Their second message and every message after it raises support.message.received only.
  • Resolving does not close the thread. The next inbound message reopens it and raises support.conversation.reopened.
  • A workflow that wants "every new member question" should listen to support.message.received, not opened.

Example payload

Every support.* event uses the standard envelope and a flat data object of identifiers:

{
  "id": "evt_01HX...",
  "type": "support.message.received",
  "created_at": "2026-08-20T10:05:00Z",
  "api_version": "2026-05-01",
  "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
  "data": {
    "message_id": "6c18f7a3-2e95-4d60-b47a-c093e5182b7f",
    "conversation_id": "9e042b6f-5d81-4c37-a920-7b3e18cf6d45",
    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
    "subscriber_id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",
    "type": "text",
    "has_attachments": false
  }
}

Guarantees

  • The member's message body, their platform identity and any attachment file ids are never in the payload. Resolve them over the API with data.conversation_id.
  • support.message.received and support.conversation.opened both fire on a member's first message, in that order of significance: treat opened as the "new contact" signal and received as the "new question" signal.
  • Internal notes raise no event at all. They are private remarks for your team and never reach the member or a webhook.
  • A message from a blocked member is dropped before any event fires, and cannot reopen a resolved thread.
  • Rate-limited inbound messages are dropped silently. A member flooding the bot produces no event storm.

Required abilities

Tokens subscribing to support.* events must carry support-conversation:view.

Events

How is this guide?

Last updated on

Version

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

For AI agents: llms.txt · llms-full.txt