In day-to-day customer service work, efficiency and consistency are central factors. Macros are one of the most effective tools in Zendesk for supporting this. Macros are not just "canned replies" or standard responses, but predefined sequences of actions that can be carried out with a single click. This can turn manual and repetitive processes into quick and consistent actions, which frees up time for agents and ensures a consistent experience for the customer.
A macro can insert a reply, update fields, add tags, change priority, apply specific forms, assign the case to the right person or group and send notifications – all in a single action. This guide goes through how macros can be used to optimise workflows.
What is a macro?
A macro is a shortcut to a series of actions to be carried out on a ticket. Instead of performing each action manually – writing a reply, changing the status, adding a tag, assigning the case – the actions can be combined into a single macro. When an agent applies the macro, Zendesk executes all the defined actions in order.
Typical actions a macro can perform include:
-
Communication:
- Inserting an internal note (for agents)
- Inserting a public reply (to the customer)
-
Ticket updates:
- Changing the status (e.g. to
Pending,Solved,Open) - Setting the priority (e.g.
High,Low,Urgent) - Adding or removing tags
- Assigning the case to a specific agent or group
- Changing the status (e.g. to
-
Structure and data:
- Applying a specific form to structure the data
- Filling in or updating custom fields
-
Notifications:
- Sending an email notification to a specific person or group
Macro vs. canned reply: the crucial difference
It is important to distinguish between a simple "canned reply" and a macro. Both can reuse text, but their functionality and use are significantly different.
| Property | Canned Reply (standard response) | Macro |
|---|---|---|
| Functionality | Only inserts static text. | Performs text insertion and a range of other actions. |
| Automation | None. Requires manual copying/pasting. | Full. A single click triggers the whole sequence of actions. |
| Efficiency | Saves a few seconds. | Saves several minutes per case. |
| Consistency | Risk of agents forgetting to update fields. | Ensures consistent behaviour every time. |
| Data quality | No influence on data. | Improves data quality by ensuring fields/tags are filled in. |
In short: A canned reply is a piece of text. A macro is a mini workflow.
The anatomy of a macro
To build effective macros, it is important to know the three primary components.
1. Actions
Actions are the core of the macro and define what should happen. As many actions as needed can be added.
Examples of actions:
- Add comment: "Hi {{ticket.requester.first_name}}, thank you for your enquiry regarding {{ticket.title}}. The case has been received, and we will follow up within 24 hours."
-
Set status:
Pending -
Set priority:
High -
Add tags:
invoice,exported,follow_up_needed -
Assign:
Group: Billing -
Set custom field:
Product: Enterprise Plan
2. Restrictions
Restrictions control who can see and use macros. This ensures that the relevant tools are available to the relevant teams.
- All agents: The macro is available to everyone in Zendesk.
- Just me: A personal macro that only the individual user can see and use.
- Specific groups: The macro is only visible to agents in selected groups (e.g. "Technical Support" or "Sales").
3. Availability
Availability defines where in Zendesk the macro can be used. By default, macros are available in the ticket editor, but their visibility can be limited to specific apps or contexts as needed.
Practical examples of macros
Below are concrete examples of macros for common scenarios.
1. Standard reply macro (first enquiry)
Purpose: To confirm receipt of a new enquiry and place it in the queue.
Actions:
- Add comment (public): "Hi {{ticket.requester.first_name}}, thank you for your enquiry. The case has been received and will be handled as soon as possible. You can expect a reply within 24 hours. Kind regards, [Our Company]"
- Set status: "Pending"
- Add tags: "first_response", "awaiting_review"
2. Escalation macro
Purpose: To escalate a critical case to management and ensure visibility.
Actions:
- Set priority: "Urgent"
- Add tags: "escalated", "management_review"
- Assign: "Group: Management"
- Add comment (internal): "The case has been escalated due to [insert reason]. The customer is particularly dissatisfied, and a quick solution is needed."
- Set custom field: "Escalation reason: Customer satisfaction"
3. Macro for requesting additional information
Purpose: To ask the customer for more information and put the case on hold.
Actions:
- Add comment (public): "Hi {{ticket.requester.first_name}}, in order to help you as effectively as possible, we need some additional information. We would like a screenshot of the error as well as details of which browser is being used. The case will be put on hold until we receive a reply."
- Set status: "Pending"
- Add tags: "awaiting_customer", "info_needed"
4. Solution macro with feedback request
Purpose: To close a case and proactively request feedback.
Actions:
- Add comment (public): "Hi {{ticket.requester.first_name}}, we can confirm that the problem has now been solved. If you have any further questions, you are welcome to create a new case. We would appreciate it if you could take a moment to give feedback on your experience here: [link to survey]."
- Set status: "Solved"
- Add tags: "resolved", "feedback_sent"
- Set custom field: "Solution type: Standard"
Best practices for macros
To get the most out of macros, the following basic principles should be followed.
1. Keep comments professional and personal
- Avoid robotic language: Wording should come across as natural and targeted, without being too formal or generic.
-
Use placeholders: Replies can be made more personal by using
{{ticket.requester.first_name}}and other dynamic fields. - Provide value: The reply should be helpful and make the next step clear.
2. Harness the power of placeholders
Placeholders make macros dynamic and personal. The most common are:
-
{{ticket.requester.first_name}}- The customer's first name -
{{ticket.requester.last_name}}- The customer's surname -
{{ticket.requester.email}}- The customer's email -
{{ticket.title}}- The ticket's title -
{{ticket.id}}- The ticket's unique ID -
{{assignee.name}}- The name of the assigned agent -
{{ticket.custom_field_XXXXX}}- The value of a custom field (replace XXXXX with the field's ID)
3. Combine actions for maximum efficiency
The strength of macros lies in the combination of actions. Instead of a macro that only inserts text, the whole workflow should be considered:
-
Reply + status + tag: A reply to the customer should typically be combined with a status change (e.g.
PendingorSolved) and relevant tags. - Assignment + priority + notification: When escalating, the case should be assigned, the priority raised, and a notification sent in one combined action.
4. Organise macros logically
When there are many macros, organisation is crucial. Macros can be grouped by:
- Purpose: E.g. "Solution", "Escalation", "Information", "Status update".
- Team: E.g. "Billing", "Technical Support", "Sales".
- Product/service: When supporting several products, macros can be created per product.
5. Document macros
An internal wiki or documentation page can be created that describes:
- What each macro does.
- When it should be used.
- Any specific conditions.
This supports the onboarding of new agents and contributes to consistent use.
Macros vs. triggers vs. automations
It is important to know the difference between the three primary automation tools in Zendesk.
| Tool | Trigger | Execution | Purpose | Example |
|---|---|---|---|---|
| Macro | Manually by an agent | Manual | To give agents a shortcut for complex, repetitive actions. | An agent clicks "Solve invoice case" to close the case and add a standard reply. |
| Trigger | Event-based (e.g. ticket is created, updated) | Instant | To enforce business rules and ensure consistency from the start. | When a ticket is created with the word "urgent", the priority is automatically set to "High". |
| Automation | Time-based (based on conditions) | Scheduled (every hour) | To handle tickets over time that have not been updated. | If a ticket has the status "Pending" for more than 48 hours, a reminder is sent to the customer. |
In short: Macros are used for agent-driven actions, triggers for immediate reactions to events, and automations for time-based tasks.
Troubleshooting macros
Even well-designed macros can present challenges. Below are common problems and their solutions.
-
Problem: The macro does not work for an agent.
- Solution: Check the macro's restrictions. Does the agent have access? Is the macro shared with the agent's group?
-
Problem: Placeholders such as
{{ticket.requester.first_name}}are not displayed correctly.- Solution: Check the syntax (double curly brackets). Make sure the data exists (e.g. whether the customer has a first name).
-
Problem: An action in the macro is not carried out (e.g. a field is not updated).
- Solution: Check the agent's permissions. Does the agent have permission to edit the field in question? A macro cannot perform actions beyond the permissions the user has.
-
Problem: The macro is hard to find.
- Solution: Review the naming convention and organisation. Use clear and consistent names, e.g. "SOLVED - Standard feedback" or "INFO - Request screenshot".
Getting started: next steps
Macros are an investment in efficiency and customer experience. The following action plan can be used to get started:
- Identify repetitive tasks: Observe agents and identify the most manual and time-consuming workflows. Which actions are often repeated?
- Prioritise and build: Start with 3-5 macros that cover the most common scenarios, focusing on the greatest time saving.
- Test thoroughly: Have a selection of agents test the macros in a sandbox environment or on real cases to ensure that the actions work as expected.
- Implement and train: Roll out the macros to the relevant teams. Hold a short meeting or produce a video showing how and when they are used.
- Iterate and optimise: Macros are not static. Gather feedback from agents and update them on an ongoing basis to ensure relevance and effect.
By mastering macros, the quality of customer service can be increased, response times reduced, and agents supported with effective tools in their daily work.