Setting up Custom Functions

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, Zoho 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 vertical 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

  1. Click Automate > Workflow > Custom Functions
  2. In the Workflow Custom Functions page, click Create.
  3. Click Edit for the application that you want to edit.
  4. 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 NameModule NameModule Map Name
LeadsLeadslead
AccountsAccountsaccount
ContactsContactscontact
PotentialsPotentialspotential
CampaignsCampaignscampaign
ForecastsForecastsforecast
CasesCasescase
SolutionsSolutionssolution
ProductsProductsproduct
VendorsVendorsvendor
Price BooksPrice Bookspricebook
QuotesQuotesquote
Sales OrdersSalesOrderssalesorder
Purchase OrdersPurchaseOrderspurchaseorder
InvoicesInvoicesinvoice

 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

  1. Click Edit for the application that you want to edit.
  2. Click Automate > Workflow > Custom Functions.
  3. From the list of custom functions, select the one that you want to test.
  4. In the View Workflow Custom Functions page, click Edit.
  5. Click Execute to test the custom function.
  6. 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

    1. Click Edit for the application you want to edit.
    2. Click Automate > Workflow.
    3. In the Workflow Rules page, click Create Rule.
    4. In the New Rule page, specify the basic details and other workflow rule parameters. See Also Manage Workflow Rules 
    5. Under Actions, associated the already created custom function as an instant action or a time-based action.
    6. 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

  1. Click Edit for the application you want to edit.
  2. Click Automate > Workflow > Custom Functions.
    A list of custom functions will be available.
  3. Move your mouse pointer to a custom function for the following options:
    1. Edit - Click to make changes to the custom function.
    2. Delete - Click to delete the function. If you have associated the custom function to any workflow rule(s), please disassociate it before deleting.