Support Inbox API
The support inbox is where a member who writes to your project bot something it does not recognise ends up: one durable support conversation per (project, member, channel), the saved replies your team answers with, and the project's support settings that decide whether the inbox is open, how you hear about a new thread and how replies are signed.
The support inbox is where a member who writes to your project bot something it does not recognise ends up: one durable support conversation per (project, member, channel), the saved replies your team answers with, and the project's support settings that decide whether the inbox is open, how you hear about a new thread and how replies are signed. Replies sent through this API reach the member on their channel, prefixed with the project's support name so they read as coming from a person rather than the bot.
Background
Conversations
The conversation routes are not nested under a project. One call gives you the queue across every project the token can reach; pass project_id to narrow it. A token confined to other projects is refused with 403 FORBIDDEN.
Saved replies
A saved reply (a canned reply, in the route names) is a reusable snippet a creator keeps for the support inbox: an opening-hours line, a refund policy, the "your link expired, here is how to get a new one" answer. Each has a shortcut the creator types in the thread composer to pull it in, and a sort_order that is its position in the picker.
The saved-reply endpoints let an integration mirror that picker: read the creator's wording before answering with the reply endpoint, or keep the set in sync from a knowledge base. They run the same actions the inbox uses, so the permission checks and the order the creator arranged are the dashboard's. A token whose holder's team role lacks the support permission on the project is refused with 403 TOKEN_MISSING_ABILITY.
Settings
Every project carries a handful of settings for its support inbox: whether members can open a conversation at all, how the creator hears about a new one, the name replies are signed with, the acknowledgement a member gets on their first message, and whether the creator is emailed. They are columns on the project, so reading them takes only project:view and changing them runs the same action as the inbox's settings modal.
The settings abilities are the project abilities, not support-conversation:*: the settings decide how a project behaves, so the token that may read or change the project may read or change them. A token whose holder's team role may not update the project is refused with 403 TOKEN_MISSING_ABILITY.
Endpoints
/v1/support/conversationsList support conversationsGET/v1/support/conversations/{conversation}Get a support conversationGET/v1/support/conversations/{conversation}/messagesList a conversation's messagesGET/v1/projects/{project}/support/canned-repliesList a project's saved repliesPOST/v1/projects/{project}/support/canned-repliesCreate a saved replyGET/v1/projects/{project}/support/canned-replies/{reply}Get a saved replyPATCH/v1/projects/{project}/support/canned-replies/{reply}Update a saved replyDELETE/v1/projects/{project}/support/canned-replies/{reply}Delete a saved replyGET/v1/projects/{project}/support/settingsGet a project's support settingsPATCH/v1/projects/{project}/support/settingsUpdate a project's support settingsPOST/v1/support/conversations/{conversation}/resolveResolve a support conversationPOST/v1/support/conversations/{conversation}/assignAssign a support conversationPOST/v1/support/conversations/{conversation}/reopenReopen a support conversationPOST/v1/support/conversations/{conversation}/blockBlock a support contactPOST/v1/support/conversations/{conversation}/unblockUnblock a support contactRelated
How is this guide?
Last updated on