Custom actions refer to user defined actions that can be performed on different entities across modules. For a custom action to be performed on an entity, it should be used with automation rules, subject to the availability of support.
The following table lists the availability of various custom actions:
Custom Actions
| Availability across Modules
|
Requests
| Problems
| Changes
| Projects
| Releases
| Solutions
| Assets
| CMDB
| Purchase
| Contracts
| Custom Modules
|
Notifications
| Business Rules
Request Life Cycle
Triggers
| Problem Life Cycle
Triggers
| Workflows
Triggers
| Triggers
| Triggers
| Triggers
| Asset Life Cycle
| Triggers
| Triggers
| Triggers
| Triggers
|
Approvals
| Triggers
| -
| Triggers
| -
| Triggers
| -
| -
| -
| -
| -
| -
|
Field Updates
| Business Rules
Request Life Cycle
| Problem Life Cycle
| Workflows
| -
| Workflows
| -
| Asset Life Cycle
| -
| -
| -
| -
|
Timers
| Triggers
| Triggers
| Workflows
Triggers
| -
| -
| Triggers
| -
| -
| -
| -
| -
|
Tasks
| Request Life Cycle
Triggers
| Problem Life Cycle
Triggers
| Workflows
Triggers
| -
| Triggers
| -
| -
| -
| -
| -
| -
|
Custom Functions
| Business Rules
Request Life Cycle
Triggers
| Problem Life Cycle
Triggers
| Workflows
Triggers
| Triggers
| Triggers
| Triggers
| Triggers
| Triggers
| Triggers
| Triggers
| Triggers
|
Webhooks
| Business Rules
Request Life Cycle
Triggers
| Problem Life Cycle
Triggers
| Workflows
Triggers
| Triggers
| Triggers
| Triggers
| Asset Life Cycle
Triggers
| Triggers
| Triggers
| Triggers
| Triggers
|
To set up custom actions,
- Go to Setup > Automation > Custom Actions.
- Go to the preferred custom action tab and choose the preferred module. Follow the links below for detailed information on each custom action:
- Notifications
- Approvals
- Field Updates
- Timers
- Tasks
- Custom Functions
- Webhooks
Notifications
Custom notifications can be configured to send alerts to users via automation rules. These notifications are sent in addition to Notification Rules.
Supported Modules
| Role Required
|
Requests
| SDAdmin (for all sites), SDSiteAdmin/HelpDeskConfig (only for associated sites)
|
Problems, Changes, Projects, Releases, Solutions, Purchase, Contracts, Custom Modules
| SDAdmin
|
Assets
| SDAdmin, AssetConfig
|
CMDB
| SDAdmin, SDCMDBAdmin
|

Request custom notifications can be sent to requesters or email CC users.
After choosing your preferred module, click New Notification.

Only request notifications can be configured for different customers. All other notifications can only be set globally for all modules.
Fill out the necessary information as described in the below:
Field
| Description
|
Notification Name*
| Provide a unique name for the custom notification.
|
Description
| Describe the notification usage.
|
Mode
| For Requests and Problems: Choose to send notifications via SMS or Email.
For other modules: Only email notifications are supported.
|
Applies to/
Applies to product type/
Applies to configuration item
| Choose the appropriate sub-entity in the respective module.
|
Notify*
| Select your preferred recipients by role or email address as supported in the selected module.
|
Subject*
| Add a subject for the notification.
|
Message*
| Compose the notification message.
|
*mandatory fields

