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
Allow Admin to Configure Report > More Options Button
As an Admin, I want to configure the options of the Report > More Options button to improve UX and reduce Developer overhead. See attached screenshot. Original question posted here: https://help.zoho.com/portal/en/community/topic/modify-standard-rep
Generate a link for Zoho Sign we can copy and use in a separate email
Please consider adding functionality that would all a user to copy a reminder link so that we can include it in a personalized email instead of sending a Zoho reminder. Or, allow us to customize the reminder email. Use Case: We have clients we need to
You cannot send this campaign as there is no contact in the selected mailing list.
We have synced contact lists and sent campaigns just fine prior to today. Now no matter what list I upload when I go to send the campaign it gives an error "You cannot send this campaign as there is no contact in the selected mailing list." And now it
Pivot Report Formula - using a today() variable
Is it possible for me to use a value of today() in a formula on a pivot table? I'm trying to identify where the end date of a project is greater than the current date if("10. Projects (Zoho Projects).End Date" > today(), 'Yes', 'No') I get the error that
Cannot connect IMAP to outlook
Hello I have followed the instructions to connect my zoho account to Outlook IMAP but get this message: Session Id: bba118fb-151c-824f-9512-3ad1e91b109d Timestamp: 1708976566964 Error code: INVALIDCREDENTIALS INTERACTIONREQUIRED I'm using the exact configeration
Department Overview by Modified Time
We are trying to create visuals to show the work our agents do in Zoho Desk. Using Zoho Analytics how can we create a Department Overview per modified time and not ticket created time? In order for us to get an accurate view of the work our agents are
Enhance Sign CRM integration
Hello all, I'm working on a custom Deluge script to enhance the integration between Zoho CRM and Sign by using a writer merge template for additional flexibility. I want to replicate the post-sign document integration that exists between CRM and Sign
Zoho Workdrive download was block by security software
Hi Team, Recently workdrive download was blocked by huorong security. Could you please advise how to put zoho workdrive as white list? every time we put "*.zohoexternal.com" or "workdrive.zohoexternal.com", the warning msg will still pop in next dow
Choosing a portal option and the "Unified customer portal"?
I am trialling Zoho to replace various existing systems, one of which is a customer portal. Our portal allows clients to add and edit bookings, complete forms, manage their subscriptions and edit some CRM info. I am trying to understand how I might best
General feedback
I think Zoho is at the moment (potentially) the best, or perhaps the only, real online solution, for business, and not just business. Surely the only one that has all the features that I need (and I've probably tried everything, at least all that has a cost-free option). It has still got lots of bugs and imperfect features, so I do hope it keeps developing and becomes a really professional platform. Lots of people (including me) want to use such one platform for all scheduling/mail/note-taking...
How to add SSL to Short URL custom domain?
Hi, I've added a custom domain the the URL Shortener Domains. It's creating the short URL fine, but when clicking through, firstly I get an SSL warning, then a 400 Bad Request warning.
Single Portal for Multiple Apps
Hello, I'm just getting started with Zoho and I'm very overwhelmed. I am currently using the free trial of Zoho One, but if I can figure it out, I intend to upgrade to the paid version. Zoho One, of course, gives me access to an entire suite of services/applications. One of the things I'd like to do is have a single place for clients (customers?) to log in and view current projects, invoices, contact information, etc. A single login for my clients. A single portal. I've come across documentation
Antispam validation failed for your domain in Accounts
I tried adding a domain to zeptomail.zoho.com, but the “add domain” operation failed. The front‑end error reads: “Domain could not be added. Please contact support@zeptomail.com.” The back‑end API returned: ``` { "error": { "code": "TM_3601", "details":
CodeX Scripts for Enforcing Custom Project Logic
Every organization has a defined way of executing projects. There are clear expectations around how tasks should move, when projects should progress, and which actions require validation. When these rules are consistently followed, projects remain structured
Cancelled appointments still block out timeslot
I haven't had to test this before, but I've just found a problem. I had an appointment in a certain timeslot, and that appointment was cancelled. However, Bookings won't let another appointment be booked in that slot - it makes that time unavailable until
Preventing Group Emails From Being Sent to Group Member Personal Mail
We have a group setup for a public facing email address. We have streams turned on for this group. Right now when an email is sent to this group email it hits the group stream and also sends a copy of the email to all group members. We'd like to disable
Unusual activity detected from this IP. Please try again after some time.
Hello Zoho admin and IT team We are a registered website in Eloctronic services and we been trying to add our users to the zoho system but this issue faced us ,, hope you unlocked us please.
¿Puedo migrar mi sitio desde WordPress a Zoho? ¿Zoho admite herramientas con código personalizado?
¡Hola comunidad! Estoy evaluando la posibilidad de migrar mi sitio web https://calculadoradenotas.cl/ desde WordPress a una solución Zoho, y tengo algunas dudas técnicas que espero puedan aclararme. Mi sitio no es solo informativo: es una herramienta
How do I link my invoice to an estimate?
There has been instances where I have created estimates, however, invoices for the same estimate were created independently. The status of these estimates hasn't converted to 'invoiced'.
Impossible to import Journal from Freshbooks
I have been trying to import journals from Freshbooks since August 30th. Every time I try to import, I get an error message. I have already made sure every row has a date. First it was saying the account and notes had unexpected input and that every debit/credit
Peppol: Accept Bill (Belgium)
Hi, This topic might help you if you're facing the same in Belgium. We are facing an issue while accepting a supplier bill received by Peppol in Zoho Books. There is a popup with an error message: This bill acceptance could not be completed, so it was
Convert invoice from zoho to xml with all details
How to convert an Invoice to XML format with all details
Prevent subform editing on a module's detail's page
Hi everyone, We would like to prevent any editing of the subform data in the : Create page Edit page Details page (as subform editing is now allowed by the recent UX update) We are able to prevent editing by making the subform fields read only in the
Refresh frequency
Dear Zoho Team, I really, truly appreciate that Zoho Books gets frequent updates. As a matter of fact this is how a good SaaS company should stay on top. However, I feel that I have to hit refresh almost every day. This was exciting at the beginning but
Weekly Tips : Save Time with Saved Search
Let's assume your work requires you to regularly check emails from important clients that have attachments and were sent within a specific time period. Instead of entering the same conditions every time—like sender, date range, and attachments included—you
Discontinuing Zoho ShowTime service on May 30, 2026
Hello everyone, As a follow-up to our earlier announcement, we’d like to share an important update regarding Zoho ShowTime’s discontinuation timeline. Zoho ShowTime, our online training platform, reached its end of life on December 31, 2025, and its services
Ability to CC on a mass email
Ability to CC someone on a mass email.
Bookings duration - days
Hi team, Is there any way to setup services/bookings that span multiple days? I am using Zoho Bookings for meeting room bookings. Clients may wish to book a room for more than one day, for up to a month. If not, is there a plan to allow services to be setup with durations of Days as well as hours and minutes? Many thanks, Anna.
Customer address in Zoho Bookings
Hello, Is it possible to add customer address information to the Zoho bookings appointment screen? Or have it pull that information automatically from the CRM? We are wanting to use this as a field management software but it is difficult to pull the address from multiple sources when it would be ideal to have a clickable address on the appointment screen that opens up the user's maps. It would also be advantageous for the "list view" to show appointment times instead of just duration and booking
Feature Request - Allow Customers To Pick Meeting Duration
Hi Bookings Team, It would be great if there was an option to allow customers to pick a duration based on a max and minimum amount of time defined by me and in increments defined by me. For example, I have some slots which are available for customers
New feature: Invite additional guests for your bookings
Hello everyone, Greetings from Zoho Bookings! We are happy to announce the much-awaited feature Guest Invite, which enhances your booking experience like never before. This feature allows additional participants to be invited for the bookings to make
Changing the owner of a call
Am I correct in my conclusion that I cannot change the owner of a call in Zoho? The field does not show up in the screen, nor can I make it show up as the systems does not give me that option. I cannot "mass update" it either. I tried it, but Zoho refuses to change the name of the owner. Please help out: how do I change the owner of a call.
Unified Notes View For Seamless Collaboration
To facilitate better coordination among different departments and team members, the notes added to a record can now be accessed in all its associated records. With this, team members, from customer service representatives to field technicians, can easily
Remove Profiles from "Forecast" Module
How can I remove Profiles from My forecast Module? Image Below The only revenue generators are the VP's, and the Estimation Managers, and the Estimators subordinate to the Est. Managers. How can I remove the unused Profiles? Its frustrating to see them
Restoring records from the recycle bin programatically
Background I'm working on a piece of software to automate conversion of Leads into Deals based on order status from my company's website. The process is mostly complete, right now I'm just working on handling a few edge cases to ensure data integrity.
Does Zoho Learn integrate with Zoho Connect,People,Workdrive,Project,Desk?
Can we propose Zoho LEarn as a centralised Knowledge Portal tool that can get synched with the other Zoho products and serve as a central Knowledge repository?
Create static subforms in Zoho CRM: streamline data entry with pre-defined values
Last modified on (9 July, 2025): This feature was available in early access and is currently being rolled out to customers in phases. Currently available for users in the the AU, CA, and SA DCs. It will be enabled for the remaining DCs in the next couple
Invoices not arriving and mail server settings
I am having an issue where some clients are not receiving invoices. I have configured Zoho Books to send on my behalf and configured the appropriate SPF, DKIM and DMARC settings on my mail server and tested these as working. I get the CC'd copies so I
SalesIQ Identity Update for Logged In Wordpress User
Hey folks, SalesIQ does not automatically detect when a visitor logs in to WordPress and update their identity to match. For example, if a client of ours visits the site and logs in, SalesIQ will not track them correctly by default. The Solution The solution
Paragraph spacings in Zoho Notebook are double-spaced only. Is there a way to keep the original spacing format?
Sorry I don't know the proper terminologies but the best way I can put it is all single-spaced paragraphs that I copy to Zoho Notebook become double-spaced paragraphs. It's very inconvenient and counterproductive when copying and pasting things from and
Next Page