conversations
H

Hisham

Last updated on Oct 6, 2026

A macro is a named list of actions, run in order, on one conversation, because a person pressed it.

Think of the sequence your team repeats without thinking. Escalating: raise the priority, hand it to the right team, tag it, leave a note explaining why. Four separate clicks in four separate places, done slightly differently by each agent, several times a day. A macro makes it one.

When to use one

When the same group of actions always goes together, and a person decides when. That decision is the whole point of a macro — it waits for judgement, and then does the mechanical part perfectly.

When not to use one

  • When nobody needs to decide. If the trigger is an event rather than a judgement, you want an automation rule. Macros or automation? is the full comparison.
  • When it is only a message. One reply and nothing else is a canned response.
  • When it needs to wait for the customer's answer. A macro runs its actions and stops. A conversation that branches on what the customer says is a job for the flow builder.

What a macro can do

Fifteen actions, in any order, repeated as often as you like:

Group Actions
Ownership assign an agent, assign a team, remove the assigned agent, remove the assigned team
Classification add a label, remove a label, change priority
Status resolve, snooze, mute
Messages send a message, add a private note, send an attachment, send an email transcript
Elsewhere send a webhook event

Two of these are worth calling out.

"Assign an agent" offers Self. It means whoever presses the macro, not a named person — so one macro works for the whole team.

"Snooze" in a macro sets no time. It snoozes until the customer's next reply. If you want a timed snooze, do it by hand.

Steps

  1. Go to Settings → Macros → Add macro. You can start from a ready-made macro in the starter gallery, or build one action at a time.
  2. Name it for what it achieves, not for what it does: "Escalate to management" reads better in a list than "Priority + assign + label".
  3. Add actions. They run top to bottom, and you can drag them into order.
  4. Choose Private (only you) or Public (everyone in the account).
  5. Save.

To run it: open a conversation and press the macro in the panel beside it, or type # in the composer and pick it. Either way you see the list of actions before it runs.

A worked example

A customer's question needs the manager, and your team has been handling this inconsistently.

  1. Create a macro called Escalate to management:
    • change priority to high
    • assign team management
    • add label complaint-escalated
    • add private note: "Escalated. Please review and reply."
  2. Make it Public so the whole team has it.
  3. An agent reading a complaint presses it once. The conversation is now high priority, owned by management, findable later by its label, and carries a note saying what happened.

The agent still decided this was an escalation. The macro removed the four chances to forget a step.

Who can do this

Private macro Public macro
Agent create, edit, delete, run run only
Administrator their own create, edit, delete, run

An agent choosing "Public" when they create a macro gets a private one instead — this is enforced on the server, not only hidden in the interface. Public macros are an account-wide standard, so changing them is an administrator's call.

The order macros appear in beside a conversation is yours: drag them, and your own arrangement is remembered. It does not change what anyone else sees.

Limits

  • A macro has no conditions and no branches. Every action runs every time. If an action should only happen sometimes, make two macros.
  • A macro cannot read or change a store order. There is no commerce action. What it can do is route an order question to the people who can open the store — see Commerce.
  • A failed action is not reported. Actions are attempted one at a time, and if one cannot complete the rest still run. You will not get an error. Check the conversation afterwards the first few times you run a new macro.
  • "Send a message" obeys WhatsApp's rules. A macro that sends ordinary text on a WhatsApp conversation outside the 24-hour window does not deliver that message, although the rest of the macro still runs. See the WhatsApp 24-hour window.
  • Mute does more than mute. The mute action resolves the conversation and blocks the contact. Do not put it in a macro your team runs casually.
  • If a macro resolves the conversation and your account requires certain conversation attributes before resolving, you are asked for them. Dismissing that prompt still runs the macro, but leaves the conversation unresolved.
  • Messages and notes in a macro are fixed text, with one exception: variables in double braces, such as {{contact.first_name}}, are filled in when the message is sent, exactly as in a canned response.

Related

If it does not work

The macro is not in the panel. It is somebody else's private macro, or it has not been created yet.

Nothing visible happened. Macros run in the background. Reload the conversation. If it still looks untouched, one of the actions could not complete — most often assigning an agent who is not a member of that channel, or adding a label that does not exist in Settings.

I cannot edit a public macro. Only administrators can. Ask one, or copy the actions into a private macro of your own.