Hello everyone!
Welcome back to another post in the Kaizen series!
We are incredibly grateful for all the feedback we received, and as promised, we will answer all the queries in this Kaizen series.
This week, as requested by a user, we will do a detailed comparison between Webhooks, Functions, and Schedules.
Let's dive right in!
In modern CRM automation and business workflows, three key mechanisms stand out for executing custom logic and integrations—Webhooks, Functions, and Schedules. While these might seem similar at first glance, each serves distinct purposes and offers unique advantages depending on your use case.
Understanding when and how to use each approach is crucial for building efficient, scalable, and maintainable automation systems. This Kaizen post will help you navigate these choices with practical use cases and clear guidelines.
Let's see what each of these features means.
1. Webhooks
Event-driven external communication
Webhooks are HTTP callbacks that automatically trigger when specific events occur in your CRM system. Think of them as "reverse APIs" where instead of your app polling for changes, the system pushes notifications to your external endpoints.
Key Characteristics
- Trigger: Can be triggered by workflows, approvals, and real-time event-based(record creation, updates, deletions).
- Execution: External to the CRM platform. Send HTTP POST/GET requests to an external URL.
- Response time: Near-instantaneous.
- Reliability: Dependent on external endpoint's availability.
When should you use Webhooks?
- Send simple, real-time notifications to external systems.
- These are lightweight notifications where you just want to inform external systems that something happened in your CRM, but do not expect a response.
- Trigger immediate actions in the external app.
- When data changes happen in your CRM, you can use webhooks to inform the external system of the same and trigger specific actions in the external system.
- Live notification and alerts.
- Webhooks can send live notifications and alerts when an important event occurs in CRM. You can use multiple channels like SMS, emails, push notifications, etc., to notify of the event.
Examples
- Notifying an external system when a lead is converted.
- Triggering payment processing when invoice status changes.
- Sending SMS immediately when a high-priority lead is created.
2. Functions
Server-side custom logic
Functions in Zoho CRM are custom code snippets written in Deluge scripting language to execute your custom business logic.
Key Characteristics
- Trigger: Can be triggered by various events or called directly through APIs, workflows, or button actions.
- Execution: Internal to the CRM platform as they run on Zoho CRM servers.
- Response time: Fast.
- Reliability: High, with in-built error handling mechanisms.
- Support full Deluge scripting.
- Can call external APIs and handle responses.
When should you use Functions?
- Complex business logic that requires access to CRM data
- Involves complex decision-making processes to compare and analyze data from multiple modules of your CRM or other service. Functions work great here as they can access data via APIs easily.
- Data validation and transformation
- You can check for data correctness to align with your business rules and convert them to the right format to use them as necessary at various places. Functions are ideal as they can validate against existing CRM data and apply complex transformation logic in real-time.
- Custom workflow actions
- You can orchestrate functions to perform multi-step processes across modules that standard workflow actions cannot perform.
Examples
- Validating data against business rules before saving.
- Implement approval workflows with multiple stakeholders.
- Triggering complex multi-module workflows like converting a lead to a contact and account, triggering workflow rules for the new account, adding a follow-up task to the converted lead, and adding it to marketing campaigns.
3. Schedules
Time-Based Automation
Schedules in Zoho CRM are functions that are executed automatically at specific intervals of time. They are perfect for batch processing, data synchronization, regular clean up, and sending routine reminders.
Key Characteristics
- Trigger: Time-based schedules like a cron job.
- Execution: Internal to the CRM platform.
- Response time: Depends on the schedule frequency.
- Reliability: High, with automatic retry mechanisms.
- Support full Deluge scripting.
- Supports OAuth-based API calls and data fetching from internal or external systems.
When should you use Schedules?
- Batch data processing
- Instead of processing records one at a time as they are created or updated, you can batch them all in groups to be processed later, say after business hours. This is not only efficient but also does not impact system performance during peak hours.
- Synchronize data
- You can run a schedule to compare data between your CRM and external system and regularly update them to have up-to-date information on both systems.
- Periodic reporting and analytics of your data
- Create reports, update dashboards, and analytics like weekly sales performance, at set intervals to ensure your teams and stakeholders have the right data.
- Maintenance and housekeeping
- These are the usual behind-the-scenes tasks like archiving old data, deleting temporary files, etc., once a week to keep your CRM system running smoothly.
Examples
- Daily data backup and archival
- Weekly sales performance reports
- Monthly lead scoring recalculation
- Quarterly data cleanup and deduplication
- Sync product data in CRM with an external ERP system every eight hours.
Here is a comparison table to help you decide which feature to use.
Feature | Webhooks | Functions | Schedules |
Trigger | On CRM events(real-time) | On CRM events/manually | On a schedule(time-based) |
Custom Logic | No(send data only) | Yes(custom script in Deluge) | Yes(deluge, time-driven logic) |
External Calls | Limited(webhook only) | Extensive(APIs, CRM modules) | Extensive APIs, CRM modules) |
Data Manipulation | No | Yes | Yes |
Best For | Simple push notifications | Complex workflow automation | Recurring tasks |
Examples | Notifying ERP, sending SMS | Auto-updating field, triggering emails | Daily follow-up, weekly performance report |
Best Practices
- Keep it simple. When you need a quick, no-frills integration, go with webhooks first.
- Put your smarts in one place. Use functions whenever you need custom business rules or to tie together different parts of your CRM.
- Schedule wisely. If you have regular batch jobs or routine tasks, set them to run on a schedule, ideally during off-peak hours so your team's daily operations are not slowed down by behind-the-scenes processes.
- Watch and learn. Build in error logging and notifications for both functions and scheduled jobs, so you can catch and fix problems before they snowball.
- Stay efficient. Remember that functions and scheduled scripts count against your API and execution limits. So, write lean code and keep an eye on your usage.
Begin by pinpointing your unique needs, weigh the pros and cons of each option, and be open to mixing methods when necessary. True automation success depends on solid error handling, ongoing monitoring, and regular upkeep.
We hope you found this post useful. Let us know if you have questions in the comments or drop us an email at support@zohocrm.com.
Cheers!
-----------------------------------------------------------------------------------------------------------------------------------
Recent Topics
Add Real-Time Microphone Audio-Level Indicator During Screen Recording
Hi Zoho WorkDrive Team, Hope you are doing well. We would like to request an important enhancement to the Zoho WorkDrive screen-recording experience. Current Limitation: During a recording session, there is no visual indication that the microphone is
Zero Personalization of the File Sharing Experience
By now (2025) this is the maximum level of personalization available for a Zoho sharing link. We gently asked Zoho if we could modify at least the background, and they replied that it cannot be customized. We're truly disappointed – and surprised every
External Share > Edit: Cannot Create Zoho Files
Hi Zoho, When we create an external share link with Edit permission, our external users are unable to create a Zoho file (Zoho Writer, Zoho Sheet and Zoho Show). They can only upload files. They can edit the Zoho files if we create them internally and
Two factor authentication for helpdesk users
The company i work for wants use the helpdesk site in Zoho desk, as a place for their distribution partners to ask question and look for information about our product. The things there is suppose to go up there is somewhat confidential between my company
Users Not Automatically Being Added To WorkDrive Team
I have already created a ticket for this issue, but the support team doesn't seem to understand what's happening. Our organization started with a trial of Zoho Workplace around November 10, 2025. I created 10 users, including myself. I sent out the invites,
Kiosk can't merge picklist or multiselect
There is no ability to load a multiselect or picklikst field into a kiosk with the values that have been previously selected. So, I essentially have 3 unacceptable options: 1.)Load the value into a text string and include instructions like this: "Picklist
AGE field from DATE OF BIRTH Field.
HI! I have a field called date of birth in my CRM (LEADS, CONTACT etc…) How can I know the AGE today I would like to create a field AGE. I now how to create a field but I don´t which calculation (CUSTOM FUCTION) to make ¿ANY HELP?
How to update/remove file in zoho creator widgets using javascript API
Hi Team, I have developed a widget which allows inserting and updating records I have file upload field with multiple file upload. Now while doing insert form record, I am using uploadFile API to upload files for that record. I am using updateRecord API
Introducing Enhanced Storage Management
We’re excited to roll out two new enhancements in Zoho Recruit, Subscription Information and Storage Management — designed to give admins complete visibility into subscription details, feature limits, and storage consumption — all from one place inside
Announcing new features in Trident for Windows (v.1.34.4.0)
Hello Community! Trident for Windows just got better! With this update we have features that make your daily work easier and more efficient. We've added some features that are exclusive to our app and we're sure you'll find them useful. Let’s dive into
Report Hover Setting
Would be great if we will able to show information to the user while hovering a record in a report.
Synchronization between Gmail and Zoho Mail
Hello! I am using Zoho Mail within the Zoho One platform. I have completed the basic setup and added all the required DNS records with our domain provider. Our goal is to set up two-way synchronization between our current Gmail inbox and Zoho Mail, but
Vertical images displayed as horizontal
Some pictures that originally are in vertical position are displayed in horizontal after the upload. It seems that system rotates them by 90 degrees. How can I fix this issue?
Zoho Desk iOS app update: Saved filters and sort options
Hello everyone! Saved filters created on the web(desk.zoho.com) for tickets are now accessible on the Zoho Desk iOS app. You can easily rename, delete, or clear filters on the go. We have also introduced Sort options on the ticket listing screen, allowing
Introducing VeriFactu Support in Zoho Books
Hello users, Spain has introduced the VeriFactu system under Real Decreto 1007/2023 to ensure integrity, traceability, and anti-fraud compliance in e-invoicing. Starting January 1, 2026, all B2B invoices must be reported to Agencia Estatal de Administración
Big Things Just Dropped in the SalesIQ Universe: Top Upgrades You’ll Love in Nova’25
Nova'25 has landed, and it’s packed with meaningful upgrades to help you engage smarter, work faster, and scale with ease. Whether you're into proactive messaging, smarter automation, or better admin control, there's something here for everyone. Here's
Time Entries in Analytics
I am trying to import a zoho sheet into zoho analytics. In my sheets one of the columns has "time Entries" in this "format HH:MM am/pm" example 11:00 PM. After import, i noticed that analytics converted the time to "00 Jan 1900 23:00:00".. how do i maintain
Amazon invoice in Zoho Books
I have just made my first few sales on Amazon India. Amazon Seller account generates invoices for the sales made on Amazon. These invoices are sent to customers also. Now when I was only making offline sales, I used to create Invoices in Zoho Book. Now
Zoho Creator Upcoming Updates - November 2025
Hello everyone, Welcome to your monthly roundup of new features and enhancements! We hope you've already taken a look at Release Projection 2—it details the features coming your way for the rest of the year. And this month, we're excited to start rolling
Table dimensions
I try changing the dimensions of the table on my computer but it doesn't change. Do I have to be a premium member or does it only work on the app?
Zoho Webinar + HubSpot : Simplifiez la gestion de vos données de webinaires
Les webinaires sont aujourd’hui essentiels pour interagir avec vos prospects et vos clients. Cependant, la gestion des données entre plusieurs plateformes peut vite devenir complexe. Grâce à la nouvelle intégration entre Zoho Webinar et HubSpot, vos outils
I am trying to give access to one of our educators access to 3 forms in Zoho and she is not able to view the data - Access issue
Hi Team, When I try to provide read access to one of our educators on Zoho for Pre-training , post training and Impact survey forms submit form access which also allows them to read , it does not show them data
How to book GST paid in zoho books
hi, i am a new user to Zoho books and not able to book GST paid in books, kindly suggest how i can book it in books. thanks, siddharth
PUNJAB NATIONAL BANK (CORPORATE) INDIA - NOT AVAILABLE IN BANKING
Dear sir, Kindly fix it. PUNJAB NATIONAL BANK (INDIA) is available but PUNJAB NATIONAL BANK (CORPORATE) is not available. Kindly enable this banking since we need to categorize the entries. Regards, Sanjay Jena email id/ user id : travewithmerchant@
Employment Contract / HRMS Documents - Zoho People
How do I create customized HR documents for disbursal from Zoho People ? Example, say offer letters ? appointment letters ? Memos ? We want to be able to preset these in one or ther other form and issue them to employees who are in Zoho People.
Is it possible to create a word cloud chart in ZoHo Analystics?
Hi there, I have a volume of transaction text that I would like to analyse using word cloud (or other approcah to detect and present word frequency in a dataset). For example, I have 50,000 records describing menu items in restaurants. I want to be able
Kaizen #216 - Actions APIs : Email Notifications
Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are
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,
Your bot just got smarter: AI-Powered routing that reads between the lines
What if your bot could tell the difference? Between a visitor who just needs a quick answer, someone actively comparing options, and a frustrated customer one click away from leaving? Most bots can't. They deliver the same response to everyone, missing
Weekly Tips : Master Keyboard Shortcuts in Zoho Mail
If you spend a lot of time managing emails, switching between your mouse and keyboard can slow you down. Whether you are replying to clients, organizing your inbox, or searching for messages, every second counts. So, how can you streamline your email
Introducing custom lookup fields in the Tickets, Contacts, and Accounts modules
Hello all, We are excited to announce a new enhancement that will empower you to further customize the Tickets, Contacts, and Accounts modules. Now, you will be able to create custom lookup fields in your Tickets, Contacts, and Accounts layouts for more
DKIM cannot be enabled for the domain as no verified default selector present
Can't get the DKIM working. May you please check my account (nksy.us) to see what's wrong?
Contacts per department
Hello, Is it possible to limit Contacts to a Department? Thanks
How to restrict user/portal user change canvas view
Hi , I would like to restrict user / portal user change their canvas view because I hide some sensitive field for them. I dont want my user switch the canvas view that do not belong to them But seems Zoho do not provide this setting?
Collections Management: #3 Tackling Payment Failures
Sam refreshed the dashboard. "Payment failed". Same customer. Same subscription. This is happening for the third time. He sends a usual email: "Your renewal payment failed again. Could you please check and retry?" A couple of days passed, and there was
How do I increase the email attachment size in Zoho CRM ?
It looks like I'm limited to 10MB when sending an attachment using the email widget on a record in Zoho CRM. Is there a way to increase the size? Or can I use some other tool? From what I'm reading online, I'm maxed out at 10MB. Any insight would be greatly
Custom Field in Zoho Projects pulling into Analytics
We have a client that we have built our their new business process using Zoho Projects, and we have build a lot of custom fields with their their Projects where they are capturing specific data points that we want to be able to track and pull data, as
Bookmark Loading is Buffering
Hi, i clicked on the bookmark tab, around yesterday and since then it's been constantly buffering and doesn't allow me to access the mail's i have tried login in and out but of no help also trying to share a screenshot of the issue around 232 kb size,
Request to remove domain "greentechcoatings.vn" from previous Zoho account
Hello Zoho Support, I would like to register the domain "greentechcoatings.vn" in my new Zoho Mail account, but I receive the message "This domain is already associated with another account". Please remove the domain from any previous/unknown account
WhatsApp Channels in Zoho Campaigns
Now that Meta has opened WhatsApp Channels globally, will you add it to Zoho Campaigns? It's another top channel for marketing communications as email and SMS. Thanks.
Next Page