Version
READ

list_canned_replies

List a project's saved support replies in the order the creator arranged them, shortcut and body included.

Read the snippets a creator has saved for the questions they answer constantly. Each row carries the full body, the shortcut a creator types in the thread composer to pull the snippet in, and its sort_order — the position in the picker.

Call it before reply_support_conversation so an answer goes out in the creator's own wording rather than a paraphrase. Rows come back sorted by sort_order, then title, exactly as the picker shows them.

Saved replies are authorised with the support-conversation permissions, not permissions of their own: a team member who can read the inbox can read the snippets used to answer it.

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.

Annotations

Read-only

It reads and never changes anything.

Arguments

project_id*string

UUID of the project whose saved replies to list.

What it returns

{  "data": [    {      "id": "5d2f8a71-3c9e-4b06-a8f4-1e7c9d2b6a35",      "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",      "title": "Refund policy",      "body": "Refunds are available within 14 days of your first payment. Reply here with the email you paid with and we'll sort it.",      "shortcut": "refund",      "sort_order": 0,      "created_at": "2026-06-02T09:14:02+00:00",      "updated_at": "2026-08-11T15:40:19+00:00"    }  ],  "meta": {    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",    "total": 4  }}

shortcut is null for a snippet saved without one. The list is not paginated — total is the whole set, and a project with no saved replies returns an empty data array, not an error.

How it fails

RESOURCE_NOT_FOUND

project_id names a project the token cannot see: unknown, another team's, or outside the token's scope:project: allow-list.

AUTHENTICATION_REQUIRED

no authenticated user on the request.

TOKEN_MISSING_ABILITY

token lacks support-canned-reply:view-any.

How is this guide?

Last updated on