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

    • Lost the ability to sort by ticket owner

      Hi all, in the last week or so, we have lost the ability to sort tickets by Ticket Owner. Unlike the other columns which we can hover over and click on to sort, Ticket Owner is no longer clickable. Is it just us, or are other customers seeing this too?
    • Custom button for list page

      Why is my 'List Page - Bulk Action Menu' button in the Packages module not autopopulating the List argument with selected record IDs?
    • Rename system-defined labels in Zoho CRM

      Renaming system-defined labels is now available across all DCs. Hello everyone, Zoho CRM includes predefined system fields across modules to support essential CRM operations. Until now, the labels of these fields were fixed and could not be edited from
    • Exclude Email or Domain From New Ticket Notification

      Hi, we utilize the new ticket notification feature in Zoho Desk. However, it would be great if there was a way to exclude certain email addresses or domains from receiving the automatic notification. This would be particularly helpful for automated alerts
    • Anyone have a working connection with CRM and shipstation via Flow

      Just wondering if anyone has successfully integrated shipstation and Zoho CRM.  I know there’s code to do it but am hoping to find out all the pitfalls before I jump on!! Scenario: SalesOrder gets created in CRM with multiple line items. I want this pushed to shipstation. On shipping via shipstation I want to push the tracking # back to CRM.  Many thanks in advance
    • ShipStation and Zoho Inventory

      Hello, I am looking to sync zoho inventory with shipstation ZOHO INVENTORY           SHIP STATION Sales Order  ==>  create ORDERS INVOICE  <==    Shipments What exactly does BETA mean on the Shipstation connector?  This is required for me to sign-on in the next month. Thanks in advance for your efforts
    • Connect to Shipstation's API

      Shipstation is a very big service, with lots of users, tons of order data.....and poor un-customizable reporting. This is perfect for Zoho analytics.  The Shipstation API is modern and efficient.  Today I think many people pay Zapier to get Shipstation data into Reports/CRM/Books - why not have  a direct connection?  -can pull in shipments via webhook or polling.  -also nice to pull in order data along with shipment data
    • What’s the Correct Integration Flow Between Zoho Inventory, ShipStation, and Multi-Channel Sales Platforms?

      Hi Zoho Community, I’m currently implementing Zoho One to manage all of my business processes, and I’d appreciate some guidance on the correct integration flow for the tools I’m using. Here’s my current setup: Zoho Inventory is my central system for managing
    • Remove Zoho Header from Portals

      I have a portal page with custom domain. But when I print directly from a webpage, the Zoho CRM header shows. It kind of kills the branding aspect. Is there a way to get rid of this?
    • Setting defaults for "Find and Merge Duplicate for..."

      To remove some of the extreme tedium from Zoho's poorly implemented merge function, I would like to set defaults.  Currently I am defaulted to match "ANY" when I would never do that, so I always have to click "ALL". Then it makes me click on several totally irrelevant drop boxes to turn off phone, mobile and other useless match criteria. Is there a way I can set: Match to default as "ALL" Firstname to default to "IS" Lastname to default to "IS" every other match field default to "-NONE-" This will
    • Clone a Module??

      I am giong to repurpose the Vendors module but would like to have a separate but very similar module for another group of contacts called Buyers. I have already repurposed Contacts to Sellers. Is it possible to clone (make a duplicate) module of Vendors
    • Let's bring Manufacturing Resource Planning (MRP), Material Requirement Planning (MRP), and Production Planning/Management module / feature in Zohobooks

      Let's bring Manufacturing Resource Planning (MRP), Material Requirement Planning (MRP), and Production Planning/Management module / feature in Zohobooks
    • CLIENT PORTAL (If clients can place orders directly on the portal)

      Zoho client portal is excellent. Everything is there except one thing. Client should be able to place orders directly on the portal. This would enhance the portal and end users will be extremely happy. This suggestion infact came from one of our client.
    • Zoho → ShipStation Integration – Sales Order–Driven Fulfilment Workflow

      Hello All, I’m reaching out to explore the best way to integrate a shipping tool into our inventory which will speed our process up. We are looking to integrate ShipStation into our existing order-to-fulfilment workflow, as we’re keen to standardise on
    • Zoho Inventory Feature Roadmap Visible To All

      Hello, please consider making your feature roadmap visible to us users so that we know what to expect in future. This may appease current users who are seeking clarification on feature implementation dates, so that they can make an informed decision whether
    • アナリティクスで商談中のパイプライン(ステージ)の件数比較

      アナリティクスで商談中のパイプライン(ステージ)の件数を前週と前々週で比較したい。前々週の件数が更新することで変動してしまう。対象方法をご教授ください。
    • How do I remove a data source from Zoho Analytics?

      I am unable to find a delte option on a datasource that i put in the system as an error. On teh web it refers to a setup icon but I do not see that on my interface?
    • Identify and clean hard bounce lists in Automation 2.0

      Hello. 1. I want to know how I can identify hard bounces in the lists I created to clean them before sending an email, given that the bounce rate has increased and it is necessary to clean the lists. 2. How can I exclude hard bounces and invalid emails
    • Trigger workflows from SLA escalations in Zoho Desk?

      Hey everyone, I’m currently working with SLA escalation rules in Zoho Desk and ran into a limitation that I’m hoping someone here has solved more elegantly. As far as I can tell, SLA escalations only support fairly limited actions (like changing the ticket
    • Delete a department or category

      How do I delete a Department? Also, how do I delete a Category? This is pretty basic stuff here and it's impossible to find.
    • Zoho Webinar - Sharing System Audio (NOT AVAILABLE)

      Hi, We are having a serious problem with Zoho Webinar. In the webinars we run, we very often share the audio from a video we are streaming directly from YouTube or other applications. Until recently we were using Zoom, but as we use other Zoho applications
    • Cancellation Fees

      Hi, It really would be good if Billing could take subscription management further with cancellations & being able to apply or set a cancellation fee for a plan that is either fixed or prorated. It is not uncommon in subscriptions for cancellation fees
    • Custom Field for Subscription

      Hi, I can't find a way to add a custom field (to contain a license key generated from our software) against a subscription? Is the only place to add this information in the Invoice module (as custom field for invoice)? When a customer views his subscription
    • Zoho CRM Meetings Module Issues

      We have a use-case that is very common in today's world, but won't work in Zoho CRM. We have an SDR (Sales Development Rep) who makes many calls per day to Leads and Contacts, and schedules meetings for our primary Sales Reps. He does this by logging
    • Notes - Reaction Buttons

      Using the native notes option within CRM is fine, it works and the RTF features are great, however, would it be possible - if there isnt already something in place, where we can add a reactions button, similar to teams/whatsapp to show that its been read
    • How to get the campaingns key?

      Reading the documentations of the API, I see that is necessary have the campaign key, but I don't see how can I get it. For example to get the campaign details we need to do the request: https://campaigns.zoho.com/api/getcampaigndetails?authtoken=[API Authentication Token]&scope=CampaignsAPI&campaignkey=[campaignkey] I have the API Authentication Token but I don`t see how to generate the campaignkey
    • Unable to switch existing AWS RDS connection to DataBridge after moving RDS behind VPN

      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
    • [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
    • Native QuickBooks integration for Zoho CRM: Connecting sales and finance

      Greetings, I hope all of you are doing well. We're excited to announce Zoho CRM's integration with QuickBooks Web, which is designed to synchronize your CRM data with your QuickBooks accounting records and bridge the gap between sales and finance. This
    • Syncing zoho books into zoho crm

      I was wondering how I can use zoho books in crm as I have been using them separately and would like to sync the two. Is this possible and if so, how? Thanks
    • ZohoBooks_add_expense_attachment Fails

      I'm working MCP in Claude to automate bookkeeping. Claude cannot seem to attach and reciept to an expense. The 'add expense attachment' tool is added to the server and enabled in Claude. I asked Claude to give me the calls he performed and this is what
    • ZohoBooks_create_chart_of_account

      I'm setting up Claude to do my bookkeeping workflows using a Zoho MPC server I setup. He does not seem to be able to create a chart of account. The 'create chart of account' tool is added to the server and enabled in Claude. I asked Claude to give me
    • Zoho Books Product Road Map

      I am planning to look into Zoho Books to maintain my Company's Account Books. Is the roadmap of Zoho Books Development available online? What happens if you product dies, without an export feature to other popular Accounting softwares like Tally or Quickbook. Are we going to be left in lurch? Do you have a product road map? Regards, Vishal.
    • I want to delete the email but I can't.

      I want to delete emails but I can't, please help me. Thanks!
    • Error while creating new user

    • Zoho Mail is blacklisted on magicspam.com and spamauditor.org

      As of today, the same problem with the IP addresses 136.143.188.51 and 136.143.188.52 How long does it take them to clear their IP addresses? I've read on this forum that these IP addresses have been blacklisted for years. //////////////////////// This
    • Unable to send emails from the delegated mailbox

      currently it's not possible to send emails from our delegated mailbox (just in our own name, our own mail-accounts) The permissions granted include "Send as," and we are also unable to delete delegated employees or add new ones. We can only add employees
    • Change Password

      How can I reset OR Change the Passwords for the Whole Organization at Once as Administrator using Admin Console?
    • Zoho Books bill pay option not available with zoho one

      Why isn't Zoho Books bill pay add-on not available for Zoho one customers not even as a purchasable option. I think this is very inconvenient for companies wanting to use this feature all in one system
    • Support - what am I doing wrong?

      Hi Everyone - I'm a new user and looking particularly for a replacement mail service. I'm just a home user not a professional but I do look after half a dozen domains. Zoho looks lovely and I'd like to switch but just want to get answers to a few 'easy'
    • Next Page