Custom functions are programs that allow you to manipulate data within ServiceDesk Plus Cloud. Custom functions enable you to perform operations that cannot be executed via standard UI configurations.
Administrators can use custom functions to perform automations and integrations that can be contextually invoked via triggers, business rules, and timers, or via life cycles with minimal programming.
Custom functions can be written in one of the following scripting languages:
Deluge is Zoho's proprietary scripting language. To learn more about Deluge and how to write custom functions in Deluge, click here.
|
Supported Modules |
Role Required |
|
|
Requests |
SDAdmin, SDSiteAdmin, HelpDeskConfig |
Requests, Tasks, Approval Levels, Approvals, Notes, Email responses (for users), Work logs (requests and tasks), Work log timer |
|
Problems |
SDAdmin |
Problems, Tasks, Notes, Email responses (for users), Work logs (problems and tasks) |
|
Changes |
SDAdmin |
Changes, Tasks, Approval Levels, Approvals, Notes, Email responses (for users), Work logs (changes and tasks), Downtimes |
|
Projects |
SDAdmin |
Projects, Milestones, Tasks (projects and tasks), Work logs (tasks. projects, and milestones), Project Members, Comments (tasks, projects, and milestones) |
|
Releases |
SDAdmin |
Releases, Tasks, Approval Levels, Approvals, Notes, Email responses (for users), Work logs (releases and tasks), Downtimes |
|
Solutions |
SDAdmin |
Solutions, Comments |
|
Assets |
SDAdmin, AssetConfig |
All Assets, Each product types |
|
CMDB |
SDAdmin, SDCMDBAdmin |
All CIs, Each CI Type |
|
Purchase |
SDAdmin |
Purchases, Approval Levels, Approvals, Payments, Invoices |
|
Contracts |
SDAdmin |
Contracts |
|
Custom Modules |
SDAdmin |
Custom modules |
In the Custom Functions tab, choose your preferred module from the drop-down.
Click New Custom Function and fill out the necessary information as described below:
|
Field |
Description |
|
Custom Function Name* |
Provide a unique name for the custom function. |
|
Description |
Describe the objective and usage of the custom function. |
|
Applies to |
Choose the sub-entities within the module where the custom function is applied. |
|
Use this custom function as a |
Select the automation rule where the custom function is used. Ensure custom function returns the following values based on the automation rule where it is configured:
|
| Language | Select the language to compile the custom function - Deluge, Java, or NodeJS |
|
Script Editor |
If the custom function is configured for a request or change sub-entity, the respective sub-entity object will be passed in the parameter.
|
After compiling the custom function, click Save or Save & Execute Script.

After the custom functions are created, they are available on the list view page where you can perform the following actions:
icon to edit any custom function.
icon to enable or disable custom functions. You can also use the toggle on the Status column. To enable/disable in bulk, select the custom functions and use the Actions menu on the toolbar.
icon to delete custom functions. To delete custom functions in bulk, select the custom functions and use the Actions menu on the toolbar.
icon to search through custom functions using criteria. Add the criteria, value and click Enter. You can add multiple search criteria using the
icon. After the results are displayed, click on the existing criteria to edit it.
icon to limit the number of custom functions listed and to define the sort order.You can generate code for custom functions with simple prompts using ChatGPT. For example, you can give the below shown prompt to terminate duplicate request creation by a user.


You can generate code for custom functions with simple prompts using Azure OpenAI. For example, you can give the prompt given below to terminate duplicate request creation by a user.


When you execute a custom function, an API call is placed to ServiceDesk Plus Cloud. This is called an InvokeURL call.
By default, you are allowed only 200,000 executions per month and 10,000 InvokeURL calls per day from Custom Functions. You can track the executions and InvokeURL calls usage by clicking the Check Usage Stats button. In the Usage Stats pop-up, a colored progress bar is used to indicate the percentage of executions and InvokeURL calls remaining.
