Macros and canned responses — the inbox reply library
Every reply an agent sends more than once belongs in the reply library. The inbox has two levels of it:- Canned responses — single reusable replies. An agent types the shortcut into the composer, and the stored body replaces it. Use them for answers that stay one message: hours, pricing, refund policy, password reset.
- Macros — multi-step actions. One macro can send a reply, tag the contact, assign the conversation, set its status, schedule a follow-up message, and open a task — in sequence, with automatic rollback if a step fails. Use them whenever “reply” is really “reply plus three more things.”
Where each library lives
Everything below happens around Inbox.Access scopes — personal vs shared
Every macro and every folder carries a scope that decides who can see and who can change it. The rules are the same as saved views and routing rules elsewhere in the workspace:- Personal — belongs to the agent who created it. Only that agent (or an owner/admin) can edit, delete, or run it. Nobody else sees it in their palette.
- Team (shared) — visible to the whole workspace. Only owners and admins can create, edit, or delete a shared macro. Optionally narrow a shared macro to one or more teams, so it renders only for active members of those teams; owners and admins always see the full library.
Organize with folders
Folders group macros into collapsible sections in the inbox palette. Manage them on Inbox → Settings → Macros from the Folders card:- Enter a name in the new-folder field, pick Personal or Team, and save.
- Rename or delete a folder from the same card. Deleting a folder never deletes its macros — they fall back to the unfiled bucket.
- Assign a macro to a folder inside the macro editor; an unassigned macro stays unfiled and is filterable through the folder filter in the library.
Build a macro
Open Inbox → Settings → Macros and create a macro. Each macro has a name, an optional description, and a shortcut — a slash trigger likerefund the slash-command palette matches. Shortcuts are unique: two shared macros cannot share one, and two of your own personal macros cannot either.
A macro is an ordered list of steps. Add steps, drag them into order with the grip handle (or use the Move up/down buttons), and remove the ones you do not need. The available step types:
Steps run in order. If a step fails, the run reports the failed step and rolls back the reversible steps that already ran — a half-applied macro does not leave the conversation tagged, reassigned, and snoozed around a message that never sent. A few validation rules the editor enforces up front: an empty message body is not savable, one macro cannot set two conflicting priorities or two dispositions, and nothing can snooze a conversation an earlier step already closed.
Running a macro requires a full agent seat. Light seats can read the library but not fire billable steps. Message-sending steps consume credits the same way a hand-typed reply does.
Variables and placeholders
Message bodies template on mustache-style variables so one shared macro renders correctly for every operator and every contact:
Anything that does not resolve renders as an empty string — a typo shows up as a missing word in the editor’s live preview, not as a literal
{{...}} in a customer-facing message. The editor renders the preview against a sample contact while you type, so verify the placeholders before saving.
Per-locale message bodies
The body of a Send message or Schedule follow-up step can carry one version per language. The editor defaults to tabs for English, Spanish, and French; the English body is the required fallback. When the macro runs, it picks the body that matches the conversation’s detected language — falling back to the contact’s stored language, then to English — so one “refund policy” macro serves a multilingual queue.Channel-specific canned responses
A canned response can be scoped to a channel — SMS, WhatsApp, email — or left channel-agnostic. The composer only offers entries valid for the open conversation’s channel: the channel-specific entries for that channel plus the channel-agnostic ones. Scope a response to SMS when the body must fit a segment budget, and keep the longer version scoped to email.Apply from the composer
Three entry points, all on the open conversation:- Macro palette — the palette attached to the composer lists the macros visible to you, grouped by folder, with your most-used macros ranked by your own recent run count.
- Slash command —
/template <name-or-shortcut>— press/with a conversation open, then pick the macro from the filtered list. - Canned response shortcut — type the entry’s slash shortcut into the composer text and the stored body replaces it.
+2h) converted to exact timestamps — with zero side effects until you confirm. This is the operator’s last check before a run that sends messages and bills credits; use it. Once fired, re-running the same macro against the same conversation inside 30 seconds is debounced, so a double click cannot double-send.
Example: a refund-policy macro
A support team handles refund questions across SMS and WhatsApp. The owner builds a shared macro named Refund policy with the shortcut/refund, filed under a team folder called Policies:
- Send message — English body:
Hi {{contact.first_name}}, our refund policy: full refunds within 30 days of purchase, no questions asked. {{agent.signature}}— with a Spanish body on theestab:Hola {{contact.first_name}}, nuestra política de reembolso: reembolso completo dentro de los 30 días de la compra. {{agent.signature}} - Add tag —
refund-explained. - Snooze —
+2d, so the thread reopens if the customer does not reply. - Set disposition — the
refund-policylabel from the workspace taxonomy.
- An agent who wants the same chain for themselves only creates it as a personal macro — visible and runnable by that agent alone.
- A team lead narrows a shared macro to the support team, so refund-handling templates never clutter the sales team’s palette.
- The workspace owner publishes the macro shared with no team narrowing — every agent can run it, and only owners and admins can change the wording once legal has reviewed it.