Using schedules and workflow functions

Using schedules and workflow functions

Hello Biginners,

In our previous forum post, we explored install and uninstall actions and learned how to trigger custom logic the moment a topping is added or removed from an organization. In this post, we'll look at how to automate actions during regular, everyday use. To achieve this, we'll explore two important features in the Bigin Developer Console: schedules and workflow functions.

Together, schedules and workflow functions allow us to build toppings that respond to record events in real time and monitor conditions over time. To understand how these features work, let's walk through a common requirement in a customer support pipeline.

The challenge: Avoiding communication gaps and idle tickets

In a customer support pipeline, clear communication and timely follow-ups are crucial. A ticket represents a customer request, and delay affects customer trust.

There are two common scenarios that help make managing support tickets smoother for teams:
  1. When a ticket is created, sending an acknowledgment email to the customer and notifying the assigned ticket owner with customized content ensures clear and immediate communication.
  2. After a ticket is assigned, setting up a structured reminder system for tickets that remain idle in the same stage helps prevent them from being overlooked and ensures timely follow-ups.
We can build a topping to handle these scenarios.

Overview of the topping

We'll build a follow-up support automation topping that handles both real-time communication and time-based monitoring.

This topping will include:
  1. A workflow function that is triggered when a ticket is created. It sends an acknowledgement email to the customer saying that their request has been received and also sends a notification to the ticket owner about the new ticket.
  2. A scheduled function that runs 24 hours after a ticket is created. If the ticket remains open beyond 24 hours, the topping sends a reminder email to the ticket owner every 12 hours until the ticket is closed, ensuring timely follow-up.
We can achieve this by building a topping using the features available in the Bigin Developer Console, like workflows, schedules, and functions.

Setting up the topping

A topping needs to be created using the Bigin Developer Center. For detailed instructions on creating a topping, refer to this post for a tutorial.

Once you've created a topping and accessed the Bigin Developer Console, the next step is to create the required service connection.

Since the topping needs to have access to the Bigin pipelines and ticket owner details, you need to create a default service connection for Bigin with the scopes ZohoBigin.modules.Pipelines.ALL and ZohoBigin.org.ALL.

For detailed instructions on creating a default service connection, refer to this post for a tutorial.

After creating the Bigin connection, you can proceed with the first part of the topping implementation, which handles newly created tickets.

Creating a workflow rule for new tickets

To configure the workflow, navigate to the Automate section in the left panel of the Bigin Developer Console and select Workflow. Create a new workflow rule in the Pipelines module.


In the workflow configuration, set the rule to execute based on a Record action and choose Create so that it triggers whenever a new ticket is created. Under conditions, select Pipelines matching certain conditions and define the condition as Pipeline is Customer Support Standard. This ensures that the rule applies only to tickets created in that specific pipeline. Under Instant Actions, you need to associate the workflow with a custom function so that it executes immediately when the workflow is triggered.


This function will fetch the ticket details, send an acknowledgement email to the customer, and notify the assigned ticket owner.

Below is the code for sending the acknowledgment emails when a new ticket is created in the customer support pipeline:

Workflow Function – WorkflowFunction.txt – Please find the attachment with the code for sending emails via workflow


Once saved and activated, the workflow will automatically send the acknowledgement email every time a new ticket is created in the support pipeline.

While workflows react instantly to events, schedules allow us to monitor records over time. In simple terms, workflows respond immediately, and schedules keep watch in the background.

Now, let's handle the second part of the topping use case: monitoring tickets that remain unresolved for too long. For that, we need to create a schedule and associate it with a function.

Let's move into the scheduler implementation.

Creating a schedule for idle tickets

A schedule is a time-based execution mechanism that allows a function to run automatically at defined intervals. Unlike workflows, which react to record actions, schedules operate independently and continuously in the background.

For our use case, we need to monitor tickets after they're created and ensure they aren't left unresolved for long periods. This means the system should periodically check existing records, evaluate their status, and take action if certain conditions are met. Since this requirement is based on time rather than a user-triggered event, a schedule is the best solution.

