Step 5: Once you have written your logic, click save and execute.
Step 6: Enter the argument values, if any.
Step 7: If your function gets executed successfully, you will get a success message.
Step 7: Click Save.
3. Integration Tasks
Integration tasks are pre-defined functions that allow you to get, create, and update records in Zoho CRM. You can simply use these method names in your Deluge script along with the required data to make API calls.
In the above example, we have used the getRecordById() integration task that retrieves the details of the deal. For instance, the Deal Name, Contact Name, Account Name, and so on.
Syntax:
<response>=zoho.crm.getRecordById(<module_name>, <record_ID>, <connections>);
|
Parameters:
Parameter
| Description
|
response
| The response with the list of records matching the criteria.
|
module_name
string, mandatory
| The API name of the module you want to fetch the records from.
|
record_ID
string, mandatory
| The unique ID of the record.
|
connections
string, optional
| The connectors that are associated with the function. |
Example:
potDetails = zoho.crm.getRecordById("Deals",potId.toLong());
|
Some of the other available integration tasks are:
To know more about integration tasks, click here.
4. Triggering functions
A function needs a trigger to get executed. You can trigger a function in two ways:
4a. From Zoho CRM functionality
4b. From third-party applications
Scenario:
Functions are primarily used to write custom business logic in Zoho CRM. Consider a scenario, where you want your sales representatives to create a quote after reviewing the deal. Instead of letting them create each quote manually, you can add a custom button in the Edit Deal page, which when clicked upon, triggers a function that creates a quote.
Also, you can configure a third-party system to automatically create a quote in Zoho CRM when the deal amount is less than 1000 OR the deal stage is closed-won. Thus, avoiding manual intervention and enabling them to emphasise on substantial deals.
Let us discuss how to trigger the DealToQuote() function via a custom button and a third-party application. You can also trigger the same function from a third-party application as a REST API webhook.
4a. From Zoho CRM functionality (Custom Button)
- Go to Setup > Customization > Modules and Fields.
- From the List of Modules, select the required module.
- In the Links & Buttons tab, click Create New Button.
- In the Create Your Button page, do the following:
- Enter the name of the button. The button name should not exceed 30 characters.
- Click the Add Description link and specify the details of your custom button. The description should not exceed 250 characters.
- Choose the location of your custom button from the drop-down list.
- Custom buttons can be placed in 6 different places in your CRM account - Create/Clone page, Edit page, View page, List View page, a button to each record in the list view and Related Lists Page. Note that you can create up to 50 buttons for each module.
- Choose an action to be executed when a user clicks the custom button. You can either choose a predefined action from the gallery or the existing functions that were already created by the users in your organization. Also, define your own action by writing a custom function, open a new web tab or invoke a URL based on your needs. It is mandatory to choose the button action. In our case, From Existing Actions in Functions. Choose the function and click Configure.

6. Map the input values to the fields in that module and click Save.
Once the custom button is associated with an action, CRM Administrators can manage permissions by assigning only specific profiles to view and access the custom button.
To know more, click here.
4b. From third-party applications
Here, we are going to configure a third-party system to automatically create a quote in Zoho CRM when the deal amount is less than 1000 OR the deal stage is closed-won, thus avoiding manual intervention.
To achieve this, we are going to trigger the DealToQuote() function from a third-party application (automate.io), whenever the above conditions are met.
If you want to trigger a function from a third-party application, you must make it available as REST API.
1. Go to Setup > Developer Space > Functions
2. Choose the function > Click more options > Click REST API
3.Enter the API name for the function.
4. Enable OAuth 2.0 to share the function as an API within your organization and enable API key to share the function as a webhook with any third-party user.
Click Save.
You must make the API call from the third-party application using the request URL received here.
The DealToQuote() function is triggered from a third-party application (automate.io). You can achieve the same using:
- Zoho Flow
- Zoho CRM workflow rule that is triggered whenever a deal is updated
We have triggered the DealToQuote() function using custom button as well as a third-party application.
5. Limits of Functions
Function calls in Zoho CRM are associated with credits. Each function call results in reduction of one credit from your account.
Maximum credit limit based on your edition
Edition
| Allowed Credits
| Maximum credits that can be availed in a 24 hour window
|
Starter
| 5,000 credits + (Number of User licenses x 200)
| 10,000 credits
|
Standard
| 5,000 credits + (Number of User licenses x 200)
| 15,000 credits
|
Professional
| 5,000 credits + (Number of User licenses x 200)
| 20,000 credits
|
Enterprise/Zoho One/CRM Plus
| 20,000 credits + (Number of User licenses x 500)
| 1,00,000 credits
|
Ultimate
| 20,000 credits + (Number of User licenses X 1000)
| 2,00,000 credits
|
Limits based on properties of a function
Functionality
| Description
| Limits
|
Execution Time
| Function should be executed within the specified time.
| 1 minute
|
Response Limit
| Function should return the response within a particular size.
| 10 MB
|
Lines of execution
| The number of lines in a function code has a limit.
| 200,000
|
Send Mail
| The number of emails that you can using the send mail syntax has a limit.
| 1000 per day
|
Webhooks
| GET and POST URLs
| 50,000 requests per day
|
We hope you found this post useful. Stay tuned for more!
Cheers!