Kaizen #201 - Answering Your Questions | Webhooks, Functions, and Schedules

Kaizen #201 - Answering Your Questions | Webhooks, Functions, and Schedules


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.

Last week, in our 200th post, we addressed one of the requests for a detailed guide on Token generation using the Python SDK.

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!

-----------------------------------------------------------------------------------------------------------------------------------

IdeaPrevious Kaizen post - Token generation in Python SDK
    • Sticky Posts

    • Kaizen #198: Using Client Script for Custom Validation in Blueprint

      Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Kaizen #226: Using ZRC in Client Script

      Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
    • Kaizen #222 - Client Script Support for Notes Related List

      Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
    • Kaizen #217 - Actions APIs : Tasks

      Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
    • 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
      • Recent Topics

      • Zoho Books API invoice email bouncing with 'relaying-issues' error

        I have waited over 30 days for zoho books uk to assist with the following and i have had no replies or tickets erronously closed. The service has been terrible - very unlike zoho! So i am raising this here hoping that a community member can assist: Hello,
      • Stop the Workarounds: We Need Native Multi-Step Forms

        After over 17 years of community requests, I'm hoping the Zoho team can finally address the lack of native multi-page form support in Zoho Creator. This has been one of the longest-standing feature requests in the community, with threads spanning nearly
      • Product Updates in Zoho Workplace applications | January 2026

        Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications for the month of January. Zoho Mail Zoho People Notifications preview in Zoho Mail Notification emails from Zoho People
      • How do i setup default values for few fields

        We have few fields in CRM like rate of return, type etc - they can be picklist and standard inut fields. picklist we have choice to set default value. but how do we default some value in input type of fields?
      • We know the company but not the contact

        We are fairly new to Zoho, part of our marketing stack is we use products like lead feeder to identify which companies are visiting our site. We are able to match this data to salesiq but cannot find a way to add a company name to the salesiq visitor
      • Customize Calendar view in Teamspaces Settings

        Right now every customization that happens inside of the calendar view inside of CRM is only visible for the specific user. We want to be able to set up calendar views as an admin for specific roles. I would suggest to do that inside of the settings of
      • How to filter subform report based upon main form report in dashboard

        Hi Team, I am creating a dashboard in Zoho Analytics. I want to have a main form report and below I want to show subform report of main form. If I filter the main form with date then I want to show subform records based upon main form. how can I achieve
      • using the Client script I want to Hide Show the Fields

        if Related to service means some of the field like service no want to shoe and hide Amc no , purchase no how i achive this let issu = ZDK.Page.getField('Issue_Related_To').getValue(); if (issu == 'Service') { var field_obj = ZDK.Page.getField('Warranty_Cases');
      • From Zoho CRM to Paper : Design & Print Data Directly using Canvas Print View

        Hello Everyone, We are excited to announce a new addition to your Canvas in Zoho CRM - Print View. Canvas print view helps you transform your custom CRM layouts into print-ready documents, so you can bring your digital data to the physical world with
      • Ask the Expert – Zoho One Admin Track : une session dédiée aux administrateurs Zoho One

        Vous administrez Zoho One et vous vous posez des questions sur la configuration, la gestion des utilisateurs, la sécurité ou encore l’optimisation de votre back-office ? Bonne nouvelle : une session Ask the Expert – Zoho One Admin Track arrive bientôt,
      • Kanban view on Zoho CRM mobile app!

        What is Kanban? The name doesn't sound English, right? Yes, Kanban is a Japanese word which means 'Card you can see'. As per the meaning, Kanban in CRM is a type of list view in which the records will be displayed in cards and categorized under the given
      • Write-Off multiple invoices and tax calculation

        Good evening, I have many invoices which are long overdue and I do not expect them to be paid. I believe I should write them off. I did some tests and I have some questions:  - I cannot find a way to write off several invoices together. How can I do that,
      • Kaizen #210 - Answering your Questions | Event Management System using ZDK CLI

        Hello Everyone, Welcome back to yet another post in the Kaizen Series! As you already may know, for the Kaizen #200 milestone, we asked for your feedback and many of you suggested topics for us to discuss. We have been writing on these topics over the
      • vendors / customers with 2 different address and gst no

        Why can't we have option for more than one address and depending on the state option for more than 1 GST no. ? We have customers / vendors PAN india with different addresses and GST no. for different states.
      • Recurring Automated Reminders

        Hi, The reminders feature in Zoho Books is a really helpful feature to automate reminders for invoices. However, currently we can set reminders based on number of days before/after the invoice date. It would be really helpful if a recurring reminder feature
      • Fail to send Email by deluge

        Hi, today I gonna update some email include details in deluge, while this msg pops up and restrict me to save but my rules has run for one year. can you tell me how to use one of our admin account or super admin account to send the email? I tried to update
      • Transitions do not update fields until the record moves to next stage

        We have a blueprint where a couple of stages have multiple transitions. If only some of the transitions are completed, but not all, Zoho does not update any of the fields impacted by the completed transitions. Is there any way Zoho can udate the fields
      • Zoho CRM for Everyone's NextGen UI Gets an Upgrade

        Hello Everyone We've made improvements to Zoho CRM for Everyone's Nextgen UI. These changes are the result of valuable feedback from you where we’ve focused on improving usability, providing wider screen space, and making navigation smoother so everything
      • Zoho CRM - Kiosk Studio : Use action responses across your kiosks with sequential actions

        Hello Everyone, Imagine building a kiosk that gives you full control over how actions are executed in later screens in that same kiosk. What if you could use data from a previous action later in that kiosk—with no interruptions or data gaps? This is exactly
      • Ability to CC on a mass email

        Ability to CC someone on a mass email.
      • Get Cliq Meetings in my O365 calendar

        Hi, we are currently evaluating to replace the Teams Messaging and Meetings with Cliq. We currently still have all our email and calendars in O365. What i want to achieve is, to create a (ZOHO) meeting from Cliq and have this meeting added to my Outlook/O365
      • Custom Button to convert a Deal to a Custom Module?

        Hello Community I am in process of building out a custom CRM for my team and part of this is looking at building out a Custom Button or function of some sort where when a Deal is marked Closed Won the system will allow for a "Convert to Job" option to
      • Power up your Kiosk Studio with Real-Time Data Capture, Client Scripts & More!

        Hello Everyone, We’re thrilled to announce a powerful set of enhancements to Kiosk Studio in Zoho CRM. These new updates give you more flexibility, faster record handling, and real-time data capture, making your Kiosk flows smarter and more efficient
      • Emails Failing with “Relaying Issues – Mail Sending Blocked” in ZeptoMail

        Hello ZeptoMail Support Team, We are facing an email delivery issue in our ZeptoMail account where emails are failing with the status “Process failed” and the reason “Relaying issues – Mail sending blocked.” Issue Details Agent Name: mail_agent_iwwa From
      • Change eMail Template for Event-Invitations

        Hello ZOHO-CRM Team How I can change the eMail Template for Event-Invitations? I work with the German Version of the Free Version. I know how I can modify eMail alerts or Signature Templates, but where I can other eMails modify you send out? Thank you
      • Workdrive Oauth2 Token Isn't Refreshing

        I have set up oauth for a bunch of zoho apis and have never had a problem with oauth. With workdrive i am using the exact same template i usually use for the other zoho apps and it is not working. All requests will work for the first hour then stops so
      • How can I import OLM to Yandex Mail easily?

        For migrating Mac Outlook OLM data to Yandex Mail efficiently, the Aryson OLM Converter is a reliable professional tool that ensures complete data integrity throughout the process. Unlike manual methods, which can risk inconsistent formatting or missing
      • Introducing Radio Buttons and Numeric Range Sliders in Zoho CRM

        Release update: Currently out for CN, JP, AU and CA DCs (Free and standard editions). For other DCs, this will be released by mid-March. Hello everyone, We are pleased to share with you that Zoho CRM's Layout Editor now includes two new field formats—
      • Is it possible to setup bin locations WITHOUT mandating batch tracking?

        Hi fellow zoho users, I'm wondering if anyone else has a similar issue to me? I only have some products batch tracked (items with shelf life expiry dates) but I am trying to setup bin locations for my entire inventory so we can do stock counting easier.
      • Implementing Inventory Process

        I am just starting to create an inventory system through Zoho for a nonprofit. We receive in-kind donations of items for kids, and utilize them in 2 or 3 different programs. Then families come in and take the items. I'm thinking of this structure: Our
      • Best way to start zoho inventory with bulk openning stock

        We are already using zoho book since long time for cars trading company. Now to streamline more, would like to import the excel data of closing stock of inventory to zoho inventory and to start on. Since we need to track each VIN (unique vehicle id number)
      • Service Reports.

        Hello Team, I have a requirement to create multiple service reports for a single AP. That means, in one AP I have 5 service line items, and all line items are linked to assets. Once I complete the AP, I want to generate 5 individual service reports, one
      • Blueprint enhancements - Parallel and multiple transitions, and more

        Last modified on Sep 4, 2023: All Zoho CRM users can now access these enhancements. Initially, these features were available only on an early access basis and by request. However, as of August 2, 2023, they have been made available to all users in all
      • Item Bulk Edit - Allow for Reorder Level

        We're implementing a process for using the Reorder Level field for Items, and I have to go through and add this value to a huge chunk of our Items. It's driving me bonkers that I have to do this individually through the UI rather than bulk updating. It
      • Zoho CRM || Unable to Bulk Assignment of Territories for Contacts

        Dear Zoho CRM Support Team, I hope this email finds you well. We recently performed a bulk upload of Contacts into Zoho CRM using the official sample Excel template downloaded from the CRM. The upload itself was completed successfully; however, we encountered
      • What's New in Zoho Inventory | August – October 2025

        Hello customers, The last quarter has been incredibly productive! We've released a powerful slate of new features and enhancements in Zoho Inventory designed to give you better control, greater efficiency, and expanded functionality across your inventory
      • Disable Zoho Inventory Tracking / Delink Zoho Books & Inventory

        We have integrated zoho inventory with zoho books? Now after a long time, we want to disable inventory tracking and delink these 2 modules. Zoho says we cant do it. Anybody else going thru the same ? Any possibility at all? Why does zoho not allow to
      • Tracking Non-Inventory Items

        We have several business locations and currently use zoho inventory to track retail items (sales and purchase orders). We were hoping to use zoho inventory to track our non-inventory items as well (toilet paper, paper towels, etc). I understand that we
      • Price Managment

        I have been in discussions with Zoho for some time and not getting what I need. Maybe someone can help explain the logic behind this for me as I fail to understand. When creating an item, you input a sales rate and purchase rate. These rates are just
      • Set Warehouse based on Vendor

        Greetings. I would like to set automaticaly the Warehouse based on the Vendor. Context: I am working on an adaptation of a Purchase Order to be used as a Quotation. I have defined that when a user has to raise a quote the Vendor will be "PROCUREMENT" I would like to set the Warehouse to a predefined value when "PROCUREMENT" is set as Vendor. I have tried to do with the Automation feature using the Field Update option, but Warehouse does not is listed as a field. Can you help? Thanks in advance.
      • Next Page