Use $ symbol to add context-specific content in the subject and message.
Manage Notifications
After notifications are created, they are listed on the list view page where you can perform the following actions:
Click a row to expand and preview the notification. Click Related Workflows to view the execution details of the notification in the related automations.
- Use the
icon to edit, delete, enable/disable notifications. You can also enable/disable notifications using the toggle button in the Status column.
- To delete, enable, or disable notifications in bulk, select the notifications and use the Actions menu on the toolbar.
Approvals
Approval is a formal process that grants permission, after a thorough review, for any request to move to the next stage.
The approval process in ServiceDesk Plus MSP Cloud involves review, approval action, and execution. Authorized users approve or reject requests, resources, tasks, or changes based on certain criteria before implementing them.
You can automate approvals as custom actions via triggers.
Supported Modules
| Role Required
|
Requests
| SDAdmin, HelpDeskConfig
|
Problem, Changes, Releases
| SDAdmin
|
After choosing your preferred module, click New Approval. Fill out the necessary information as described in the below:
Fields
| Description
|
Approval Name*
| Provide a name for the approval.
|
Description
| Describe the approval.
|
Applies to (This setting is not applicable for release module) | Select an entity to which the trigger should be applied.
|
Approval Rule
| Choose the approval rule from the drop-down. The available approval rules are:
Anyone to Approve - Approval is granted if one of the approvers has approved; gets rejected only when all approvers have rejected.
Everyone to Approve - Approval is granted only when all approvers have approved; gets rejected otherwise.
First Response Action - Approval is granted only when the first-ever approver has approved it; gets rejected otherwise.
Majority to Approve - Approval is granted only if the majority of approvers agree; gets rejected otherwise.
% to Approve - Approval is granted if the specified percentage of approvers provide approval; gets rejected otherwise.
|
Approvers*
| Select approvers from the drop-down. Type an approver placeholder to search the approver and select it from the drop-down.
Supported approvers for each module and sub-entitiy are listed here.
|
Email Notification Template
| Choose a template to send email notification to approvers.
Global Template: Populates default email notification template configured in the Notification Rules.
Custom Template: Allows you to customize the notification message specific to an approval action.
You can configure actionable email notifications if Actionable Messages for Outlook integration is enabled.
|
Approval Settings
| Define the approval configurations.
Global Settings: Settings configured under Setup > General Settings > Approval Settings is applied.
Custom Settings: Overrides global approval settings. Use the following options to set configurations specific to an approval.
Mandate comments for all approvals.
Notify when other approvers act on the approvals.
Automatically approve if the requester and approver are the same person.
Automatically approve if the same approver has previously approved at an earlier level.
|
* mandatory fields
Click Save.
Supported Approvers for Modules and Sub-Entities
Module
| Module Approvers
| Sub Entity
| Sub Entity Approvers
|
Request
| Organization roles
Request users
Requester
Technician
Editor
Lookup users
Users
| Task
| Owner
Created by
|
Approval Level
| Approvers
|
Change
| Change users and Roles (Includes lookup users) Organization roles
CAB members
Technician Groups
Users
| Task
| Group
Owner
Created by
|
Approval Level
| Approvers
|
Release
| Release users and Roles (Includes lookup users) Organization roles
CAB members
Technician Groups
Users
| -
| -
|
List View Operations
You can manage approvals from the list view and perform the following operations:
- Preview: Click a row to expand and preview the approval. Click Related Workflows to view the execution details of the approval in the related automations.
- Edit, Delete, Enable/Disable Approvals: Click
beside an approval name to edit, delete, enable/disable an approval. You can also enable/disable approvals using the toggle button in the Status column.

