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
👍 Zoho CRM's Notes now gets Reactions and a new look
Available in SA and JP DCs. Rolling out to other DCs in phases. Hello everyone, Notes help users capture important updates, collaborate with teammates, and maintain context for records. Now with Note Reactions, users can quickly acknowledge updates, express
Contact Sharing: Hide email alias from global address list
As the superadmin, I would like to hide my domain aliases from appearing in the global address list. Currently, my end users can see all my aliases. The aliases also appear as type-in addresses when composing a new email. This is a potential security
Zoho Projects - Linking CRM Deals to Projects via API without sending customer contact email invitation to project portal
We are using the Zoho CRM and Zoho Projects APIs to automatically create a project in Zoho Projects and then associate that project with the relevant Deal in Zoho CRM. The API process is working in that the project is created successfully and appears
Incorrect Currency Shown
On Bills, each line shows the rate in the wrong currency (home currency).
Ability to filter services and parts based on a field in the Work Order
Hell FSM team, We have a customer with 2 value streams using Zoho FSM. Each value stream uses different products, at different price point. Currently, all of the products are accessible when creating a work order and modifying a service appointment, which
This user is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details
Hello, Just signed up to ZOHO on a friend's recommendation. Got the TXT part (verified my domain), but whenever I try to add ANY user, I get the error: This user is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details I have emailed as well and writing here as well because when I searched, I saw many people faced the same issue and instead of email, they got a faster response here. My domain is: raisingreaderspk . com Hope this can be resolved. Thank you
[Free webinar] Beyond prompt-to-app: Vibe coding with Zoho Creator | Creator Tech Connect (October 2026)
Hello everyone, We are excited to invite you to another edition of the Creator Tech Connect webinar. About Creator Tech Connect The Creator Tech Connect series is a free monthly webinar consisting of purely technical sessions, where we dive deep into
Zoho Recruit Staffing version Interview using Zoho Meeting
I would like to understand whether Zoho Meeting has a native integration with Zoho Recruit – Staffing Edition. As of now, I am unable to find the native Zoho Meeting integration within the Staffing Edition of Zoho Recruit. Could someone please confirm
Payroll needs to automatically remit taxes, not just give me the calculations
Wagepoint, PayEvo, Waveapps, etc... All your competitors deposit employee payroll, but they ALSO remit taxes automatically. Get with the program, your Payroll app is extremely sparse.
New enhancements to user management
Hello everyone, We're excited to introduce a few enhancements to user creation and user preferences in Bigin! These updates give administrators more flexibility while inviting users, and give users more control over how their data is displayed. With this
Public dashboard table does not load in mobile view - TypeError reading 'viewType'
Our public dashboard links have worked for years. We made no changes. Now the table widget does not load on mobile browsers. It loads fine on desktop, and it loads on a phone when we use "Request desktop site." Chrome DevTools shows this error in mobile
Cannot format "start date" field in Zoho Flow
I am trying to recreate a flow that connects Inventory package creation to Zoho projects (where a task is created in a defined project). I've been able to troubleshoot everything EXCEPT the date fields; specifically the "start date" - which is quite important
Bank Transactions page shows too few transactions due to large header area
In the Banking → Uncategorized Transactions screen, a lot of vertical space is being used by the account header, balance details, tabs, buttons, etc. Because of this, on a normal desktop screen I can see only around 2 transactions at a time, even though
Zoho Mail Android app update (v3.6.5) - Enhancements in Email Composer and Google Meet support
Hello everyone! We are excited to introduce new enhancements in the Zoho Mail Android app (v3.6.5). Let's dive into what's new. Drag and drop email addresses between recipient fields You can now drag and drop the email addresses across the recipient fields:
Migration from QuickBooks to Zoho Books for the U.S. Company
Is there any automation tool available to migrate data from QuickBooks to Zoho Books for a U.S.-based company? If yes, could you please provide the details?
Feature Request: Integración con la Lista del Artículo 69-B del SAT para Zoho Books México
Feature Request: Integración con la Lista del Artículo 69-B del SAT para Zoho Books México Hola equipo de Zoho, Durante los últimos meses he observado una necesidad recurrente entre varios clientes en México relacionada con el cumplimiento fiscal del
Introducing Zoho Key Service, a simpler way to access LLMs without API keys
Available in the Professional, Enterprise, and Ultimate editions in the US, IN, AU, JP, and CA DCs. Hello everyone, We are excited to bring Zoho Key Service (ZKS) in Zoho CRM, a simpler way for organizations to access and use third party LLMs. You can
Single Folder Archival in Zoho Mail
Dear Zoho Mail Community, Have you noticed and wondered what the banner is about in your Zoho Mail's Archive Policy Settings? In Zoho Mail, users have traditionally archived emails to keep their inbox and active folders clean. While this helped reduce
Trigger Workflow Rules from subform row actions
Hello all, Previously, workflow rules could only be configured at the module level, which meant subform data had to be tracked and managed manually. With this update, workflow rules can now be triggered directly by actions within subform rows, giving
Create a single record from multiple images with ICR
Hello all, Zia's Intelligent Character Recognition can now create a single record from multiple images. Users can upload up to three images at once, such as an ID, a passport, and a business card, and Zia will extract the relevant information from all
Free Plan mail accounts details
In the zoho mail pricing there's a free plan that includes: FREE PLAN Up to 25 Users 5GB* /User, 25MB Attachment Limit Webmail access only. Single domain hosting. I need to make sure that I'm able to create multiple email accounts in the form of: name@domain.com
can not use my zoho mail
i bouht domain( avta group.com) and set up mail(Avtar@avta group.com) but i cannot receive or send emails . can you please help out.
Display Issues
Hello, Our company just changed General Managers and the other one was the super admin. Since deleting his profile and making our new General Manager the super admin there have been ongoing issues. One in particular, is when creating estimates, sales
Introducing Night Mode for Zoho Recruit [BETA]
Late-night hiring sessions? Long hours reviewing resumes? We heard you. Night mode [BETA] is now available in Zoho Recruit, giving you a cleaner, more comfortable workspace that’s easier on the eyes while keeping the focus on what matters most: hiring.
Unblock ME
info@pentekykloi.gr Unable to send message;Reason:554 5.1.8 Email Outgoing Blocked. Learn more. I purchase additional storage
Zoho Calendar integration for Bigin
Hello everyone, We're excited to introduce Zoho Calendar's integration in Bigin! For a while now, users have been able to sync events in Bigin with Google Calendar and Outlook Calendar - but with this new topping, it syncs with Zoho Calendar as well.
Workflows, webhooks, and zero manual work: Your webinar operations, on autopilot
Running a webinar is never just about going live. There's the flurry of registrations to track, attendees to follow up with, recordings to share, CRM records to update, and somehow, all of this has to happen on time, every time. Until now, most of it
Zoho Mail - More contextual actions on email list view
Hi Zoho Mail team, I recently completed an email migration from Gmail to Zoho Mail and noticed a feature in Gmail that I think would be a great addition to the Zoho Mail interface. When you hover over an email in Gmail's list view, a number of quick actions
Supervisor Rules --> Custom Function
Hello, currently I can't add a custom function to a supervise rule. Is there a reason for this? Background: We have BluePrint managed tickets and actually we have a Supervise rule which should set the ticket to "closed" after 168 hours since the last
Erro
Subject: CRM Standalone Function creation returns INTERNAL_ERROR Hello Zoho Support, I am trying to create a Standalone Deluge Function in Zoho CRM for a lead intake REST API. The CRM account reports that the Standalone category is enabled, but function
Digest Septembre - Un résumé de ce qui s'est passé le mois dernier sur Community
Bonjour chère communauté ! 👋 Le mois dernier a été riche en nouveautés, en échanges et en découvertes ! Retrouvez ici les contenus les plus utiles, les discussions les plus intéressantes et plus encore. En septembre, nous avons mis en lumière trois nouveautés
Email Forwarding to Zoho Desk Failing After Migration from Gmail to Outlook (Microsoft)
We recently migrated from Gmail to Microsoft Outlook. Since the migration date, emails sent by our customers are no longer being received by Zoho Desk. I tried setting up the email forwarding rules in Outlook similar to what we had in Gmail, but it still
New Update: Convert External Users in Bulk in Zoho Directory
Greetings to all Zoho Directory users out there! We’re excited to introduce a new update that makes user management in Zoho Directory even more efficient; you can now convert external users in bulk! Earlier, admins could convert only one external user
Presenting ABM for Zoho CRM: Expand and retain your customers with precision
Picture this scenario: You're a growing SaaS company ready to launch a powerful business suite, and are looking to gain traction and momentum. But as a business with a tight budget, you know acquiring new customers is slow, expensive, and often delivers
How to import PST files in Office 365?
You can import PST files into Office 365 using native Outlook applications, the Microsoft Purview network upload method, or specialized third-party migration tools. Choosing the right method depends on whether you are migrating a single mailbox or executing
API - Bank Accounts | Reconciliation Discrepancy
Unless I'm reading it wrong, the documentation for the Bank Reconciliations API is inconsistent with itself. https://www.zoho.com/books/api/v3/bank-accounts/#create-a-bank-reconciliation The text definition says that the transaction_id should be a string,
Customer Statement Showing Incorrect Negative Balance Due to Unused Advance
Dear Zoho Support Team, We are facing an issue with the Customer Statement in Zoho Invoice related to customer advances/mobilization advances. The issue is that when a customer has made an advance payment that has not yet been fully utilized against invoices,
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.
Mobile authentication for Zoho Creator portals
Note: This feature was previously available in beta for IN data center users on request. It is now generally available for all users in the IN and US data centers on paid plans of Zoho Creator. Currently, it will be available only for Indian (+91) mobile
HOw to disable or block OTP login on browser.
Hi Support, One of my employee tried & successfully logged in via OTP login mode on his mobile device even though user does'nt have login password . As per our company policy we don't allow user to login on any other device. This feature is available
Next Page