Workflows vs Macros in Zoho Desk: Key Differences, Use Cases & Best Practices

Workflows vs Macros in Zoho Desk: Key Differences, Use Cases & Best Practices

Workflows vs Macros in Zoho Desk: Choosing the right help desk automation
InfoThis post is part of the "Desk Automation Series," Chapter 1. Through this series, we will help you choose the right automation type in Zoho Desk by comparing commonly confused automations through real scenarios and business processes, so you can clearly see what to use, when, and why.


When you are running support at scale, not every task should be handled manually, and not every action should be fully automated either. Some steps need to happen instantly in the background, while others are better left to agents after they review the ticket.

That is exactly where workflows and macros in Zoho Desk make a difference.

In simple terms, workflows are meant for automatic actions based on ticket data, whereas macros help agents complete repeated actions faster after reviewing the ticket.

This guide will help you understand the difference between the two, so you can decide:

  • what your system should handle automatically 
  • what your agents should trigger while working on a ticket 
Quote


Workflows run automatically when defined criteria are met, while macros are applied by agents as they work on a ticket.

Workflows  

Workflows help businesses bring structure, accountability, and momentum to support operations. When defined conditions are met, Zoho Desk executes actions automatically in the background, enabling teams to handle volume with more control, fewer process gaps, and stronger execution quality.

How workflows work  :

A workflow consists of three parts:

When — the trigger
 (ticket created, ticket edited, field update, etc)

If — the criteria

(The criteria used to filter records that meet specific conditions)

Then — the actions
(update fields, assign tickets, send notifications, change status, call custom functions)

Once active, the workflow runs for tickets that meet its criteria.


When to use workflows
  

Use workflows when:

  • An action must run whenever specific conditions are met
  • The action should not depend on an agent remembering to do it
  • Needs to be ensured that the same action is taken for every similar scenario
  • Trigger actions the moment conditions are met, without waiting for manual input 
  • Reduce operational load and keep processes moving without adding effort 
  • Keep critical actions running reliably in the background 

Typical examples:

  • Assigning tickets based on category or department
  • Setting priority for specific customer types
  • Updating fields when a ticket is modified
  • Reassigning tickets to another team based on defined rules
  • Using Zia actions in the workflow to predict field values from ticket context or extract details such as order IDs, dates, or product names and map them to ticket fields. 

Macros  

Macros allow agents to perform multiple actions on a ticket in a single click. They are available inside the ticket and are applied manually. These operations can be performed on mass tickets as well.

Macros help your agents complete repeated actions quickly, with better speed and consistency, once they know what the ticket needs.


How macros work
  

A macro can:

  • Update fields
  • Send an alert
  • Add tasks
  • Execute custom functions
  • Move ticket to specific department

When to use macros  

Use macros when:

  • Agents need to perform the same manual actions across similar tickets
  • The ticket needs to be reviewed before any action is applied
  • The same set of actions needs to be applied to multiple tickets at once
  • The next set of actions depends on a deeper understanding of the ticket context 

Typical examples:

  • Applying a follow-up response after troubleshooting
  • Ticket transfer to a different department based on agent’s manual interpretation
  • Sending emails and updating ticket fields in a single manual action 
  • Creating follow-up tasks while updating ticket details after review 
  • Applying the same set of field updates across similar tickets  

Macros help agents complete routine updates without performing each step manually.

Key differences at a glance  

Feature

Workflows

Macros

Primary purpose

Automate actions based on predefined conditions to reduce manual effort and standardize processes.

Enable agents to execute a set of actions (emails, tasks, field updates) together after reviewing a ticket.

Triggered by

System-driven events such as ticket creation, updates, replies, or specific field changes.

Manually triggered by agents from within tickets or in bulk view.

Agent involvement

Not required

Required for every execution

How actions are executed

Runs automatically in the background when conditions are met

Runs as per manually selected action

Best suited for

Routing tickets, updating fields, sending alerts, and handling rule-based or event-driven actions