Delete operation is restricted for an approval action while being used in triggers.
- Bulk Actions: Select approvals, click Actions menu on the toolbar to bulk delete, enable/disable approvals.
- Global Configurations: Click the Global Configurations menu on the toolbar to configure the approval settings or approval notifications globally.
Field Updates
Create field update actions to update multiple fields of an entity at once. Each action can be used globally across several automations.
Supported Modules
| Role Required
|
Requests, Problems, Changes, Releases
| SDAdmin
|
Assets
| SDAdmin, AssetConfig
|
To create a field update action, choose your preferred module from the drop-down. Click New Field Update and fill out the necessary information as described in the below:
Field
| Description
|
Field Update Name*
| Provide a unique name for the field update action.
|
Description
| Describe the field update action.
|
Fields*
| Use the drop-down to select the field to be updated. The available fields for updating will be listed based on the customer.
Provide the value that should be updated in the selected field.
Based on the field type, the value can either be selected from existing options or entered manually by the user.
Use the  icon to add multiple field updates. |
*mandatory fields
Manage Field Updates
After field updates are created, they are listed on the list view page where you can perform the following actions:
- Click a row to expand and preview the field update action. Click Related Workflows to view the execution details of the field update in the related automations.
- Use the
icon to edit, delete, enable/disable field update action. You can also enable/disable field update action using the toggle button in the Status column.
- To delete, enable, or disable notifications in bulk, select the field update action and use the Actions menu on the toolbar.
Timers
Timers allow you to plan automated actions within a specific time frame and execute time-delayed actions. Currently, timers can be configured in custom triggers and workflows.
Supported Modules
| Role Required
|
Requests
| SDAdmin, HelpDeskConfig
|
Problems, Changes, Releases
| SDAdmin |
Configuring Timers
To create a timer action, choose your preferred module from the drop-down. Click New Timer.
The New Timer form is dynamic and each section loads uniquely based on certain values. Read the following pointers to understand how to fill out the necessary information:
Step 1: Provide Basic Details
Field
| Description
|
Timer Name*
| Provide a unique name for the timer action.
|
Description
| Describe the timer operation or usage.
|
*mandatory fields
Step 2: Schedule Timer
Specify the time frame to activate the timer and apply actions. Use the pointers below for reference:
- Timer Duration (mandatory field): Specify the time to schedule the timer. You can define the timer duration using one of the following options:
- User Defined - Provide the wait time manually.
- Based on a Date field - Calculate the time to run the timer based on date fields in the request or change.
- Based on Conditions - No time frame is available. Timer actions will be initiated once the criteria in trigger/workflow are satisfied and will run with no specified time frame until it matches the abort timer criteria.
- Wait for: Define a time frame within the timer duration to apply timer actions. The request/problem/change will wait for the specified time as the scheduled actions are executed. Based on the timer duration selected, the wait time configurations vary. This allows you to set up different types of timers.
Timer duration option selected
| Wait for time frame values
|
User Defined
| Enter days, hours, and minutes in relevant fields. The timer will run for the entire duration after request creation.
|
Based on a Date field
| You can apply a calculated time frame based on:
- Full Duration - Schedule timer to run from its initiation until the date/time in the specified field is reached.
- Number of Days - Schedule timer to run from its initiation and stop before/after the time in the selected date field is reached.
- Percentage - Schedule timer to run for a calculated timespan between two date fields.
- Specify the percentage of time to be considered. Click at to define if the wait time should start exactly when/before/after the specified percentage of time is reached.
- Select the (due by/schedule date) time as the end of wait time.
- The wait time starts based on relative to field.
|
- Based on Conditions
| - Time frame cannot be defined. Timer will run until it is aborted.
|
- Consider [Site Operational Hours/SLA Hours]: Choose to run the timer during site operational hours or only during SLA hours. If this option is not selected, the timer will run 24X7 once it starts.

This option will not be applicable if the timer duration is set based on conditions.
- Pause At Request Stop Timer: You can choose to pause the timer when the request enters On Hold status or any custom status where the status timer is stopped.

This option is available only for request timers.
This option will not be applicable if the timer duration is set based on conditions.
If this option is enabled, the timer will be paused even for Completed status in the following circumstances,
- Wait For time is defined by percentage and set to run until Due by date or Response Due By time is reached.
- SLA Hours is considered while running the timer.
Step 3: Configure Actions
After the timer starts running, you can apply multiple actions at timed intervals using levels. You can add up to 4 levels with a maximum of 5 actions in each level.
For every level, you can configure the execution rule to decide the time limit to execute the level and apply the configured actions. The execution rule configurations vary depending on the timer duration configurations.
> If User Defined/Based on Date field is defined as the timer duration:
To set Level 1,
- Click Configure.
- You can set the level execution wait time based on:
- Number of Days - Apply actions before or after the specified amount of time from the timer start.
- Percentage - Apply actions after a percentage of time has passed in the timer duration.
- Specify when the level should be executed. For the first level, the level initiation criteria is selected as initiate after/initiate at (of timer start), by default. This allows you to add further levels.
 You can select initiate before as initiation criteria to calculate the level execution time based on the timer duration end. You cannot add further levels if this option is configured. - Enable Repeat to apply the same action after repeated intervals. Set the time to repeat and specify the number of repetitions. The repeat time must be a minimum of 5 minutes. You can set up to 5 repetitions for each level.
