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:
- 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.
- 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:
- 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.
- 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.
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.
Recent Topics
Send out follow-up email in the same thread (threaded conversations in individual emails) from Zoho CRM
Hi, I'm new to Zoho. I'm trying to send individual emails to my leads one by one. And I'll send out follow up email if I don't hear back from them later. However, instead of sending a new email, I want to reply in the same email thread so that the recipients
web to lead
Can anyone help me how to create web to lead from zoho marketing automation
UI issue with Organize Tabs
When looking at the organize Tabs window (bellow) you can see that some tabs are grayed out. there is also a "Add Module/Web Tab" button. When looking at this screen it's clear that the grayed out tabs can not be removed from the portal user's screen
I created a signup form in Zoho Marketing Automation with the correct field mapping, but the data is not being reflected under Leads in Zoho CRM.
web to lead from zoho marketing automation
Pasted Images not being embedded in custom mail
Hi, I'm making a custom report by email based on commentaries. I have the email ready, all working great except for images that are being pasted in the commentaries. Zoho deals with them as temp images and so it requires authentication to view them, something
Kaizen #232 - Building a Ticket Escalation Mechanism from Zoho CRM
Howdy, Tech Wizards! Picking up the thread from last week, we will continue our Zoho CRM and Zoho Desk integration. In Kaizen #231 - Embedding Zoho Desk Tickets in Zoho CRM, we built a Related List widget that displays open Zoho Desk tickets within the
Inactive License for free account.
I recently upgraded my Cliq subscription not my team (on the free version), are unable to login to their accounts. The error message received is Inactive License Looks like you have not been covered under the current free plan of users. Please contact
Deluge scripts
Why is there not a search function to make it easier to find the script of interest when modifications are required.
Searching for an item from within an invoice should show any item containing the string, not just those that begin with the string.
Hello, I've found myself becoming increasingly frustrated with the limited line-item seach when adding new items to an invoice. The problem is that the characters being typed are only being matched from the beginning of the item name. This might be usable
How to Rank Tables by Row Count in Descending Order
I am trying to understand the consume of lines that grow up so fast in the last week. Is there any way to create a pivot table or query to get TABLE NAME LINES in descending order?
Dealing With One-Time Customers on Zoho Books
Hello there! I am trying to figure out a way to handle One-Time customers without having to create multiple accounts for every single one on Zoho Books. I understand that I can create a placeholder account called "Walk-In Customer", for example, but I
Feature Request: Render Markdown (.md) files in Zoho Cliq
Hi, We regularly share Markdown (.md) files in Zoho Cliq. However, when we open these files in Cliq, the content does not render as Markdown—it displays as plain text. This forces us to copy/paste the content into an external Markdown viewer to read it
Subforms and automation
If a user updates a field how do we create an automation etc. We have a field for returned parts and i want to get an email when that field is ticked. How please as Zoho tells me no automation on subforms. The Reason- Why having waited for ever for FSM
Xero Billing Data (22 instances) - Zoho (CRM) - Single Source of Truth For Client Data & Notes
Hi - I’m trying to build out a CRM for a Single Source of Truth Currently I have 22 Instances of Xero (for legal entity purposes - can’t consolidate to one) How would I be best placed to do this? Is it possible to have all the Xero instances (22) → Consolidated
Zoho CRM Quotes – Subform and PDF/Writer Limitations
Hello, I am encountering the following limitations in Zoho CRM Quotes: Custom product images cannot be uploaded in the subform – the image upload field cannot be added; only the file upload field is available. File upload placeholders cannot be used in
No background for video recordings, no playback speed, can't even playback longer recordings - have to download…
Hi. We utilize heavily video messages on Slack, but wanted to migrate to Cliq with Zoho One, however very basic yet very frequently used feature is missing: backgrounds for video recordings and playback speed. We were not happy with Slack's 5 minute limits
Support inefficiency
We have been asking for support for a minor adjustment for 12 days now and we haven't got a single viable resolution from support team despite there are 19 emails going between our HR team and various support emails from Zoho. 1. they do not understand
About Certification Exam
I recently written Zoho Creator Ceritification Exam But i failed in first attempt of exam. how to reset my account for second attempt of exam .
Zia capabilities now available in the Professional edition announcement
Hello all! The Professional edition now supports a broader set of Zia capabilities, enabling teams to bring AI into more of their everyday CRM work. From writing assistance and summaries to setup support, predictions, and recommendations, Zia can now
Where Do I set 24h time format in Cliq?
Where Do I set 24h time format? Thanks
How to I generate Proforma Invoices?
When customers need to pay by bank transfer I need to send them a Proforma Invoice with our bank details. I am unable to work out how this can be done. It needs to be done at the Sales Order stage before a formal Invoice is generated. John Legg Owner:
This will be long, Please bear with me - Next Gen Layout - Search
In general, I think that Zoho are going in the right direction with the Next Gen UI. The latest update brings some nice improvements and all-in-all from a user's perspective I think the improvements are generally very good. However, there are some areas
Selecting all notes in a notebook
In Windows11, I select a notebook and I get a list of notes, but only 30 notes. If I scroll down to the end, I get an additional 30 notes (and at the top it now shows 60 notes). I can keep doing this to eventually see all my notes but this is a real pain.
Filter Records in CRM API
Hi Team, I’m currently working on a task to retrieve expired deals from the CRM. By “expired deals,” I mean deals where the closing date has already passed and the stage is not “Closed Won” or “Closed Lost” (i.e., all other stages). I tried using both
User Name in Zoho Cliq Not Updating Across Apps?
We updated the name of a user in Zoho. (From Sue to Taylor) Her name has not been updated in Cliq on all apps. When in Zoho One, if I go to Cliq directly, it is correct, but if I am in another app, and the Cliq bar pops up on the bottom, it will be the
Why I can't map Account Name from lead module to Account module?
When I qualify a lead in the bluerprint, I use automated conversion in Blueprint to automatically create Contact, Account and Deal. the Deal record and contact record has been successfully created automatically as I expect, but I can't see any account
Pause(1);
I'm using scheduler to invoke an interaction via http post with an external service. The schedule code uses a for-each loop that runs so fast my external application's log files get messed-up (they are named by date-time stamp). What I'm suggesting is
Release Notes | February 2026
We have rolled out another set of enhancements in Vertical Studio during February 2026, bringing improvements to Canvas customization, reporting capabilities, and data access controls. Here is a summary of what was released during February 2026: Canvas
Agentic Engineering with Zoho: The Next Evolution of Intelligent Systems
The concept of Agentic Engineering is reshaping how modern systems are designed. It introduces a new layer to the way we think about artificial intelligence and system architecture. For years, most software systems have operated in a reactive way — responding
Add Webhook Response Module to Zoho Flow
Hi Zoho Flow Team, We’d like to request a Webhook Response capability for Zoho Flow that can return a dynamic, computed reply to the original webhook caller after / during the flow runs. What exists today Zoho Flow’s webhook trigger can send custom acknowledgements
Engenharia Agêntica e as soluções da Zoho
O conceito de engenharia agêntica impacta diretamente como os sistemas são projetos. Este tema inseri mais uma camada a nossa idéia de inteligência artificial. Antes o desenvolvimento de sistemas operavam de forma reativa e dependente de comandos diretos,
Effective project and task customization with CodeX
Dear users, Beyond Task Lists is a series of articles aimed at showcasing the various customization capabilities of Zoho Projects. We'll discuss real life project management scenarios, use cases, and requirements that needs combining multiple features.
Set expiration date on document and send reminder
We have many company documents( for example business registration), work VISA documents. It will be nice if we can set a expiry date and set reminders ( for example 90 days, 60 days, 30 days etc.,) Does Zoho workdrive provide that option?
Debit opening balances of vendors
Dear colleagues: I am looking at the trial balance as on 31st March 2024, and punching opening balances (1st April 2024) in Zoho Books. Vendors have credit balances, by its nature, but some of our vendors have debit balances as well (e.g., we have paid
Zoho Books emails suddenly going to Spam since 11 Nov 2025 (Gmail + now Outlook) — anyone else?
Hi everyone, We migrated to Zoho Books in July 2025 and everything worked fine until 11 Nov 2025. Since then, Zoho Books system emails are landing in customers’ Spam (first Gmail, and now we’re seeing Outlook/Office 365 also starting to spam them). Impacted
Client Portal ZOHO ONE
Dear Zoho one is fantastic option for companies but it seems to me that it is still an aggregation of aps let me explain I have zoho books with client portal so client access their invoice then I have zoho project with client portal so they can access their project but not their invoice without another URL another LOGIN Are you planning in creating a beautiful UI portal for client so we can control access to client in one location to multiple aps at least unify project and invoice aps that would
The Social Wall: February 2026
Hello everyone, This month, we’re bringing you a mix of exciting toolkit enhancements and a few improvements across the web and iOS app, all designed to make your social media management simpler and smoother. File converter Images come in different formats,
Zoho Mail and SalesInbox doesn't link to CRM record using Reply-To
Hi, I've just set up SalesInbox, with the intention of using it for sales enquiries (instead of Desk, which I have been using until now). I've noticed that, unlike Desk, SalesInbox only uses the 'From' email address to attempt to link to a CRM contact
Poor Search Results on Zoho CRM
The search on Zoho CRM is quite poor. Salesforce has now published a new search, when will get this on Zoho? https://help.salesforce.com/s/articleView?id=data.c360_a_hybridsearch_index.htm&type=5
Capture Last check-in date & days since
I have two custom fields on my Account form, these are "Date of Last Check-In" and "Days Since Last Contact" Using a custom function how can I pull the date from the last check-in and display it in the field "Date of Last Check-In"? and then also display the number of days since last check-in in the "Days SInce Last Contact" field? I tried following a couple of examples but got myself into a bit of a muddle!
Next Page