Applying repeated actions such as sending acknowledgement emails, creating tasks, and updating fields during ticket handling

Decision basis

Based on ticket data, conditions, and system events

Based on agent review and ticket context

Choosing the right automation tool  

Use a workflow when:  

  • The action must always run for certain tickets 
  • The criteria matches the ticket context 
  • The action is triggered by ticket events such as creation, updates, or replies 

Use a macro when:  

  • Agents perform the same set of actions frequently 
  • The action is applied after reviewing the ticket 
  • The update depends on agent confirmation before execution

A practical scenario  

Let’s look at how both tools work together in a realistic business scenario using a fictional organization, Zylker Travel.

Zylker Travel handles support for hotel bookings, holiday packages, cancellations, airport transfers, and special stay requests.


New ticket created for a booking with check-in within 24 hours  

Use: Workflow

When the ticket is created and the check-in date falls within the next 24 hours, the workflow:

  • Sets the priority to High
  • Assigns the ticket to the urgent reservations team
  • Sends an internal notification

This happens automatically based on ticket data.


Customer asks to cancel a reservation

Use: Macro

The agent:

  • Reviews the booking type
  • Confirms eligibility
  • Applies the cancellation macro

The macro:

  • Send an email alert to the customer 
  • Update the ticket status 
  • Update a refund-related field, such as refund percentage, if that is available as a ticket field 
  • Move the ticket to the Finance department for the next step
     

Special request completed (late check-out, airport transfer, or room upgrade)  

Use: Macro

After confirming the request is fulfilled, the agent applies a closure macro that:

  • Sends the confirmation message
  • Updates the status to Closed

 

Refund request crosses a defined value threshold

Use: Workflow
When a ticket is created or updated and the refund amount exceeds a defined threshold, the workflow can:

  • Set the priority to High 
  • Assign the ticket to a senior support or finance queue 
  • Notify the relevant internal team 

This is a workflow because the action is based on ticket data and should happen consistently without waiting for agent action.


Manual transfer after review  

Use: Macro

Sometimes, the right department cannot be determined from the initial ticket data alone. After reviewing the conversation, the agent can apply a macro that:

  • then moves the ticket to the right department 
  • creates a follow-up task 


Booking upgrade request
  

A customer asks to upgrade a confirmed booking.

Use: Workflow and Macro

Workflow:

When the ticket is created with upgrade or booking modification, the workflow can:

  • Assign it to the booking changes team 
  • Set priority based on travel date 
  • Add or update tags for categorization (for example, “Upgrade request”) 
  • Send an internal notification to the team 
  • Update initial ticket fields such as request type or category 

Macro:
After the agent checks availability and pricing, they can apply a macro to:

  • Send the upgrade response 
  • Update the ticket status to Waiting for customer confirmation
  • Update review-based ticket fields such as upgrade status
  • Move the ticket to the next department if required

Why both:
The workflow handles routing and priority automatically. The macro helps the agent complete the response after review.


Workflows vs Macros in common business scenarios  

Scenario

Best-suited automation

Why

Order status replies in e-commerce

Macro

The agent selects the reply after reviewing the ticket

Internal approval escalation for refunds

Workflow

Based on defined criteria

Closing resolved tickets with a standard note

Macro

Triggered when the agent confirms resolution

Follow-up message after troubleshooting

Macro

Sent after agent confirmation


Guidelines for quick selection
  

  • A rule must always run when defined conditions are met Workflow
  • Routing based on ticket data or ticket events Workflow
  • The action is triggered by ticket events such as creation, update, or reply Workflow
  • Repeated manual ticket actions Macro
  • An action needs to be applied after the agent reviews the ticket Macro
  • The next step depends on agent judgment or confirmation Macro

Best practices  

For workflows  

  • Keep conditions specific and business-driven
  • Avoid multiple workflows updating the same field unless required
  • Document the purpose of each workflow
  • Test in a limited scope before enabling for all tickets
  • Review workflows after process changes

