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

    • How to record GST amount for Value of Service on Inward remittance charged by bank

      Hi please advice I have a situation.    1. I have HDFC bank account 2. I have a customer who has done inward remittance for purcahses from overseas. 3. HDFC is showing Value of Service say $100 and GST @ 18%. 4. Value of Service is not charged. But  CGST
    • Sort by Project Name?

      How the heck do you sort by project name in the task list views??? Seems like this should be a no-brainer?
    • Project Statuses

      Hi All, We have projects that sometimes may not make it through to completion. As such, they were being marked as "Cancelled". I noticed that these projects still show as "Active" though which seems counter intuitive. In fact, the only way I can get them
    • I have a requirement to integrate Zoho Books with Zoho Projects at both project and task levels.

      Currently, when i create transactions in Zoho Books (Expenses, Invoices, Bills), we can only map them at the project level. However, our requirement is to: Map records at both project and task levels Sync these transactions back to Zoho Projects under
    • What’s New in Zoho Inventory — Latest Features, Integrations & Updates | December 2025

      Zoho Inventory has evolved significantly over the past months, bringing you smarter, faster, and more connected tools to streamline your operations. Whether you’re managing multichannel sales, complex fulfillment workflows, or fast-moving stock, our newest
    • Add Multiple Modules in Automation

      Right now I am trying to automate sending customer statements in WhatsApp, if they have overdue invoices, since customer has multiple invoices overdue I don't want to send repetitive message for those. Right now in automation you can only select 1 module,
    • Feature Request in Zoho Books : Tracking Inventory for Service Items

      At the moment, ZOHO Books don't allow to track inventory of Service Items (I just talked with customer care executive for confirmation). MY PROBLEM: I resell services Digital Signatures Certificates ( SAC ‐ 998319) and other similar services, I purchase
    • Create Tasklist with Tasklist Template using API v3

      In the old API, we could mention the parameter 'task_template_id' when creating a tasklist via API to apply a tasklist template: https://www.zoho.com/projects/help/rest-api/tasklists-api.html#create-tasklist In API v3 there does not seem to be a way to
    • Audio Recording Button needs work

      People struggle to understand how to record the audio - the mic button is tiny and barely visible. Please make the recording option more prominent and obvious and the upload file function should be secondary... (not taking up the majority of the space).
    • Enhancing user experience with Audio/Video Upload in Zoho Forms

      Hello form builders! Today, interactive forms are an integral part of websites and applications. While text-based inputs serve a variety of purposes, audio and video uploads can open up a world of possibilities for businesses. Imagine you are a talent
    • Early Preview for an Upcoming Enhancement to Zoho One - App Adoption and Feature Discovery

      Hello, Enterprise Support Community, We're excited to give you an early sneak peak at an upcoming enhancement to the Zoho One platform: new App Adoption & Feature Discovery components, designed to help our customers adopt the right tools to enhance their
    • You cannot send this email campaign as it doesn't have any eligible contacts in the selected mailing list. You can try adding contacts or choose other mailing lists.

      please help
    • Add Days In Stage to Filter Options for Pipeline

      We use the days in stage to see how long a ticket has been in a certain stage. But there is no option to see this via filters. eg if i wanted to see how many tickets over 5 days in a stage, there no way to do this. Currently we have to export a report
    • Integration problem between zoho crm and zoho forms for an update in zcrm, with two mapped custom fields

      Hello everyone, I need to correct an existing integration between Zoho CRM and Zoho Forms: the use case is that a user needs to send an email to a contact, who will click on a button in this email, redirecting to a Zoho Forms. The contact can update or
    • Purchase Order Quantity Validation Not Enforced During Bill Approval

      Hello Team, I would like to report a potential issue in the Purchase Order to Bill workflow. Steps to reproduce: Create a Purchase Order for an item with Quantity = 100. Approve/sign the Purchase Order. Convert the Purchase Order into a Bill. Change the
    • How do I add multiple contacts in a deal

      How do I add multiple contacts in a deal
    • Blueprint Not Triggering When Lead Status Is Updated by Workflow (IndiaMART Integration)

      I have set up a blueprint that triggers when a lead’s status is “New Lead.” Our CRM is integrated with IndiaMART, and when leads are created from IndiaMART, their Lead Status is initially set to None. To handle this, I created a workflow that automatically
    • Add multiple users to a task

      When I´m assigning a task it is almost always related to more than one person. Practical situation: When a client request some improvement the related department opens the task with the situation and people related to it as the client itself, the salesman
    • Journey vs Campaign Confusions

      Hi there! I hope you're all doing great! I'm new to the Zoho MA and I'm confused between Journey and Campaigns. I'm not sure if these two work together or not. I hope you can enlighten me. What I'm trying to do is setting up a Newsletter. 1. We have a
    • The 3.1 biggest problems with Kiosk right now

      I can see a lot of promise in Kiosk, but it currently has limited functionality that makes it a bit of an ugly duckling. It's great at some things, but woeful at others, meaning people must rely on multiple tools within CRM for their business processes.
    • Zoho Webinar not sending calendar entry into Outlook or other calendars

      Dear All, I am using Zoho Webinar for last few months and noted that when a attendee registers at the webinar link he gets an email will intimating his registration and link to webinar. He also get few file ( for Outlook, Google calendar etc) which he
    • Ticket Status

      HI, Any idea on how to create other options for this header??? I want to add an "Ordered" status. Its under "tickets" in Overview, I need a new status created (see second picture)
    • Turning off the recorded welcome in Zoho Webinar

      Is there a way to turn off the recorded voice that comes up at the beginning of every webinar session? It devalues the experience for attendees from feedback, interrupting their connection with our brand and delaying webinar start unnecessarily.
    • Client Script | Update - Client Script Support For Custom Buttons

      Hello everyone! We are excited to announce one of the most requested features - Client Script support for Custom Buttons. This enhancement lets you run custom logic on button actions, giving you greater flexibility and control over your user interactions.
    • Save embed widget personalizations

      Ok, Zoho, Great work on providing PRICING TABLES via the embed widget. Thanks so much. This changed the game for me Only one slight problem....I can't seem to save my widget settings. I'm still building my products and plans but I'm testing how they look
    • Problem with UTM Parameters: Zoho Forms - Zoho Desk Integration

      Hi Zoho Support Team, I want to automatically capture UTM Parameters from my website URLs and pass it from Zoho Forms into Zoho Desk. I have activated the UTM tracking feature. I've integrated the UTM Tracking code in my website footer on all pages. I've
    • Team folder not created when creating project using zoho flow

      When I try to automate project creation using zoho flow, and I have enabled workdrive integration to automatically create team folders to attach to the project, this only works when I create a new project through the UI. But I am trying to automate project
    • Add an option to deactivate Zoho Meeting "Welcome" message

      My request is to provide an option to deactivate the annoying Zoho Meeting "Welcome" voice when participants join meetings... or remove it all together. First impressions count, especially with new clients. This notification reminds me of the AOL "You've
    • Service line items

      Hello Latha, Could you please let me know the maximum number of service line items that can be added to a single work order? Thanks, Chethiya.
    • SalesIQ > My Chat sort by Unread or Follow-up

      Hi Zoho SalesIQ Team, I would like to submit a feature request regarding the My Chat > Sorting in the SalesIQ UnRead Follow-up Conversation tags Thank you for considering. Best regards, CJ
    • Record sharing for Activities modules in CRM

      Hello everyone, We've got a few quick enhancements to what we covered in this previous announcement: record sharing is now available for Activities modules. 1. Sharing Tasks, Meetings, and Calls Until now, activity records could only be shared indirectly
    • SalesIQ : How to disable "Idle chat handling" ?

      Hello SalesIQ Team. SalesIQ, How to disable "Idle chat handling" ? I would like to disable the option “Automatically close chats that have been idle for a specified amount of time.”
    • How do I create an update to the Cost Price from landed costs?

      Hi fellow Zoho Inventory battlers, I am new to Zoho inventory and was completely baffled to find that the cost price of products does not update when a new purchase order is received. The cost price is just made up numbers I start with when the product
    • Facturation électronique 2026 - obligation dès le 1er septembre 2026

      Bonjour, Je me permets de réagir à divers posts publiés ici et là concernant le projet de E-Invoicing, dans le cadre de la facturation électronique prévue très prochainement. Dans le cadre du passage à la facturation électronique pour les entreprises,
    • Function and workflow to create customer payment and send receipt

       I am attempting to set up a workflow/custom function for the automatic creation of a customer payment and sending the email receipt, but am receiving the error "Improper Statement Error might be due to missing ';' at end of the line or incomplete expression" I've been over everything several times and cannot see where the error is (code is copied into the attached document).  I haven't used custom functions before with Deluge, so it's very likely something very simple, or I've completely mucked
    • Smart Alerts: Protect users with configurable email alerts

      Email-based threats are becoming harder to identify and manage. Administrators need proactive ways to protect users from phishing, fraud, and policy violations. Standard filters can block emails, but blocking alone isn't always the most effective response.
    • Power up Zoho CRM with project intelligence

      Dear user, You're probably one of those businesses using your CRM as a single source of truth. It's where sales, project execution, and finance teams go to analyze past decisions and formulate future strategies. But what happens when project data is either
    • Print multiple uploaded images in an HTML snippet in a Page

      I have a Form: Job_Preparation It stores details of each new item that must be built by the fabricators in our workshop. The form has a field: Documents I upload 4 image files to the Documents field. I want to print a sheet for our workshop staff with
    • "Track Inventory for this item" is forced checked by default for goods items (eTims issue?)

      Hello, Since connecting our Zoho books to eTims (Kenya) the "Track Inventory for this item" is forced checked by default (eTims issue?) in the Item creation page for any type of goods. So when purchasing anything that the company does not intend to sale,
    • Why can't we choose Fixed Asset account for Purchased Items? (eTims issue?)

      Hello, When the company purchase items not for sale and not supposed to be in the inventory stock, like equipment for operational use, there is no way to access the Fixed Asset accounts in the drop down list. Is that an eTims limitation again? Or something
    • Next Page