Zoho Desk offers numerous functionalities to automate, customize, and simplify your customer support process. It allows you to create webhooks and write custom functions to automate your repetitive support workflows, reduce the manual data-compilation process, data syncing, and more. Although these customizations come with substantial business benefits, using webhooks and custom functions to build them has its own constraints.
For example, webhooks require you to construct the API with the given input structure instead of your standard structure. Similarly, for custom functions, you need to know Deluge, a proprietary scripting language used by Zoho for programming scripts. Going beyond these constraints, the Custom Actions functionality offers a platform that can be implemented quickly. With this feature, you can perform key tasks automatically when deployed in the workflow rules.
The Custom Actions Gallery includes a set of Custom Actions, which let you add workflow actions in addition to the alerts, tasks, field updates, skills, and custom functions that are available by default. All you need to do is select or specify the required actions and their values to add the action to your workflow rule.
Note
- The Custom Actions Gallery is available only for the Tickets module.
- You can associate a maximum of 5 custom actions to a workflow rule.
The custom actions that can be associated with workflow rules are:
Assign Ticket - Assigns ticket to an agent or a team as per the execution of the rule
Add Comment - Adds either a public or private comment in a module
Send Email Reply - Triggers automatic email replies to your customer tickets
Add Tags - Adds tags to a specific ticket
Remove Tags - Removes the tags associated with a ticket
Add Followers - Adds followers to a specific ticket
Mark Ticket as Spam - Marks a ticket and its associated contact as spam
Share Ticket - Shares tickets with a department
Send Cliq Notification - Sends a Zoho Cliq notification using an incoming webhook URL
Reply and Notify via Instant Messaging - Send automatic responses to the tickets and notifications to customers through IM channels
Extension Custom Actions - Allows you to create custom actions in the event of extension installation.
Before taking a detailed look at the action types, it's important to know about placeholders and how to use them.
Placeholders
A placeholder is a word or character's string that temporarily holds the place to insert final or actual data. The placeholders are provided within the double curly brackets {} and act as references to the tickets and their properties. For example, when you insert the placeholder: ${deskPlaceHolders.tickets.assigneeId}, it can be replaced with the actual data (the ID of the assignee who owns the ticket).
For all the action types, Record ID will be auto-populated and mapped to the ticket ID. Here, the record ID is the same as the ticket ID.
For some of the fields in Actions, you need to insert placeholders.
To insert placeholders:
Click the Empty Double Curly Brackets {} present in the respective fields of custom actions. The Select Placeholders dialog-box will appear at the right side of the screen.
Select the placeholder to be inserted against the corresponding fields in the action type. The selected placeholder will hold a temporary place/field to be replaced with actual data.
Note: You can insert the output field of a specific action as an input to the following action via Insert Placeholders. For example, inserting the placeholder ${trigger_mail.content}. Here, the content of Send Email Reply action is mapped as input to the comment field in the Add Comment action.
List of Placeholders - Field Labels
Below, you can find the list of non-identical field labels available in the Custom Actions Gallery.
Field Labels | Placeholders | Description |
Created By | ${deskPlaceHolders.tickets.createdBy} | ID of the agent who created the ticket |
Modified By | ${deskPlaceHolders.tickets.modifiedBy} | ID of the person who modified/updated the ticket most recently |
Department | ${deskPlaceHolders.tickets.assignee.associatedDepartmentIds} | ID of the associated department to which the assignee belongs |
About | ${deskPlaceHolders.tickets.assignee.aboutInfo} | Provides additional information of the assignee |
Owner Id | ${deskPlaceHolders.tickets.contacts.ownerId}
${deskPlaceHolders.tickets.products.ownerId}
${deskPlaceHolders.tickets.accounts.ownerId}
| ID of the ticket's contact owner
ID of the ticket's product owner
OwnerId of the account that is linked to the current ticket.
|
Assignee | ${deskPlaceHolders.tickets.assignee.firstName} | First name of the assignee |
Assign Ticket
By associating this action type into your workflow rules, you can automatically assign the tickets to a specific agent or team without any manual process.
Example: You receive tickets from a particular contact (i.e, Premium Customer) and you want to assign those tickets to a dedicated contact owner or account owner based on the priority. This case can be executed automatically (i.e, whenever you receive ticket from that contact it can be assigned to specific contact/account owner) by integrating the Assign Ticket action into your workflow rule.
To associate the assign ticket action:
Go to Setup > Automation > Workflows.
In Workflow Rules page, click Create Rule at the top.
In New Workflow page, fill all the required fields in Basic Information, Execute On, and Criteria sections.
Refer to Creating workflow rules for more information. In the Actions section, click the Plus icon (), then select Assign Ticket action type from the drop-down list.
In Assign Ticket page, enter the Name for the action.
Choose Assignee from the drop-down list (Agent, Team, or Agent in a Team).
Enter the Assignee Name or the Team Name accordingly. The Record ID that denotes the ticket's ID will be auto populated.
Click Save.
Using comments you can provide extra information or a note about a module or a ticket in the module. Comments can be posted either publicly or privately.
Example: You receive a ticket and you want to resolve that ticket immediately. For such tickets you can provide comments like Resolve Immediately, Prioritize this ticket, and more, so that the ticket can be prioritized and resolved promptly. These comments can be added automatically to those tickets by associating this specific action into your workflow rule.
To configure the add comment action:
Go to Setup > Automation > Workflows.
In Workflow Rules page, click Create Rule at the top.
In New Workflow page, fill all the required fields in Basic Information, Execute On, and Criteria sections.
Refer to Creating workflow rules for more information. In the Actions section, click the Plus icon (), then select Add Comment action type from the drop-down list.
In Add Comment page, enter Name for the action and select Module from the drop-down. The Record ID that denotes the ticket's ID will be auto populated.
Enable Make Comment Public to make your comment visible to all.
Enter the Comment you wish to add or provide a default comment by inserting a placeholder.
Click Save.
Send Email Reply
Whenever you receive an Email from your customer, you can set-up a default text reply that you wish to send eliminating the need for manual replies. You can use this action to draft your reply and set your reply email to send automatically.
Example: Let us assume a case where downtime arises. To resolve the downtime issues, we could receive multiple emails from multiple customers. It's not possible to reply to each customer manually, so we can create a workflow rule associating the custom actions in Custom Actions Gallery. Using this workflow rule, we can automatically trigger a reply email to the customers.
To associate the Send Email Reply action
Go to Setup > Automation > Workflows.
In Workflow Rules page, click on Create Rule at the top.
In New Workflow page, fill all the required fields in Basic Information, Execute On, and Criteria sections.
Refer to Creating workflow rules for more information. In the Actions section, click the Plus icon (), then select Send Email Reply action type from the drop-down list.
In Send Email Reply page, enter Name for the action.
Choose From Address (email address from which you want to trigger the mail) from the drop-down list.
Provide To Address (email address to which you want to send the reply mail) either by entering Mail Address manually or by inserting a placeholder. The Record ID that denotes the ticket's ID will be auto populated.
Enter the Ticket Reply.
Use placeholders if required.
Click Save.
Adding tags to the tickets allows you to track and manage those tickets easily. Tags are used to attach additional data to the tickets. Tags must include only alphanumeric characters (a-z and 0-9), and should avoid special characters.
Example: Whenever a customer raises their query regarding Refund Policy, you can use a tag as 'Refund', so that you can easily track all the tickets related to refund policies.
To associate the Add Tags action:
Go to Setup > Automation > Workflows.
In Workflow Rules page, click on Create Rule at the top.
In New Workflow page, fill all the required fields in Basic Information, Execute On, and Criteria sections.
Refer to Creating workflow rules for more information. In the Actions section, click the Plus icon (), then select Add Tags action type from the drop-down list. In the Add Tags page, enter Name for the action.
Choose all the Tags to be added.
You can add tags either by selecting existing tags from the drop-down list or by inserting placeholders. The Record ID that denotes the ticket's ID will be auto populated. Click Save.
When you need to remove multiple tags that are associated with the ticket, it might be difficult to check each ticket manually and remove the associated tags. In such cases, you can automate the removal of tags as well using Remove Tags action and dissociate tags from the tickets automatically.
To associate the Remove Tags action:
Go to Setup > Automation > Workflows.
In Workflow Rules page, click Create Rule at the top.
In New Workflow page, fill all the required fields in Basic Information, Execute On, and Criteria sections.
Refer to Creating workflow rules for more information. In the Actions section, click the Plus icon (), then select Remove Tags action type from the drop-down list.
In Remove Tags page, enter Name for the action. Choose the Tags to be removed.
The Record ID that denotes the ticket's ID will be auto populated.
Click Save.
Add Followers
Using this action, agents can easily follow up with the tickets that are received from a particular contact (i.e., Premium Customer). When this action is associated with the workflow rule, agents are added as followers to specific tickets, so that they can receive notifications whenever the ticket is updated.
To configure the Add Followers action:
Go to Setup > Automation > Workflows.
In Workflow Rules page, click on Create Rule at the top.
In New Workflow page, fill all the required fields in Basic Information, Execute On, and Criteria sections.
Refer to Creating workflow rules for more information. In the Actions section, click the Plus icon (), then select Add Followers action type from the drop-down list.
In Add Followers page, enter Name for the action.
Choose Followers either from the drop-down list or by inserting placeholders. The Record ID that denotes the ticket's ID will be auto populated.
Click Save.
Mark Ticket as Spam
This action is very useful when you receive multiple tickets like advertising or marketing based tickets that are irrelevant to the queries to be raised in desk portal. Those tickets need to be marked as spam so that the undesired emails don't clutter your ticket list. You can automate it by using the Mark Ticket as Spam action in your workflow rule and view such tickets under a separate view called Spam Tickets.
To associate the Mark Ticket as Spam action:
Go to Setup > Automation > Workflows.
In Workflow Rules page, click Create Rule at the top.
In New Workflow page, fill all the required fields in Basic Information, Execute On, and Criteria sections.
Refer to Creating workflow rules for more information. In the Actions section, click the Plus icon (), then select Mark Ticket as Spam action type from the drop-down list. In the Mark Ticket as Spam page, enter Name for the action.
Enable the Check Box - Mark associated contact as spam to mark the ticket and its associated contact as spam. The Record ID that denotes the ticket's ID will be auto populated.
Click Save.
Share Ticket
This action type allows you to share tickets with other departments in the organization, so that the agents can collaborate towards resolving and closing the ticket depending on their pre-defined access levels. You can set different levels of access permissions (Full Access, Restricted Access, and Read-only Access) for the agents in the department.
Full Access - Provides complete access to the agents on the shared tickets including replying to the tickets.
Restricted Access - Provides the agents access to leave private comments and forward ticket conversations.
Read-only Access - Provides the agents access only to view the shared tickets and leave private comments. They are not allowed to reply to the tickets.
Example: Let us take a scenario whenever you receive tickets with the specific subject, you can share those tickets alone with particular departments to ease the process. You can automatically share the tickets by integrating this action into your workflow rule.
To associate the Share Ticket action:
Go to Setup > Automation > Workflows.
In Workflow Rules page, click Create Rule at the top.
In New Workflow page, fill all the required fields in Basic Information, Execute On, and Criteria sections.
Refer to Creating workflow rules for more information. In the Actions section, click the Plus icon (), then select Share Ticket action type from the drop-down list.
In the Share Ticket page, enter the Name for the action.
Choose the Department Name (department with which you want to share the ticket) from the drop-down. The Record ID will be auto populated in the form of placeholders.
Select the Permission Level (Full Access, Restricted Access, and Read-only Access) from the drop-down.
Click Save.
Send Cliq Notification
With this action, you can monitor your daily ticket activity from Zoho Cliq chat. You can send replies, change status, assign tickets, and provide comments effectively from the direct message notifications. Once this action is associated and executed with the workflow rule, the notification will be triggered in the cliq chat window of the user who subscribed to the bot.
To configure the Send Cliq Notification action:
Go to Setup > Automation > Workflows.
In Workflow Rules page, click on Create Rule at the top.
In New Workflow page, fill all the required fields in Basic Information, Execute On, and Criteria sections.
Refer to Creating workflow rules for more information. In the Actions section, click the Plus icon (), then select Send Cliq Notification action type from the drop-down list.
Enter Name and Incoming Webhook URL.
Refer to the upcoming section to know how to insert Incoming Webhook URL.
Enter Notification Message to be displayed in the text area.
Click Save.
Insert Incoming Webhook URL
Incoming Webhooks are used for posting messages in other applications. Incoming Webhook creation provides you with a unique URL to which you can send a text message as a JSON payload.
To insert the incoming webhook URL:
Click on your profile icon and then select Bots & Tools under Cliq Options section.
Select your preferred bot where you need to notify.
Click Edit Handlers, then scroll-down and press Edit Code below the Incoming Webhook Handler of the selected bot.
Remove the code where the response object is populated and insert the following code snippet to retrieve the content in normal text instead of HTML in the Cliq chat window.
text = body.get("message"); // Retrieve the message from the request's payload.
text = text.replaceAll(" "," "); // Replace the non-breaking space value with a string of empty spaces.
text = text.replaceAll("<br />","\n"); // Replace the break element with the new line element.
text = text.replaceAll("<b>","*"); // Replace the HTML bold element (<b>) with cliq's markdown support (*).
text = text.replaceAll("</b>","*"); // Replace the HTML bold element (</b>) with cliq's markdown support (*).
text = text.replaceAll("<i>","_"); // Replace the HTML italic element with cliq's markdown support (_).
text = text.replaceAll("</i>","_"); // Replace the HTML italic element with cliq's markdown support (_).
text = text.replaceAll("<h1>","# "); // Replace the HTML Heading1 element (h1) with the Heading1 element (#) of cliq's markdown support.
text = text.replaceAll("</h1>","# "); // Replace the HTML Heading1 element (h1) with the Heading1 element (#) of cliq's markdown support.
text = text.replaceAll("<h3>","### "); // Replace the HTML Heading3 element (h3) with the Heading3 element (###) of cliq's markdown support.
text = text.replaceAll("</h3>","### "); // Replace the HTML Heading3 element (h3) with the Heading3 element (###) of cliq's markdown support.
text = text.replaceAll("<[^>]*>",""); // Clear the element syntax.
response.put("text",text);
Click Save.
Copy the Incoming Webhook Endpoint Url.
In the left panel, select Webhook Tokens and click Generate New Token.
Copy the generated New Token.
- Append the copied 'Generated New Token' to the Incoming Webhook Endpoint URL as shown below:
Reply via Instant Messaging
Agents can send automatic responses to the tickets through IM channels such as Wechat, Line, Whatsapp, Telegram etc. The reply will be automatically associated with the ticket, allowing them to follow-up in future and also to maintain the continuity of the conversation thread.
Example: When a customer inquires about their shipment, an auto response can be sent to them with the product code, delivery date, status, and tracking code. Also, this can be specially useful if the customers sends an inquiry outside the organization's business hours. An auto-reply can be set with a message that the agents will get back to them during the business hours.
Note: Replies through all IM accounts can be sent only as a response to the customer's ticket except Whatsapp, where the agent can initiate a conversation.
To associate reply via instant messaging
Go to Setup > Automation > Workflows.
In Workflow Rules page, click Create Rule.
In New Workflow page, enter the required fields in Basic Information, Execute On, and Criteria sections.
Refer to Creating workflow rules for more information.
In Actions, click the Add icon and select Send Reply via IM from the drop-down list.
In Send Reply via IM page, enter Name for the action.
Choose an IM Account from the drop-down list.
Select a Template, using which you want to send the reply.
The Record ID that denotes the ticket's ID is auto-populated.
Click Save.
Notify via Instant Messaging
Automatic notifications can be sent to the customers via IM channels. These notifications will not be associated with the ticket, however, it can be viewed within the respective IM account.
Example: Notifications on booking confirmations, reminders on subscription renewal or due date for periodic payments can be sent to the customers via IM channels.
To associate notify via Instant Messaging
Go to Setup > Automation > Workflows.
In Workflow Rules page, click Create Rule.
In New Workflow page, enter the required fields in Basic Information, Execute On, and Criteria sections.
Refer to Creating workflow rules for more information.
In Actions, click the Add icon and select Notify via IM from the drop-down list.
In Notify via IM page, enter Name for the action.
Choose an IM Account from the drop-down list.
Select a Template, using which you want to send the notification.
The Record ID that denotes the ticket's ID is auto-populated.
Click Save.
Extension Custom Actions
Extension Custom Actions help you create your own custom actions via extensions developed in Sigma website. So that, when you install the extension on your desk account, the created custom action will appear in the Custom Action Gallery alongside the existing actions, which you can integrate with workflow rules and meet your business goals.
Example: You can create an action to move tickets between departments when a customer shows interest in the other department's products.
To create your own custom actions while installing an extension, click here.
Edit Custom Actions
Once you associate Custom Actions into your workflow rules, all the associated actions will be listed under the Actions section and you can edit them as required.
To edit actions:
Go to Setup > Automation > Workflows.
In Workflow Rules under Actions, the type of actions will be listed.
Click the Edit icon () corresponding to the type of action to be edited.
In the action type page, make necessary changes and click Save. The changes made will be updated successfully.
Note: A maximum of five custom actions can be integrated with a workflow rule.
Delete Custom Actions
Similar to actions update, you can also delete the actions that have been associated with your workflow rules.
To delete the associated actions
Go to Setup > Automation > Workflows.
In Workflow Rules under Actions, the Action Type will be featured.
Click the Remove icon () corresponding to the action type to be deleted.
In the pop-up, click Delete to confirm.
If an output of a specific action you want to delete is used as input in any other action, an alert will pop-up as shown below:
Execution Failure and Disabled Cases
Though all the actions are well associated with your workflow rules, some of the actions may fail at the time of execution. These failure cases are lined-up in Ticket History along with Rule Name, Action Name, Status, and Reason. A few of those possible failures/disabled cases have been described below:
Action Failure on Deleting/Deactivating an Agent
- Assign Ticket Failure
Reason: The agent or team given as assignee input in the Action is deleted or deactivated.
To rectify - Change the given assignee input.
Reason: The agent given as follower input for the Action is deleted or deactivated.
To rectify: Change the given follower input.
Action Failure Due To Insufficient Permission or Authorization
If the agent who created a particular action doesn't have permission to perform that action, then the failure may occur. For instance, if an agent is creating the Add Comment action but does not have the profile permission to add comment to a ticket, then the created action will fail. This failure affects all the actions that are associated with the workflow rule. To avoid such failure cases, only the agent with proper profile permission should create the actions.
Action Failure When Placeholder Value is Removed
Let's take a case where a custom field is used as a placeholder value in an action. When that custom field is removed, the action will not be executed and as a result of this failure, the action will be disabled. The action can be enabled by removing the placeholder that carried the custom field that was removed and then saving that action. The actions affected by these are Send Email Reply and Add Comment.
Note: Only for this case, the action will be disabled. Action Execution Skip
In previous cases, if the failure occurs, the action will not be executed. However in this case, if the given value is null while executing an action, then that execution alone will be skipped and no records will be queued in ticket history.
For this action, if a placeholder is given as agent assignee and if the value of that placeholder is null when the action is executed, then the execution will be skipped.
For this action, if a placeholder is given as one of the followers and if the value of the placeholder is null when the action is executed, that value will be removed and executed. If the followers list is empty after removing null values, then the execution will be skipped.
For this action, if a placeholder is given as one of the tags and if the value of the placeholder is null while executing the action, that value will be removed and executed. If the tags list is empty after removing null values, then the execution will be skipped.
Note: If the placeholder value is null, then the actions Send Email Reply, Add Comment, Share Ticket, and Send Cliq Notification will be executed with empty values.
Alert Message For Execution Failures
When any of the actions are disabled, and an execution failure case arises (e.g., placeholder removed), you will receive an alert as shown below:
Once the action is executed and disabled due to any of the above-mentioned cases, an alert message will be displayed below the corresponding actions in the Edit Workflow page and also lined-up in the ticket history.