All articles

Message shortcuts: reusable canned replies

If you find yourself typing the same reply over and over, save it as a message shortcut. Give a canned response a keyword, and you can drop it into any reply by typing ! — no copy-pasting from a doc. Manage them under Settings → Message shortcuts (any teammate can create them).

Creating a shortcut

Click New shortcut and fill in two things:

  • Keyword — the trigger word (the leading ! is added for you). Use lowercase letters, numbers, hyphens, and underscores, up to 40 characters — for example refund or shipping-times.
  • Message — the reply text, written in the same rich-text editor as the composer, so you can format it, add links, and structure it however you like.

There's also an "Available in all workspaces" toggle if you want the shortcut shared org-wide instead of scoped to one workspace. You can create up to 200 shortcuts.

You can also turn an existing reply into a shortcut: use Save as shortcut on a message to seed a new one from its text. (Shortcuts save text only — attachments aren't carried over.)

Using one in a reply

While writing a reply, type ! to open a live-filtered menu of matching shortcuts — keep typing to narrow it, and pick one to insert its full text (the !keyword you typed is replaced). There's also an Insert shortcut button in the composer toolbar if you'd rather browse.

Personalize with placeholders

Shortcuts can include placeholders that fill in automatically when you insert them:

  • {customer.name} · {customer.email} · {customer.external_id}
  • {agent.name} · {workspace.name} · {conversation.id}
  • {metadata.<key>} for any custom field on the conversation

Use the editor's Insert variable menu so you don't have to remember the exact tokens. If a value is missing, {customer.name} gracefully falls back to "there" ("Hi there,") and other unresolved placeholders simply drop out — a canned reply never breaks because a field was empty.

A note on scope

Shortcuts are shared across your workspace (or your whole organization, if you flagged them org-wide), and keywords are unique within that scope — so your whole team pulls from the same, consistent set of saved replies.

Still need help?