For macros  

  • Create team-specific macros
  • Keep response templates easy to edit
  • Use clear naming so agents can find them quickly
  • Remove unused macros periodically
  • Do not use macros for actions that must run automatically


The verdict  

In Zoho Desk, workflows bring control. Macros bring speed.

Put them together, and you get the best of both worlds: structured automation for your business, effortless execution for your teams, and a smoother experience for every customer.

    • Sticky Posts

    • Register for Zoho Desk Beta Community

      With the start of the year, we have decided to take a small step in making the life of our customers a little easier. We now have easy access to all our upcoming features and a faster way to request for beta access. We open betas for some of our features
    • Share your Zoho Desk story with us!

      Tell us how you use Zoho Desk for your business and inspire others with your story. Be it a simple workflow rule that helps you navigate complex processes or a macro that saves your team a lot of time; share it here and help the community learn and grow with shared knowledge. 
    • Tip #1: Learn to pick the right channels

      Mail, live chat, telephony, social media, web forms—there are so many support channels out there. Trying to pick the right channels to offer your customers can get pretty confusing. Emails are most useful when the customer wants to put things on record. However, escalated or complicated issues should not be resolved over email because it's slow and impersonal.  When you need immediate responses, live chat is more suitable. It's also quick and convenient, so it's the go-to channel for small issues. 
    • Welcome to Zoho Desk Community - Say hello here!

      Hello everyone! Though we have been here for a while, it’s time to formally establish the Zoho Desk Community; we’re really happy to have you all here! This can be the place where you take a moment to introduce yourself to the rest of the community. We’d love to hear all about you, what you do, what company or industry you work for, how you use Zoho Desk and anything else that you will like to share! Here’s a little about me. I am Chinmayee. I have been associated with Zoho since 2014. I joined here
    • Webinar 1: Blueprint for Customer Service

      With the launch of a host of new features in Zoho Desk, we thought it’ll be great to have a few webinars to help our customers make the most of them. We’re starting off with our most talked about feature, Blueprint in Zoho Desk. You can register for the Blueprint webinar here: The webinar will be delivered by our in-house product experts. This is a good opportunity to ask questions to our experts and understand how Blueprint can help you automate your service processes. We look forward to seeing
    • Recent Topics

    • Mastering Zia Match Scores | Let's Talk Recruit

      Feeling overwhelmed by hundreds of resumes for every job? You’re not alone! Welcome back to Let’s Talk Recruit, where we break down Zoho Recruit’s features and hiring best practices into simple, actionable insights for recruiters. Imagine having an assistant
    • Insert Template not inserting

      I have been using the "Insert Template" feature for years and I use it every single working day. Yesterday it was working fine. Today, on two different browsers (Chrome and Edge), I can select "Insert Template", select the template I want to insert, but
    • Option for - CSV Export from Pipeline Deals by Stage (Including Products, Companies, and Contacts)

      I would like to know when we will be able to export a simple CSV file from pipeline deals, with the option to select a specific stage within the pipeline. This export should include data for products, companies, and contacts, all in a single view. For
    • What is the difference between workflows, journeys, and blueprints?

      I semi-understand what they are individually but they all say they can be used to automate processes in your CRM. What makes these three different? What are the benefits and cons of using each?
    • Free webinar! Simplify hiring and HR workflows with Zoho Sign for Zoho People & Zoho Recruit

      Hello! Managing recruitment, onboarding, and employee paperwork doesn’t have to be complex or time-consuming. Discover how Zoho Sign, integrated with Zoho People and Zoho Recruit, helps you digitize and streamline your document workflows from hire to
    • Multiple Blueprints on different fields at the same time.

      It looks only 1 Blueprint can run at the same time, it makes sense for many Blueprints on the same field (Eg. Stage). But what about multiple Blueprints on "different" fields? the multiple options must be available. (Eg. Stage, Documents Status, Contract
    • Edit 'my' Notes only

      The permissions around Notes should be more granular, and allow to user to be able to edit the notes he created only. The edit Notes permission is useful as it allows the user to correct any mistakes or add information as needed. However, with this same
    • Need to make a specific canvas my default view for contacts

      Need to make a specific canvas my default view for contacts How do I do it?
    • Add Zia matching jobs on the main screen of candidates module

      It will be good if it is added in the main screen as a column so that we can quickly hover over and see if they match for any job openings. That will save from two additional clicks
    • Domain Disclaimer: A standardized footer for your entire organization

      Every email sent from an organization represents its identity externally. Most teams require consistent line of text at the bottom of outgoing messages. It can be a confidentiality notice, a legal statement, a compliance requirement, or a uniform sign-off.
    • SalesIQ Email Delivery Issues to Microsoft

      Is anyone else having delivery issues to Hotmail, Outlook, and Live inboxes when sending transcripts and replies via email from SalesIQ? We’ve detected that emails sent from SalesIQ to these accounts aren't arriving—they don’t even bounce back; they simply
    • Zia flags the deal as at risk - but leaves my customers figuring out the rest themselves

      I implement Zoho for many businesses. Team sizes vary, some clients have 3 reps, some have 40. But I keep hearing the same complaint across all of them and I figured it's worth raising here. Zia's deal scoring has genuinely improved over the past year.
    • How do we change system field names?

      I found some very old discussions, but looking for more recent. Very confused on mapping the addresses correctly, due to different names for some reason between. for example: leads: city, state, zip etc... as normal contacts: Mailing adddress & Other
    • Remove "Subject" as a required field on Quotes

      Currently, when you create a quote in CRM, the field "Subject" is mandatory. The properties of a system defined field cannot be edited which means we cannot de-select the mandatory requirement. A 'subject' on a quote is a little vague and not something
    • Adding Multiple Products (Package) to a Quote

      I've searched the forums and found several people asking this question, but never found an answer. Is ti possible to add multiple products to a quote at once, like a package deal? This seems like a very basic function of a CRM that does quotes but I can't
    • Unattended - Silent

      How can I hide the tray icon / pop up window during unattended remote access for silent unattended remote access?
    • What is the Potential field for in expense submissions?

      I'm trying out Zoho Expense in Zoho Project so I can record project expenses which aren't time related. On the expense form there is an option called Potential but I don't understand what this is for. When I click the dropdown it just shows the name of
    • Pasting Images in Zoho Desk ignores cursor location

      My team has reported an issue which started recently where when we paste an image into a new or existing reply or comment, the pasted image seems to ignore the current cursor location instead paste itself at the last character present in the reply/comment,
    • how do i add more than one google my business location?

      they are connected to one account, but while connecting social channels it makes me pick one location. I have 3 and growing.
    • Control Fields on Mobile App

      On the mobile app, how do we control which fields appear on the screen for records that have a related list? In the example below I want the Inspection Stage and Inspection Type fields to appear, not the record owner (Dev Admin). I changed the Inspections
    • Unable to switch existing AWS RDS connection to DataBridge after moving RDS behind VPN

      Hi everyone, I’m facing a problem with an existing Zoho Analytics setup and would like to know the best migration path. Originally, my Zoho Analytics connection to AWS MySQL RDS was configured using direct public access to the RDS endpoint. Everything
    • Hotmail

      I am sending an email to a hotmail, and this guy does not receive the email, either in his SPAM nor inbox. Can you help me? thanks!
    • No Ability to Rename Record Template PDFs in SendMail Task

      As highlighted previously in this post, we still have to deal with the limitation of not being able to rename a record template when sent as a PDF using the SendMail Task. This creates unnecessary complexity for what should be a simple operation, and
    • Updating Sales orders on hold

      Surely updating irrelevant fields such as shipping date should be allowed when sales orders are awaiting back orders? Maybe the PO is going to be late arriving so we have to change the shipment date of the Sales order ! Not even allowed through the api - {"code":36014,"message":"Sales orders that have been shipped or on hold cannot be updated."}
    • How do I change the Subject header when I reply please, it contains Re which I want to remove.

      Hi Zohodesk, When a customer logs a call we have amended the Acknowledge on new Ticket template so the subject header has "Ticket Id" at the start of it.  When we reply the customer gets Re: and then the Id and I can't see a template for this? Can you
    • Zia Agent built in ChatKit UI does not render markdown

      Hi, You have a major shortcoming in the Zia Agent UI. The test UI that is embedded in agents.zoho.com allows you to test the agent has full support for rendering markdown, but your ChatKit UI does not have support for rendering markdown. If I embed it
    • Can't add my domain to Zoho zeptomail because of error code DE_150

      Hello there, I'm trying to add my domain to ZeptoMail but it's rejected I checked the network tab and I'm getting { "error": { "code": "TM_3601", "details": [ { "code": "DE_150", "message": "Antispam validation failed for your domain in Accounts." } ],
    • Automated entries past the current month in a calendar report

      Hi all, I have an automation problem. I have a form which on successfull entry adds either 5 or 10 more of these entries with a slight change so our customers can see it throug a calendar report on the webiste. The entry put in manually shows up perfectly
    • [Bug] WebAuthn passkey registration blocked on rpIds with TLDs longer than 6 characters (.accountant, .technology, etc.) — isValidDomain regex too strict

      Hi, Filing on behalf of an enterprise customer where Zoho Vault is deployed across the company. The Chrome extension blocks WebAuthn passkey registration on legitimate sites whose Relying Party ID (rpId) has a TLD longer than 6 letters. This affects every
    • Get Files Associated to Data Template via API

      I have a data template with multiple files associated to it, and trying to write a Deluge script that will fetch files associated with this data template. I created the script below based on the WorkDrive API documentation, one request uses the data templates
    • ZOHO CRM User management or role

      I need guidance regarding Zoho CRM licensing and user management. I want to purchase one Zoho CRM license and create multiple team users under the same account with the following hierarchy: Super Admin User Manager User Executive Users (with limited access)
    • Tip #72 - Exploring Technician Console: Setup Unattended Access - 'Insider Insights'

      Hello Zoho Assist Community! You joined a live session, diagnosed the issue, and got the user back on track. Fix delivered, user happy, session closed. But you know this machine. It needs a follow-up. A cleanup, a patch, maybe a deeper maintenance run.
    • #1 New to Zoho Invoice? Do this First!

      "Zoho Invoice has made our company's tax invoices look more elegant and professional. It is effortless to raise an invoice and track payments with it", says Arunkumar Balakrishnan, Director GA Technologies. Generating professional invoices usually begins
    • Automation Series #5: Supervisor Rule vs Schedule in Zoho Desk

      Supervisor Rules vs Schedules: Choosing the right time-based automation This post is part of the "Desk Automation Series," Chapter 1. Through this series, we will help you choose the right automation type in Zoho Desk by comparing commonly confused automations
    • Error when changing user permission from read only to user.

      Hi there, Ive tried to change one of my users to be able to edit, however i kept getting the error user license exceed.
    • Need Help Preventing Overselling in Zoho Inventory

      Hi fellow Zoho Inventory users, I'm reaching out for advice on managing inventory control in our growing business. We've recently encountered situations where sales orders get confirmed despite insufficient stock, creating operational challenges. Our
    • Conditional Layouts On Multi Select Field

      How we can use Conditional Layouts On Multi Select Field field? Please help.
    • Smart Feature Compatibility Indicators for CRM Field

      Zoho CRM offers a wide range of field types and advanced customization options. However, several field types have feature-specific limitations that are currently documented only in help articles. For example, while configuring a Rich Text field, admins
    • Deactivate Zoho CRM for everyone

      We would like to deactivate Zoho CRM for everyone. How can we do that?
    • Best sales insights for target accounts?

      Question for all the sales power-users out there: I would like to gain insights from Zoho CRM for a rotating list of target accounts. Each Outside Salesperson has 5 target accounts, and they can change these targets quarterly with management approval.
    • Next Page