Zoho CRM's workflow builder handles most automation needs: field updates, email notifications, task creation, and webhook calls. Deluge custom functions are for when workflows can't express the logic you need.
Use workflows when: the trigger is a record event (create, edit, delete), the action is a single operation (update a field, send an email, create a task), and the logic is straightforward (if field X equals Y, do Z). This covers 70% of CRM automation.
Use Deluge when: you need to call external APIs (fetch shipping rates, validate ABNs, sync to a third-party system), perform calculations across related records (roll up revenue from child accounts), handle complex conditional logic (nested if/else with multiple modules), or process bulk data (update 500 records based on a criteria).
Deluge syntax basics: it's Zoho's proprietary scripting language, similar to JavaScript but with Zoho-specific functions. Key functions: zoho.crm.createRecord(), zoho.crm.updateRecord(), invokeurl for REST API calls, and map/list for data structures. Custom functions run server-side with a 5-minute execution limit.
A practical example: validating an Australian Business Number (ABN) when a new account is created. A workflow can't call the ABR API. A Deluge custom function triggered on account creation calls the Australian Business Register API, validates the ABN, and populates the account's legal name and GST registration status.
Maintainability matters. Document every custom function with: what triggers it, what it does, what external systems it calls, and what happens on failure. We've inherited too many Zoho instances where custom functions were written years ago with no documentation and nobody knows what breaks if they're removed.
Published 10 January 2026