To implement this, navigate to the Schedules section in the Bigin Developer Console and create a new schedule. Once you provide a name, choose Writing Function for the Function to be executed option.


You'll be redirected to the deluge editor to implement the reminder logic.

In this function, you need to implement the reminder logic that evaluates each ticket and determines whether follow-up action is required. The function should retrieve the necessary ticket details, compare the ticket’s created time with the current time, verify that the ticket isn't already resolved, and then trigger a reminder email to the assigned owner if it's been longer than the set time.

The code below implements the logic for scheduled reminder:

Scheduler Function – SchedulerFunction.txt – Please find the attachment with the code for sending emails via schedule

Once you save the script, you’ll be redirected to the scheduler configuration page.

Here, provide a schedule name and choose an upcoming date and time for the Execution Start Date, since schedules must begin in the future. Under Frequency, select Hourly and configure it to run every 12 hours to match the reminder requirement. In the Ends section, choose Never because we want the schedule to continue running without stopping.


After saving, the scheduler will automatically execute the function at the defined intervals.

At this point, everything for the topping is in place. You can now test and publish it.

Once the topping is published, whenever a new ticket is created in the Customer Support Pipeline, an acknowledgment email will be sent to the customer and a notification email will be sent to the ticket owner.




If the ticket remains in an unresolved stage for more than 24 hours, the scheduled function will trigger and send a reminder email to the ticket owner every 12 hours until the ticket is resolved.


In this post, we explored how to use workflows and schedules together to automate real-time actions and time-based monitoring in a Bigin topping. The workflow sends emails when a ticket is created, and the schedule checks tickets periodically to send reminders if they remain unresolved. This approach helps ensure consistent follow-up without manual monitoring.

Stay tuned for more posts where we'll dive deeper into additional features and best practices for developing powerful toppings in Bigin.