- Choose the action to be applied. You can send notifications, run custom function, update a field, add tasks, or trigger a webhook.
To set further levels,
- Click Configure Level 2/3/...n.
- You can set the level execution time based on Number of Days and Percentage. The start of the execution time for level 2 and above can be set depending on the execution time of the previous levels.
All levels have the same execution time criteria
| Depending on the wait time criteria, you can choose to start the level timer as follows:
Number of Days -
- After the timer duration starts
- After the previous level is completed
Percentage -
- After the timer duration starts
- Calculates the amount of time left in the timer duration and starts level execution accordingly.
| |
Different levels have different execution time criteria
| The start of the level timer is auto-set as follows
Number of Days - After completion of previous levels
Percentage - Calculates the amount of time left in the timer duration and starts level execution accordingly.
| The initial levels have the execution time criteria while the later levels vary.
| For the initial levels, you can choose to start the level timer depending on the wait criteria:
Number of Days -
- After the timer duration starts
- After the previous level is completed
Percentage -
- After the timer duration starts
- Calculates the amount of time left in the timer duration and starts level execution accordingly.
For later levels, the start the level timer is auto-set as follows:
Number of Days - After completion of previous levels
Percentage - Calculates the amount of time left in the timer duration and starts level execution accordingly.
|
You can enable level repetition and choose actions to be applied as explained in level 1.
|
> If Based on Conditions is defined as the timer duration:
To set Level 1,
- Click Configure.
- Specify when the level should be executed after the timer starts.
- Enable Repeat to apply the same action after repeated intervals. Set the time to repeat and specify the number of repetitions. The repeat time must be a minimum of 5 minutes. You can set up to 5 repetitions for each level.
- Choose the action to be applied. You can send notifications, run custom function, update a field, add tasks, or trigger a webhook.
To set further levels,
- Click Configure Level 2/3/...n.
- Specify when the level should be executed. The execution time for level 2 and above can be started right after the timer duration starts or after the previous level is completed.
- You can enable level repetition and choose actions to be applied as explained in level 1.
|

- The repeat time must be a minimum of 5 minutes. You can set up to 5 repetitions for each level.
- You can apply a maximum of 5 actions in each level.
- Field update action is configured inline in each level. The other actions can be selected from custom actions configurations.
Step 4: Abort Timer
You can set the criteria to abort a timer halfway by selecting one of the following options:
- Based on conditions - Abort the timer if a particular criteria is met.
- Select the column, criteria, and value to define the condition.
- Use
icon to add multiple conditions.
- Drag a criteria by using the
icon over the indentation space below another criteria to add it as sub-criteria. Criteria containing sub-criteria are denoted with a drop-down icon.
- Using Custom Functions - Compile specific conditions using custom functions. Ensure the custom function returns a Boolean value. Click here to learn how to compile custom functions for timers.
- Don't abort till timer ends - Timer does not abort and runs till completion.
You can apply actions on the request or change if the timer is aborted. You can send notifications, run custom function, update a field, add tasks, or trigger a webhook.
Step 5: Configure Actions when Timer Ends
You can choose to execute actions when a timer ends by itself. You can send notifications, run custom function, update a field, add tasks, or trigger a webhook.

