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
OpenAI Is Moving to the Responses API: Here's What It Means for SalesIQ
OpenAI has deprecated its Assistants API and is moving to the Responses API. If you're using OpenAI Assistants with SalesIQ, you may be wondering if you need to make any changes to your existing setup. You don't. SalesIQ has already taken care of the
Deprecation Notice: OpenAI Assistants API will be shut down on August 26, 2026
I recieved this email from openAI what does it means for us that are using the integration and what should we do? Earlier this year, we shared our plan to deprecate the Assistants API once the Responses API reached feature parity. With the launch of Conversations,
Payment for product renewal
Good morning, I am requesting your kind assistance to renew my subscription because when I try to make the payment I get this way
All new Address Field in Zoho CRM: maintain structured and accurate address inputs
Availability Update: 29 September 2025: It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition exclusively for IN DC users. 2 March 2026: Available to users in all DCs except US and EU DC. 24
API - Available Stock Definitions
Okay, Zoho team... your copywriters fell down on the job for this one :) I think these warrant a bit more explanation as to what they include and what they don't.
Feature Request: Add Sort by Cell Color and Text Color functionality
Hello Zoho Sheet Development Team, I am writing to suggest a feature enhancement for Zoho Sheet. Currently, the platform supports "Filter by Color," which is incredibly useful. However, there is no native option to "Sort by Color" (by cell fill or text
Zoho Creator to Zoho Writer for prefilled documents...
In response to the question about connecting Zoho Creator to Zoho Writer for prefilled documents, I wanted to share a working implementation that demonstrates how to use the record_id parameter with the Zoho Writer Merge API. This allows Writer to automatically
Calendar Year View?
Is there a way I can view the calendar in year view? Maybe create a page with a view like this?
Razorpay + Zoho Billing + Zoho Books Integration
Please help us set up this integration.
Proyecto SII
Buenas tardes amigos de zoho. en mi empresa vamos a implementar el proyecto de emisión de facturas SII pero para poder hacerlo hay que subir un xml, estoy intentando automatizar este proceso pero no se como convertir la factura que retorna books a xml
Automate Workflows at the Subform Level
Hello, Enterprise Support Community! We are excited to introduce an enhancement to Workflow Rules that gives you more control over automation within your records. Previously, Workflow Rules could only be configured at the module level, which meant changes
Custom module - change from autonumber to name
I fear I know the answer to this already, but thought I'd ask the question. I created a custom module and instead of having a name as being the primary field, I changed it to an auto-number. I didn't realise that all searches would only show this reference.
What is wrong with this sendmail message?
I keep getting improper statement errors on the message, but I cannot see a problem. Also, if the message is much longer the whole message turns black instead of being coloured yellow, red and blue. client = Clients[ID == input.Client_Lookup]; sendmail
sales IQ issue on website
i integrated the zoho sales IQ code on the website but it is comming in distroted form i am sharing the screenshot below the website is bulit in wix platform
Zoho Creator - Install app from Gallery takes too long
I'm trying to install the 'Volunteer Portal' from the app Gallery of Zoho Creator. It has been busy installing the app for over 2 hours now. It might be okay, but how long is something like that supposed to take? I never installed anything from that Gallery
Automate customer follow-ups with Sequences in Bigin
Greetings, We hope you're all doing well! We're happy to announce a new feature that we've added to Bigin. Following up with every lead at the right time can be challenging, especially when your team is managing multiple conversations across emails, calls,
How can I load a network into the cliq desktop app?
I have both the standard cliq log in for my org and I am part of a cliq network. In the browser I can choose which I log in to. However, in teh desktop app if I log in it will alwasy load my org's cliq. Can I switch this to the network I have create
Kaizen #258 - Getting Started with zoho-crm SKILL.md
Howdy tech wizards, Welcome to a fresh week of Kaizen. This week, we are taking a look at the zoho-crm SKILL.md, an Agent Skill designed to help AI coding agents work with Zoho CRM’s developer capabilities. What is zoho-crm SKILL.md? The zoho-crm skill
4.7.500 Server busy. Please try again later from [136.143.188.52]. (S77719) [SJ1PEPF00001CE2.namprd05.prod.outlook.com 2026-09-04T11:42:24.261Z 08DF0918255760D6]
4.7.500 Server busy. Please try again later from [136.143.188.52]. (S77719) [SJ1PEPF00001CE2.namprd05.prod.outlook.com 2026-09-04T11:42:24.261Z 08DF0918255760D6]
Set Up Google Tag Manager for Your Zoho Recruit Career Site
Understanding how candidates interact with your career site can help you improve their experience and make better decisions about your recruitment process. With the new Google Tag Manager (GTM) integration in Zoho Recruit, you can connect your career
Gmail users think they've replied to invite when they havent.
Hi, I think there's an issue when inviting gmail users to a zoho calendar event. Basically, when an invite from zoho calendar is received by a gmail user, gmail has this functionality where it will render "yes/no/maybe" buttons that, when clicked, they
Automating CRM backup storage?
Hi there, We've recently set up automatic backups for our Zoho CRM account. We were hoping that the backup functionality would not require any manual work on our end, but it seems that we are always required to download the backups ourselves, store them,
Translated country names in Address field not sorted alphabetically
Hello. I have a form with an address field that includes the country dropdown. The primary form language is English (as is the Zoho Forms account language). The form has been translated into German from the form's Settings > Translation functionality.
Zoho Commerce Microstore to bypass customer portal on spesific items
Hi everyone, I’m currently testing the Microstore feature in Zoho Commerce and trying to understand how it behaves with access restrictions. My goal is the following: Even though the customer portal is enabled (and the main store requires users to sign
Calendar Attachments in iOS Mail App
It appears that viewing or accessing attachments to a calendar event is not possible in the iOS mail app. Is this correct? The ability to view calendar attachments in the mobile app is vital for me. Is this just a setting I'm missing somewhere?
Zoho Desk API modifiedTimeRange returns HTTP 500 around 2026-03-08T02:00:00.000Z
Hello Zoho Support Team, We are experiencing a reproducible HTTP 500 Internal Server Error when querying the Zoho Desk API search endpoint with a specific modifiedTimeRange boundary. ### API Endpoint GET /api/v1/tickets/search ### Reproduction Steps &
Grey border on inserted Sheet on Write document
When inserting a Sheet on a Write document, it show an ugly gray border. How to get rid of it?
Send workflow alerts as a single mass email to all recipients
Managing workflow notifications becomes easier when everyone needs visibility into who received an alert. With this enhancement, workflow email alerts can now be sent as a single email to all recipients, giving recipients visibility into the other users
Kaizen #253 : Custom Validation for Blueprint to Enforce Mandatory File Uploads and File Extension Compliance Using Client Script
Welcome to another exciting Kaizen post on Client Script! Have you ever wanted more control over what gets uploaded to a File or Image field in Zoho CRM, like restricting file types, validating file names, or showing a custom error before an inappropriate
WORK DRIVE CUSTOMIZATION
WORK DRIVE CUSTOMIZATION Create folder for every Case by “Contact Name “in Work Drive under Associate Deals Folder Directory: User Work Drive Accounts: Route Directory Associate Cases Case Name, Case Number Client Upload- Shared with contact (for collaboration)
How do I migrate from Office 365 to Zoho Mail?
Check out Advik Email Migration Wizard, this software is specially developed to move mailboxes from Office 365 to Zoho Webmail. In addition you can migrate from Gmail, Yahoo, Rediffmail and 80+ webmail servers to ZOHO MAIL. Isn't it amazing? This is an all in one email migration solution. Steps to export emails from Office 365 to Zoho Webmail are as follows; Run Advik Email Migration Tool in your system. Select Office 365 as source and enter its login credentials. Select mailbox folders and choose
【続々公開】Zoholics Japan 2026 セッション情報を更新しました!
ユーザーの皆さま、こんにちは! Zoholics Japan 2026のセッション情報を続々と公開しています! 今年は3つのトラックで、Zohoの最新情報やAI活用、製品アップデート、 活用事例など、多彩なセッションをお届けします。 現在公開中のセッション(一部) ・Zoho CRM 製品アップデート ・Zoho CRM Plus 製品アップデート ・Zoho Community セッション ・Zoho Desk セッション ・中堅・成長企業の人事DX ~AI時代に何から始めるべきか?~ ・Zoho
Zoho Forms integration Google Sheets
Hi, quick one. I wonder if you can help. I have a Zoho Form integrated to a Google Sheet. The fields are showing across the top, but no records are there. I have checked in Zoho Forms to see if there have been any failed integrations, but there are none.
What's New in Zoho POS - August 2026
Hello everyone, Welcome to Zoho POS’s monthly update, where we share our latest feature updates, enhancements, events, and more. Let’s take a look at how August went. Boost your customer loyalty with loyalty points In a retail business, keeping a customer
Zoho ERP | Product updates | June 2026
Hello users, We launched Zoho ERP on January 23, and since then, our goal has been to help businesses streamline and manage their operations with greater efficiency, flexibility, and control. Since the launch, we've continued to enhance the platform every
3 numbers after comma in discount field
Hi, i need to make discount like: ex. 34,345% it's possible? Thank you.
ZOHO Campaigns in ZOHO Analytics - Campaigns vs Contacts Table
There seems to be information in the Zoho Campaigns table such as Unique Opens and Unique Clicks that can't be found in the Campaigns vs Contacts table where only Opens and Clicks are shown on a per contact level. Is there a way to bring Unique Opens
Canva Integration
Hello! As many marketing departments are streamlining their teams, many have begun utilizing Canva for all design mockups and approvals prior to its integration into Marketing automation software. While Zoho Social has this integration already accomplished,
Time Zone is incorrect
Time zone is not working properly...I've checked it twice. I'm eastern U.S. time it's currently 12:22 pm EST. CRM shows 3:22 pm EST.
Default Country list suggestions on CRM is different then on Book; how do/did others address this?
So I already have a support ticket in for this and waiting for a response but figured I'd ask the community also to see if others experienced the same problems and/or how they went about addressing it because sometimes I feel like I'm going crazy with
Next Page