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

    Nederlandse Hulpbronnen


      • Recent Topics

      • Automate reminder emails for events

        Hi team, I am trying to automate send event reminders via zoho campaign to my attendees 1 day prior to my scheduled events. I used zoho flow, autoresponder in zoho campaign, as well as I used workflow and automation - but none of these methods are working.
      • Update related module entry Zoho Flow not working with custom module ?

        Hi everyone. I am facing an issue here on Zoho Flow. Basically what I am doing is checking when a module entry is being filled in with an Event ID. Event is a custom module that I created. If the field is being filled in I fetch the contact with its ID
      • How to disable time log on / time log off

        Hi We use zoho people just to manage our HR Collaborators. We don't need that each persona check in and out the time tracker. How to disable from the screen that ?
      • Dealing With One-Time Customers on Zoho Books

        Hello there! I am trying to figure out a way to handle One-Time customers without having to create multiple accounts for every single one on Zoho Books. I understand that I can create a placeholder account called "Walk-In Customer", for example, but I
      • Zoho Flow - Add to Google Calendar from trigger in Zoho Creator App

        Hello! New to Zoho Flow, but I believe I have everything setup the way it should be however getting an error saying "Google Calendar says "Bad Request". Any idea where I should start looking? Essentially some background: Zoho Creator app has a trigger
      • Email authentication

        أريد التحقق من البريد الإلكتروني
      • What’s New in Zoho Analytics – December 2025

        December is a special time of the year to celebrate progress, reflect on what we have achieved, and prepare for what’s ahead! As we wrap up the year, this month’s updates focus on refining experiences, strengthening analytics workflows, and setting the
      • Marketing Tip #12: Earn trust with payment badges and clear policies

        Online shoppers want to know they can trust your store. Displaying trust signals such as SSL-secure payment badges, return and refund policies, and verified reviews shows visitors that your store is reliable. These visual cues can turn hesitation into
      • The improved portal experience: Introducing the template view for inventory modules, enhanced configurations, and PDF export support

        Availability: Open for all DCs. Editions: All Hello everyone, You can now achieve a seamless, brand-aligned portal experience with our enhanced configuration options and the new template view for inventory modules. Your clients will now be able to view
      • Zoho Analytics Bulk Api Import json Data

        HI, I’m trying to bulk-update rows in Zoho Analytics, and below are the request and response details. I’d like to understand the required parameters for constructing a bulk API request to import or update data in a table using Deluge. Any guidance on
      • Project Management Bulletin: December, 2025

        The holiday cheer is in the air and it’s time to reflect on the year that was. At Zoho PM Suite, we've been working behind the scenes on something huge and exciting all year and now we are almost ready—with just a bit of confetti—for our grand release
      • Inventory batch details

        Hi there, I'm trying to get the batch details of an item, here's what I've done so far. I've sent cUrl request to the below endpoint and I get a successful response. Within in the response I find the "warehouses" property which correctly lists all the
      • Auto check out after shift complete

        i'm just stuck here right now, i wanna know how to do this thing, now tell me, how can i configure a custom function that runs after complete shift time if employee forget to check-out ?
      • How to create a flow that creates tickets automaticaly everyday based on specific times

        Hi guys Does anyone know how to create a flow that will create tickets automaticaly in ZOHO Desk when a certain time is reached. Im havin a hard time configuring a flow that will create tickets automaticaly everyday during specific hours of the day For
      • ZOHO FLOW - ZOHO CREATOR - ZOHO WRITER : Get Related records

        Bonjour, J'ai besoin que vous m'ajoutiez la solution "Get related Records" dans la liste de choix de zoho creator (sous Zoho flow). En effet, j'ai besoin de récupérer les champs d'un sous formulaire pour l'ajouter à l'impression de mon document. Mer
      • Will zoho thrive be integrated with Zoho Books?

        title
      • Connecting email for each department in ZohoDesk

        Hi! Could someone help me to go through connecting emails for each department?
      • How do I trigger a Flow based on a campaign response?

        Is there a way to trgiider a Zoho Flow based upon a lead opening an email sent via Zoho Campaigns? I see that the data is recorded in the 'Campaigns' section of Zoho CRM under 'Member Status' and I want to trgigger a flow based upon that record changing.
      • All Zoho Flows are filtered

        My two flows operate perfectly when I run them as a test, but when they're activated each run ends with a status of neither success, nor fail, but filtered. I haven't set up any filters. I don't see where to turn off filters. When I test run on a sequence
      • Creating Multiple Items on Sales Order

        Hi, I’m trying to automate some processes using Zoho Flow, specifically the creation of sales orders in my Zoho Inventory. However, Zoho Flow's Create Sales Order function can only add one item. I would like to include multiple items in a single sales
      • Problem Connection from Zoho Flow and Gravity Form

        I obtained my API key from Gravity Forms via WordPress. However, when I enter my Zoho Flow, it states: Gravity Forms says, 'You are not authorised to access the API." I tried recreating a new API key, but it is still not working.
      • Eventbrite Email Field in Zoho Flow Returns "Info Requested" Instead of Actual Email

        Hi Zoho team, I'm using Zoho Flow to connect Eventbrite with Zoho CRM. My goal is to automatically add event attendees as leads in Zoho CRM. I’ve set up the flow and mapped the ${trigger.profile_email}} field to the Email field in CRM. However, I'm running
      • "Invalid value passed for Product ID" Error in Zoho Flow "Create Sales Order" Node

        Hello Zoho Community, I’m facing an issue with Zoho Flow while trying to create a sales order in Zoho Inventory using the "Create Sales Order" node. Here’s a detailed explanation of my setup and the problem: What I’m Trying to Achieve I’m building an
      • Associating Project with an Account via Flow

        I'm using flow to create a Project based on a Deal status update using flow. The fields exist to pass the Account Name through properly, but when you view the Projects module in a CRM Account Record it doesn't automatically associate the new Project Record
      • How to follow up a member in a meeting?

        Hello, I make weekly meeting online with a lot of people. I want(I've been using calendly to do it). I want to do a follow-up to it. I want to send messages via Zoho-flow to all the member that participated in the meeting. How can I do it?
      • Setting Delays in Invoice Reminder Flow

        I am currently working on a flow that sends reminders for unpaid invoices. The flow is designed to delay actions until specific intervals before the due date: A reminder should be sent 7 days before the due date. A second reminder should be sent 3 days
      • Get Sales Orders Related to Inventory Item

        Dear Team, I'm just wondering if there is a way to get a list of all Sales Orders related to a specific Inventory Item. I did search all articles but couldn't find any article that could help.
      • Endpoint Central Cloud Asset Update from Fresh Service

        All, Does anyone use the asset management feature in Fresh Service? I'd like some help on building a flow to update asset attributes in Endpoint Central Cloud based off of an update to that same asset in Fresh Service. The trigger is "asset is updated"
      • Zoho Flow Export to Deluge

        It would be great to take a user built zoho flow and export the entire flow as a deluge script including having multiple connected applications (showing the API connections and webhooks) and different functionality in the other applications interacting
      • Action Iteration/Loop using Zoho Flow

        Trying to use Zoho Flow for automating following Context - A zoho form entry which has image upload field with upto 5 images setting and files are saved into Workdrive. After form is submitted need to create folder based on some fields and move files
      • Zoho Flow - Unable to evaluate formatDate with Zoho Invoice Date Field for Calendar Integration

        Hello Community, I'm trying to automate the creation of all-day events in Zoho Calendar whenever a new invoice is created in Zoho Invoice. I'm using Zoho Flow for this automation. My Goal: When an invoice is created with a specific "Event Date," I want
      • Zoho Inventory Sales Order Items

        I'm trying to build automation using Zoho Flow to add items to a Sales Order. In the automation options for both "create sales order" and "update sales order", The item ID is required. However, when I update the Sales Order, it's just replacing the item
      • Permissions for Azure Devops connection

        I am trying to set up a connection with our Azure DevOps org but it keeps giving me this error. On Azure I should be able to have admin-level access to everything. Can you please point me to which permission this is checking for so I can enable it?
      • My IMAP mail suddenly stopped working

        On my iPhone and iPad, IMAP stopped working for my Zoho account with the error "User name or password incorrect" and "Invalid credentials failure" however I was able to access via web with the same credentials. Also stopped working on Apple Mail client.
      • Confused by the distiction between matched and categorized when reconciling a bank statement an how to

        I used to use quickbooks. In quickbooks, it was possible to use the check writing feature to add an expense that was on the bank statement that did not go through the AP and check writing process. I would write a check, assign it a number like etf (for
      • Not Receiving OTP • https://voters.eci.gov.in/home/family

        Hello Customer, Greetings from Zoho Mail. Upon a detailed review of our delivery logs, we can confirm that other Zoho Mail users are successfully receiving OTP emails from eci.gov.in. However, in your specific case, it appears that the OTP emails are
      • WorkDrive for Excel Add on

        Dear Sir/Madam Have installed Workdrive for Microsoft add on But unable to view the same added in Excel
      • Splitting Transactions in Zoho Books

        I have read in past forum posts that the ability to split bank transactions would likely be implemented - it's definitely a typical accounting program feature.  I'm new to Zoho and thought I'd found nirvana until I realized this feature doesn't seem to
      • Zoho Calendar s’enrichit avec une intégration à Zoho People et Zoho Cliq

        Les journées de travail ne se déroulent jamais exactement comme prévu. Une conversation informelle devient une séance d’échange d'idées, une absence modifie un planning, et votre agenda se retrouve vite décalé par rapport à la réalité. Chez Zoho Calendar,
      • Holidays

        Hi; For defining Holidays, you need to add logic to handle the year as well as the month & day. We need to be able to enter Holidays for the next year. I need to add a holiday for January 2, 2017, but I can't until January 1st, which is a Sunday and we
      • Next Page