- You can apply a maximum of 5 actions when a timer is aborts or ends.
- Abort timer actions will not be applied if the timer ends or vice versa.
- You cannot configure actions when timer ends if the timer duration is selected as Based on Conditions.
- Field update action is configured inline under the relevant Actions section. The other actions can be selected from custom actions configurations.
Step 6: Other Options
You can choose to clear timers applied on a request/problem/change when the entity is closed. To apply timer-automated actions on closed requests/changes, this option can be disabled.
After setting up the timer, click Save.
Manage Timers
After timers are created, they are listed on the list view page where you can perform the following actions:
- Preview - Click a timer row to expand and preview the timer. Click Related Workflows to view the execution details of the timer in the related automations.
- Edit - Use the
icon to edit any timer.
- Enable/Disable- Use the
icon to enable/disable timer. You can also use the toggle on the Status column. To enable/disable in bulk, select the timers and use the Actions menu on the toolbar.
- Delete - Use the
icon to delete timer. To delete timers in bulk, select the timers and use the Actions menu on the toolbar.
- Search - Use the
icon to search through timer 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.
- Decide List View Layout - Click the
icon to limit the number of timers listed and to define the sort order.
Timer Actions Working
Sample Use Cases
Delay Timer: Apply delayed actions on a request or change.
Scenario (for requests): If a request is closed, make all notes public 2 days after the request is closed.
Configure a trigger to be executed when a request status is closed/completed with the following timer:
Timer Schedule
| Actions
|
Timer Duration: Based on conditions
| Level 1:
Level Execution time is set as Number of days to be initiated after 2 days of timer start.
Select Run a custom function as the action. Compile a custom function to mark notes as public and select the custom function.
|
Scenario (for changes): If a change request reaches Implementation stage, pause the workflow for 5 days for high risk changes.
Add a Timer node to the Implementation stage in the change workflow and configure the timer as follows:
Timer Schedule
| Actions
|
Timer Duration: User Defined
Wait For: 5 days
| Abort Timer:
Select Based on Conditions as the abort timer criteria.
Specify the condition as Change Risk is not High.
|
Break Timer: Stop executing timer actions if the user/technicians performs any actions on the request or change.
Scenario (for requests): When 50% of due by date is reached for a request and it is still not in Closed status, send reminders to the technician everyday to update the status. If the request status updated, stop sending notifications.
Configure a trigger to be executed when a request is created with the following timer:
Timer Schedule
| Actions
|
Timer Duration: Based on a Date Field
Wait For: Percentage at 100% of Due by date relative to Created Date.
| Level 1:
- Level Execution time is set as Percentage to be initiated at 50% of timer duration.
- Repeat the action every 1 day for 5 executions.
- Select Send Notification as the action.
Abort Timer:
- Select Based on Conditions as the abort timer criteria.
- Specify the condition as Status is Closed.
|
Scenario (for changes): If a change request reaches CAB Evaluation stage, send a notification every 30 minutes to the CAB members. Once the approval process is complete, stop sending notifications.
Add a Timer node to the CAB Evaluation stage in the change workflow and configure the timer as follows:
Timer Schedule
| Actions
|
Timer Duration: Based on Conditions
| Level 1:
- Level Execution time is set as Number of Days to be initiated after 30 minutes of timer start.
- Repeat the action every 30 minutes for 5 executions.
- Select Send Notification as the action.
Level 2 and above:
- Level Execution time is set as Number of Days to be initiated after 30 minutes of completion of level 1,2,...
- Repeat the action every 30 minutes for 5 executions.
- Select Send Notification as the action.
Abort Timer:
- Select Based on Conditions as the abort timer criteria.
- Specify the condition as Approval Status is changed.
|
Idle Timer: Perform actions on a request or change if it is idle in a status/stage for a specified duration.
Scenario (for requests): If a request is idle for more that 2 days while waiting for input from the requester, send a reminder to the requester. If no response comes through for a day, cancel the request and notify the requester.
Create a custom status 'Awaiting Reply from Requester'. Configure a trigger to be executed after a request is created and the status is Awaiting Reply from Requester with the following timer:
Timer Schedule
| Actions
|
Timer Duration: Based on conditions
| Level 1:
- Level Execution time is set as Number of days to be initiated after 2 days of timer start.
- Action is selected as Send Notification.
Level 2:
- Level Execution time is set as Number of days to be initiated after 1 day of completion of level 1.
- Select Field Update as the action to change the request status as Canceled.
- Select Send Notification as the second action to notify requester about request cancellation.
|
Scenario (for changes): Track the time spent by the change request in a freeze window when the Implementation stage is reached and create tasks if the change is frozen for more than 2 days.
Create a change trigger with the condition as Freeze Conflicted is Yes and Change State is Implementation. Configure the following timer as trigger actions:
Timer Schedule
| Actions
|
Timer Duration: Based on conditions
| Level 1:
- Level Execution time is set as Number of days to be initiated after 2 days of timer start.
- Action is selected as Create Tasks and configure tasks to pause or reschedule freeze windows.
|
General Timers: Perform actions at timed intervals.
Scenario (for requests): When a request is logged from JIRA, search for resolution in all service desk instances. If a resolution is found, update the request status as Resolved in ServiceDesk Plus Cloud and JIRA.
Create an additional field 'Request Logged from JIRA'. Configure a trigger to be executed after a request is created and the Request Logged from JIRA field value is Yes with the following timer:
Timer Schedule
| Actions
|
Timer Duration: Based on a Date Field
Wait For: Number of Days after 30 minutes of Created Date.
| Level 1:
- Level Execution time is set as Percentage to be initiated after 80% of timer end.
- Select Run a custom function as the action. Compile a custom function to check the keywords in all service desk instances and copy resolution to the request.
Timer Ends:
- Configure 2 actions to be executed when the timer ends.
- Select Field Update as the first action to change the request status as Resolved.
- Configure a webhook to update the JIRA ticket as the second action.
|
Scenario (for changes): Ensure all the tasks in a change request has worklog added by the task owner. If a task is closed without this information, notify the task owners everyday.
Create a trigger for change tasks. Choose to execute the trigger when the task is created and the status is Resolved or Closed. Configure the following timer as trigger action:
Timer Schedule
| Actions
|
Timer Duration: Based on Conditions
| Level 1:
- Level Execution time is set as Number of days to be initiated after 1 day of timer start.
- Select Run a custom function as the action. Compile a custom function to check the worklog of change tasks and send notifications every day.
Disable Automatically clear timer on Change closure to continue reminding your technicians even if the change request is closed.
|
Tasks
You can create custom tasks with clearly defined timelines and specific goals. The task details can be pre-defined using templates.
Supported Modules
| Role Required
|
Requests, Problems, Changes, Projects, Releases
| SDAdmin
|
Assets
| SDAdmin, AssetConfig
|
CMDB
| SDAdmin, SDCMDBAdmin
|
To create a task action, choose your preferred module from the drop-down. Click New Task and fill out the necessary information as described in the table below:
Field
| Description
|
Task Name
| Provide a unique name for the task action.
|
Description
| Provide a description for the task action.
|
Copy from a Template
| Use this drop-down to populate task fields by choosing an existing task template.
|
Change Stage/Release Stage
| Select the stage in the change/release to which the task has to be added.
|
Title
| Provide a title for the task.
|
Description
| Provide a description for the task.
|
Assign Group/Owner
| Use the toggle button to assign the selected group/owner immediately when the task is added or triggered. Use the Group and Owner drop-down assign/mark your preferred group and owner respectively.
|
Status
| Use the drop-down to preset the task status.
|
Priority
| Use the drop-down to configure priority for the task.
|
Estimated Effort
| Provide effort value in days, hours, and minutes.
|
Additional Cost
| Provide the additional cost that would be incurred for completing the task in your default currency.
|
Task Type
| Use the drop-down to select the task type.
|
Manage Tasks
- Click a task row to expand and preview the task. Click Related Workflows to view the execution details of the task in the related automations.
- Use the
icon to edit, delete, enable/disable tasks. You can also enable/disable task using the toggle button in the Status column.
- To delete, enable, or disable tasks in bulk, select the tasks and use the Actions menu on the toolbar.
Custom Functions
Custom functions are programs that allow you to manipulate data within ServiceDesk Plus Cloud. Using custom functions, you can perform operations that cannot be executed via standard UI configurations.
Custom functions are written in Zoho's proprietary scripting language called Deluge.
Supported Modules
| Role Required
| Sub -entities where custom functions are applicable
|
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, Approval Levels, Approvals, 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
| CMDB, Each CI type
|
Purchase
| SDAdmin
| Purchases, Approval Levels, Approvals, Payments, Invoices
|
Contracts
| SDAdmin
| Contracts
|
Custom Modules
| SDAdmin
| Custom modules
|
Create Custom Functions
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 in the 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:
- Business rule action - "Map" value
- Workflow condition or workflow action, business rules action, timer condition - "Boolean" value
- Request/Problem life cycle action, trigger action - "Void" value
|
Deluge Script Editor
|
Compile the custom function in the Deluge Script Editor using a simple drag-and-drop motion.
Depending on the module selected, the following arguments will be passed in the custom function.
- Requests - 'requestObj' and 'context'
- Problems - 'problemObj' and 'context'
- Changes - ' changeObj ' and 'context'
- Projects - 'projectObj' and 'context'
- Releases - 'releaseObj' and 'context'
- Assets - 'assetObj' and 'context'
- CMDB - 'ciObj' and 'context'
If the custom function is configured for a request or change sub-entity, the respective sub-entity object will be passed in the parameter.
|
*mandatory fields
After compiling the custom function, click Save or Save & Execute Script.
Manage Custom Functions
After the custom functions are created, they are listed on the list view page where you can perform the following actions:
- Preview - Click a custom function row to expand and preview the custom function. Click Related Workflows to view the execution details of the custom function in the related automations.
- Edit - Use the
icon to edit any custom function.
- Enable/Disable- Use the
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.
- Delete - Use the
icon to delete custom functions. To delete custom functions in bulk, select the custom functions and use the Actions menu on the toolbar.
- Search - Use the
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.
- Decide List View Layout - Click the
icon to limit the number of custom functions listed and to define the sort order.
Import Sample Functions
An illustration:
Employees in your organization might use different types of third-party applications, besides ServiceDesk Plus Cloud. Let's say they use GoToMeeting to organize web conferences with employees across geographical locations. You can make this process easier by configuring a custom function. Each time a meeting request is raised within ServiceDesk Plus, you can configure a custom function to be executed to schedule a meeting in GoToMeeting and add the Join URL as a note to the request raised within ServiceDesk Plus Cloud.
Check Usage Stats
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 15,000,000 executions per month and 50,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.
Green: Less than 50% quota is utilized.
Orange: 50% - 75 % of the quota is utilized.
Red: More than 75% of the quota is utilized.
Webhooks
A webhook enables you to call an external URL to communicate with any third-party application. For example, you can sync information between two different services, such as ServiceDesk Plus Cloud and any third-party service to maintain your assets, purchase requests, or Active Directory.
Supported Modules
| Role Required
|
Requests
| SDAdmin, SDSiteAdmin, and HelpDeskConfig
|
Problems, Changes, Projects, Releases, Solutions, Purchase, Contracts, Custom Modules
| SDAdmin
|
Assets
| SDAdmin, AssetConfig
|
CMDB
| SDAdmin, SDCMDBAdmin
|
In the following screenshot, you will see a webhook configured for integration with Atlassian JIRA.

Use $ sign to add a substitution variable as part of the webhook URL.
You can invoke the following commands via webhooks:
- GET - Allows you to notify any third-party application about data modifications within any module in ServiceDesk Plus Cloud.
- PUT - Creates and updates specific data on the third-party site.
- POST - Creates specific data on the third-party site.
- DELETE - Removes any specified data such as the login credentials of a former employee in Active Directory.
Manage Webhooks
After the webhooks are created, they are listed on the list view page where you can perform the following actions:
- Preview - Click a webhook row to expand and preview the webhook. Click Related Workflows to view the execution details of the webhook in the related automations.
- Edit - Use the
icon to edit any webhook.
- Enable/Disable- Use the
icon to enable/disable webhooks. You can also use the toggle on the Status column. To enable/disable in bulk, select the webhooks and use the Actions menu on the toolbar.
- Delete - Use the
icon to delete webhooks. To delete webhooks in bulk, select the webhooks and use the Actions menu on the toolbar.
- Search - Use the
icon to search through webhooks 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.
- Decide List View Layout - Click the
icon to limit the number of webhooks listed and to define the sort order.