Custom Functions
How Can I...
Custom functions help in automation where procedural logic is required, which cannot be implemented with the default actions such as, Alerts/Tasks/WebHooks, etc. With custom functions you can automatically update the data in the related CRM modules or third-party applications by executing simple program scripts.
When a record matches the workflow criteria, your CRM automatically triggers the custom function and updates the CRM records. With custom functions, you can program scripts using Deluge Scripting Language, associate them to workflow rules, and automate the business process. See Also Deluge Script - Reference Guide
Setting up a custom function includes the following steps:
- Create a custom function
- Test the custom function for accuracy.
- Associate the custom function with a Workflow Rule.
Target Audience
- CRM Developers who set up custom workflow automation for Zoho CRM.
- Programmers with REST API and Deluge Script skills.
Create Custom Functions
Custom functions are written using deluge scripting language to effectively manipulate data, communicate with third-party applications and update response in your CRM.
To create a custom function
- Log in to Zoho Developer console and click Build Extensions for Zoho CRM.
- Sselect the extension you'd like to modify and click Edit.
- Click Automation in the left pane of the Extension Details page and click Workflow.
- Select Custom Functions tab at the top of the page.
- In the Workflow Custom Functions page, click Create.
- In the Workflow Custom Functions dialog box, do the following:
- Specify a name for the custom function.
- Select the module for which you want to trigger the custom function.
Note
Make sure you associate the custom function to the workflow rule that is created for the same module.
- In the deluge script editor, write the function. See Also Program Custom Functions
- Click Save.
Program Custom Functions
Deluge or Data Enriched Language for the Universal Grid Environment is an online scripting language that lets you programme your own function and add different types of business logic as required.
Custom Functions are written using Deluge Script Editor, which lets you manipulate data and communicate with third-party applications based on your requirements. See Also Deluge Script - Reference Guide
You can write your own custom function using the default implicit variables and refer fields.
Implicit Variables
Custom functions have implicit variables of map data-type. These are pre-defined variables holding all the record values and are used to trigger the rule associated with the custom function. So it is not necessary to map the fields with the function variables. Unlike the default Zoho CRM setup, it is not necessary to explicitly define arguments and map the fields to arguments.
The name of the implicit variable is same as the module name with first character made lower case. Following is a code's example to get the values of an Account Record.
- name = input.account.get("Account Name");
- owner = input.account.get("Account Owner");
- type = input.account.get("Account Type");
Refer Fields
Refer Fields in the Deluge Script Editor provides the variable names of the modules and fields for the applications. You can refer to this list to write custom functions.
Move your mouse pointer to the right side of the deluge script editor to view the refer fields.
Module Naming Conventions
The following table defines the naming convention for the default CRM modules:
CRM's Module Label Name | Module Name | Module Map Name |
Leads | Leads | lead |
Accounts | Accounts | account |
Contacts | Contacts | contact |
Deals | Deals | deal |
Campaigns | Campaigns | campaign |
Forecasts | Forecasts | forecast |
Cases | Cases | case |
Solutions | Solutions | solution |
Products | Products | product |
Vendors | Vendors | vendor |
Price Books | Price Books | pricebook |
Quotes | Quotes | quote |
Sales Orders | SalesOrders | salesorder |
Purchase Orders | PurchaseOrders | purchaseorder |
Invoices | Invoices | invoice |
Test Custom Functions
Before you associate the custom function to a workflow rule, it is better to check if the function works properly. The custom function details page has an option for testing the custom functions by executing it.
To test the custom function
- Log in to Zoho Developer console and click Build Extensions for Zoho CRM.
- In the Extensions for Zoho CRM page, select the extension you'd like to modify and click Edit.
- Click Automation in the left pane of the Extension Details page and click Workflow.
- Select the Custom Functions tab at the top of the page.
- From the list of custom functions, select the one that you want to test.
- In the View Workflow Custom Functions page, click Edit.
- Click Execute to test the custom function.
- In the Execute Script pop-up, enter the values and click Submit to test if the custom function is working properly.
Associate Custom Function to a Workflow Rule
The custom function that you create should be associated with a workflow rule. Whenever a record matches the criteria in a workflow rule and the workflow rule is triggered, the associated custom function will also be automatically executed.
To associate custom function to a workflow rule
- Log in to Zoho Developer console and click Build Extensions for Zoho CRM.
- In the Extensions for Zoho CRM page, select the extension you'd like to modify and click Edit.
- Click Automation in the left pane of the Extension Details page and click Workflow.
- Select the Custom Functions tab at the top of the page and click Create Rule.
- In the New Rule page, specify the basic details and other workflow rule parameters.
- Under Actions, associated the already created custom function as an instant action or a time-based action.
- Click Save.
Manage Custom Functions
You can edit and delete the custom functions hat you created as per your requirements.
To edit/delete custom function
- Log in to Zoho Developer console and click Build Extensions for Zoho CRM.
- In the Extensions for Zoho CRM page, select the extension you'd like to modify and click Edit.
- Click Automation in the left pane of the Extension Details page and click Workflow.
- Select the Custom Functions tab at the top of the page.
A list of custom functions will be available. - Move your mouse pointer to a custom function for the following options:
- Edit - Click Edit icon [] to make changes to the custom function.
- Delete - Click Delete icon [] to delete the function. If you have associated the custom function to any workflow rule(s), please disassociate it before deleting.