This is the full technical walkthrough for building automatic lead conversion in Zoho CRM: how the field mapping underpins everything, how the Workflow Rule and Deluge function fit together, the pitfalls that catch people out most often, and how to test the automation safely before it touches live data.
Custom functions attached to Workflow Rules are not available on the Standard edition of Zoho CRM. This automation depends entirely on that capability, so you need Professional edition or above before going any further.
Conversion, whether triggered manually or by a workflow, relies on Zoho CRM already knowing how a Lead's fields correspond to fields on Accounts, Contacts and Deals. This mapping lives under Setup, then Customization, then Modules and Fields, then Leads, then the module settings icon, then Lead Conversion Mapping. Any standard field is usually mapped by default, but custom fields are not, so if your Leads carry information you have added yourself, such as a lead source classification, an industry vertical, or a qualification score, go through this mapping screen and connect each one to its destination field. Only fields that are correctly mapped here will carry their values across during conversion, including conversion triggered by a workflow.
A Workflow Rule can only trigger an action, it cannot convert a record by itself. The custom function is what calls Zoho CRM's lead conversion capability on your behalf, and it needs to pass through the details of the Account, Contact and, if you want one created, the Deal, including the Deal's pipeline and stage. Because the exact method signature for triggering a conversion from Deluge can change between API versions, check Zoho's current Deluge documentation for the precise syntax rather than relying on an example you find elsewhere, including this article.
Whatever Deal stage your function passes has to match the stage's API name exactly, capitalisation included. It is easy to type a stage label as it appears on screen and have the function fail silently or throw an error because the underlying API name differs slightly. Check the exact API name under Setup, then Modules and Fields, then Deals, then Fields, then Stage, before writing it into your function.
A Lead cannot be converted a second time. If your workflow criteria are loose enough that a Qualified Lead can trigger the rule more than once, for example because an unrelated field update on the record re-evaluates the workflow, you will see failed conversion attempts. Keep criteria specific and consider whether you need an additional check within the function itself to confirm the Lead has not already been converted.
Any field that is not covered by your Lead Conversion Mapping, and not explicitly set within the function itself, will simply be blank on the resulting Account, Contact or Deal. This is the single most common reason automatic conversion looks like it "lost" data, when in fact the data was never told where to go.
Validation rules are bypassed during conversion, regardless of whether it is triggered manually, by a workflow, or via the API. That means it is entirely possible for a converted Account, Contact or Deal to exist in a state that would normally be blocked by a validation rule, so do not rely on those rules as a safety net for automatically converted records.
| Pitfall | How to guard against it |
|---|---|
| Deal stage mismatch | Copy the exact API name from Deals field settings, do not retype the on-screen label |
| Converting twice | Keep criteria narrow and specific to a single status transition |
| Blank fields | Check Lead Conversion Mapping first, set anything else explicitly in the function |
| Skipped validation | Do not depend on validation rules to catch bad data from an automated conversion |