<<Previous                                                                                                                                                     Next>>

    Nederlandse Hulpbronnen


      • Recent Topics

      • information on a suggestion how to treat old records in the - pipeline deals, notes, activities (tasks- events-calls) and emails etc.

        Hi, I would like information or a suggestion on how to treat old records in the - pipeline deals, notes, activities (tasks- events-calls) and emails etc. ? As each option (pipeline deal, notes, activities, emails etc.) counts as a record and as we advance
      • Automating Employee Birthday Notifications in Zoho Cliq

        Have you ever missed a birthday and felt like the office Grinch? Fear not, the Cliq Developer Platform has got your back! With Zoho Cliq's Schedulers, you can be the office party-cipant who never forgets a single cake, balloon, or awkward rendition of
      • zoho stream web notifications

        since im locked out of IMAP and cant use my mail app that lets my team collaborate and chat below emails, im trying out the zoho version of this... zoho streams. On the bottom of an email in the zoho mail web app, i "comment" and mention another user.
      • New in Zoho CRM: Pre-fill Public Forms with CRM Data

        Public forms just got more flexible! With the new Pre-fill Public Forms with CRM Data option in the Zoho Forms integration, people filling out your public forms can search for a CRM record, select the right one, and have the form automatically populate
      • HEIC File Type Viewer

        Hi, It would be nice to be able to click on the images in the All Entries/Reports Tables which are HEIC the same as JPG, PNG, etc. so they open in a viewer from Zoho or the Attachment Service, today HEIC requires you to download each image and open it
      • Zoho Books | Product updates | October 2026

        Hello users, October brings a range of new features and enhancements to Zoho Books, designed to simplify compliance, streamline accounting workflows, and improve inventory management. From the launch of the Nigeria Edition and France’s e-invoicing capabilities
      • Specific ListView Canvas on Canvas Home Page Always Loads Most Recent ListView, Not the One Specified

        I had mentioned this to ZOHO, but I mainly wanted to see if others in the Community are also facing this problem. I created a Canvas ListView for a Custom Module, and then created a Canvas Home page (technically on a tab item, but I'm not sure if that
      • print preview

        We are using microsoft edge, till 12 sep we were getting directly print option. Now we are getting this preview option we have to click print option again. How to bypass this-preview option?
      • Zoho Projects - Has something changed regarding to linking Projects and Deals via the API?

        I am trying to link Zoho Projects to Deals in CRM using the API, but each time, the Deal Contact is added as a Client user and receives an email invite asking them to join the organisation. These are internal projects and the customer should not have
      • Connection into Cliq?

        I have the SalesIQ chat widget on my site using the Zohobot but I'm not always on and my employees don't keep it open all the time. We do have Cliq open all the time though so I'd love a way to manage those discussions directly in Cliq as they come in.
      • Kaizen #264 - Using zoho-crm Skill to Write Functions

        Hello CRM wizards, Welcome back to another week of Kaizen. In our previous Kaizens, we explored how the zoho-crm skill can assist you across various Zoho CRM developer tools. This time, let us see how it can help you write Deluge Functions, from simple
      • Edit Pinned Comments in Zoho Desk

        It's great that private comments can now be pinned to the top of the ticket but what would be extremely helpful would be to allow for the pinned comment to be edited vs. having to find the comment in the ticket to edit it.
      • Recover accidentally deleted mail account

        Email account was accidentally deleted from admin console. 
      • mail sent to gmail goes directly to spam

        Hi TKIM and SPF are configured and verified. E-mails coming from zoho to my personal gmail account are going directly to the spam folder. How can I solve this? I can send you guys the headers privately if you need to.
      • Shopify Integration: How do I change the default Unit of Measure from KG to PCS

        For those using Shopify with Zoho Inventory, has anyone managed to have imported items default to PCS/EA instead of KG? If so, where is this configured? I can only find weight units in Shopify, not a sales unit of measure.
      • flexible subscription plan

        Greetings! We currently have 5 Standard plans, but would like to add 5 mail-lite one just to receive emails (do not need other business features or storage. As Super Admin, I tried to do that my self but didnt see the option on your sales platform. Please
      • mail

        We want our tracked links in campaign and journey emails to use our own domain instead of the shared maillist-manage.net domain. We have already created the CNAME links.rexven.com → customer-campaign.zoho.com (DNS only). Does our plan support a custom
      • Useless support and impossible to add users for whom I paid for

        Over a week ago i signed up for 5 emails addresses and 10GB, and so far I only have 1 email working, no access to the dashboard. Remote connection with "support"....useless Screen grabs sent to "support" useless Messages to "support"... now not answering
      • Mr

        can't access my email
      • Reduce Mail Lite Renewal from 2 licenses to 1

        Hello Zoho Support, I have a Mail Lite 5GB subscription with 2 licenses. have deleted the unused user, and now only 1 user/license is being used. My subscription is due for renewal, but the renewal page still shows 2 licenses and does not give me an option
      • Adding additional records dynamically to a subset of fields

        I'm trying to create a service ticket layout which will be passed to a Creator application for Field Service Management (FSM) purposes. We need to be able to define a specific subset of service product fields such as "Service Product", "Service Product Serial Number", "Service Product Warranty End Date" and "Service Product Current Warranty Status". We may need to record more than one of these subsets, in case the customer has more than one product which has to be serviced on their site. It seems
      • Push error with Zoho Books and Zoho CRM

        I have successfully linked Books and CRM but I have some push errors with the following message: "The customer associated to this record is not linked to module chosen in the current contact sync configuration." I am unable to work this out, could you help please.
      • Function #24: Automatically display deal name from Zoho CRM on quotes in Zoho Books

        Deals allow businesses to organize and visualize their sales pipeline. This provides a clear overview of all potential opportunities and helps in making informed decisions. Zoho CRM empowers you to create deals or potentials for your clients and monitor
      • {"code":57,"message":"You are not authorized to perform this operation"}

        In my trial version of Zoho account, I am trying to integrate Zoho CRM Contact Module with Zoho books but when i call API it gives such type of error {"code":57,"message":"You are not authorized to perform this operation"}. I am using refreshed token
      • Allow widgets to be placed between native sections in the Ticket Properties panel

        One of our biggest frustrations with the Tickets module is how rigid the Ticket Properties panel is. Every section there is built only from native Zoho Desk fields. We can add sections, rearrange fields, and pick layouts, but we can’t put anything custom
      • #13 Understanding Your Zoho Invoice Limits

        Ravi's busiest month was also the month his invoicing stopped working. He had been using Zoho Invoice comfortably for months. Then, just when business picked up, he hit a limit he hadn't expected. The problem wasn't that he had missed a payment or forgotten
      • Map Dependency Upgrades in Zoho CRM

        Map Dependency Fields enhancements are now available across all DCs. Hello everyone, We’ve introduced a set of enhancements to Map Dependency Fields to make setup simpler, faster, and more intuitive. Map Dependency helps control how values appear across
      • How to Allocate Incoming Purchase Stock to Specific Sales Orders in Zoho Inventory?

        Hi all, We are using Zoho One Enterprise and need guidance on managing sales order–wise allocation of incoming stock in Zoho Inventory. Our workflow is: A customer order is received, and the Sales Order is confirmed. The sales team immediately creates
      • How to disable automatic ticket closure emails for specific outgoing communications?

        Is there a way to disable the automatic "Ticket Closed" email notification for specific tickets or outgoing emails? Currently, every time we send an email to a customer, the system automatically sends a "Ticket Created" email, followed by a "Ticket Closed"
      • 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
      • What's new in Zoho Workplace | September 2026

        Hello Zoho Workplace community! Here's a roundup of all the new features and announcements that went live across Zoho Workplace applications in September. Zoho Mail Compose Options Across Templates You can now use the Undo, Redo, and New List options
      • Unable to export reports despite enabled report export permissions

        Hi Zoho Community, We are unable to export reports in Zoho CRM. When attempting an export, we receive the following error: “Cannot Export Report — You do not have permission to export one or more modules used in this report. Please contact your administrator.”
      • What does "Tickets for Review" do?

        What is the purpose of the va nilla view " Tickets for Review?"
      • Set department automatically for incoming calls

        Is it possible, when receiving an incoming call through Zoho Desk (using Twilio integration), for the department to be auto-selected based on the phone line being called? Currently, we have to manually select the department from the dropdown menu when
      • Zoho Desk training for administrators in EU and US region

        Hello Everyone, Get ready for the certified Virtual Classroom training for our Zoho Desk users in Europe and the US. Our in-house Zoho Desk expert, @Dheeraj | Zoho Desk, will conduct the virtual classroom training. This training focuses on simplifying
      • Support Plan: Recuring Issue

        Hi Zoho Team, Could you please look into this recurring alert and provide clarification on why this restriction is still in place? This issue has become a bottleneck in our workflow, significantly limiting our automation capabilities. We are unable to
      • Webinar de Zoho People: tecnología para RR. HH.

        ¿Y si RR. HH. pudiera estar tan conectado con el negocio como el resto de tu organización? La gestión de personas está evolucionando, y los departamentos de Recursos Humanos necesitan herramientas que les permitan ir más allá de las tareas administrativas
      • Zoho CRM still doesn't let you manage timezones (yearly reminder)

        This is something I have asked repeatedly. I'll ask once again. Suppose that you work in France. Next month you have a trip to Guatemala. You call a contact there, close a meeting, record that meeting in CRM. On the phone, your contact said: "meet me
      • WhatsApp in Zoho CRM Plus: inbound works, every outbound message fails with crm.bm.msg.failed.undefined since Oct 14 (business stopped)

        Hello Zoho team and community, We are Roxo Inc, a Zoho CRM Plus customer in Florida. WhatsApp is our main sales and support channel, and since October 14, 11:11 AM EDT we cannot send any WhatsApp message from Zoho CRM. We are facing a large drop in sales
      • Pushover Notification Module

        Hello, it would be good if there would be a "Pushover" (https://pushover.net/) module besides the standard SMS module. Pushover is now very well known, especially in IT, and is becoming more and more popular. The biggest advantage are the customizable
      • Next Page