In our last post, we detailed the steps involved in creating a custom action and the workflow from the developer and end user's side. Now let's look at a working example of how we can create a custom action and implement it in a Zoho CRM account to make the end user's work simpler.
You are a sales representative (the end user/extension user) handling cases and their solutions in a Zoho CRM account. While cases may arrive by phone, web, or email, you must log them with basic information, such as the subject, description, and priority.
Issues are typically recorded in cases modules using the Subject field, which contains a brief description of the problem. You may discover an immediate solution to the issue while manually logging the cases. In those cases, you must still manually feed the solution into the Solution field. How convenient would it be if the solution for a case could be auto-populated when a case with a common issue arises? We can streamline this process by creating a custom action.
Note: Throughout the following example explanation, the terms "sales representative", "end user", and "extension user" can be used interchangeably, but refer to the same person. The sales representative is the end user who installs and makes use of the extension features in their Zoho CRM account.
Create a custom action as part of extension development that includes a custom UI for obtaining personalized solution inputs and an action that will update the solution in the Solution field of a case. After installing the extension, the end user can simply create workflows and associate the custom action with them.
Because the sales representative who installs the extension will be dealing with the cases in their Zoho CRM account, they can easily create different workflows. Each of these workflows can be assigned criteria so that when the Subject field contains specific keywords typically used by the sales representative while logging, the custom action updates the personalized solution provided as part of that workflow custom action.
Let's go over the steps in order to achieve this.
- Create a custom user interface (widget-connected app) that allows the user to enter their personalized solution inputs.
- In the Zoho Developer console, create a custom action.
- Associate the custom UI to the custom action.
- Define an action that performs the function of updating a case's Solution field.
- Create workflows (as an end-user perspective that meets specific subject criteria (e.g., if the subject contains keywords like "widget," "not," and ''loading," then set a personalized solution in the case) and associate a custom action to them.
Creating a custom UI to obtain an end user's personalized solution inputs
- Create a custom UI to retrieve the end user's personalized input for the solution field and later be updated in a case based on the workflow the user creates.
Case handling.html code snippet
<html>
<head>
<link rel="stylesheet" href="../css/style.css">
<script src="../js/lib/zsdk.min.js"></script>
<script src="../js/custom.js"></script>
<script src="../js/jquery-min.js"></script>
</head>
<body>
<input type="text" id="solution" placeholder="Solution..."><br>
<button type="submit" class="submit_button" onclick="Util.save()">Save</button><br>
<script>
$(document).ready(function(){
ZOHO.embeddedApp.init();
});
</script>
</body>
</html>
|
|
Case handling.js code snippet
Util={};
Util.save=function()
{
ZOHO.CRM.ACTION.setConfig (
{
Caseid: "${!Cases.Id}",
Solution : document.getElementById("solution").value
})
}
|
|
- The above javascript code snippet will fetch the current case's ID and set it to a variable "Caseid". The end user's inputted solution through the UI is also set to a variable "Solution".
- These values will be passed as parameters to the custom function that will be associated with the custom action in the coming section.
Creating a custom action
1. Create a custom action called "Casehandling" using the Create an Action button under the Custom Actions option, available in the Components section of the Zoho Developer console.
2. Provide a name for the custom action and a description if necessary. Click Next.
3. Associate the custom UI created earlier with the custom action by specifying the html page of the widget's connected app. Click Next.
4. Then write a Deluge function to perform the desired action by clicking the Create Function button. As shown on the right hand side of the page, the values obtained in the custom UI earlier will be passed as a JSON object parameter to this Deluge function, and then the functionalities can be performed based on these inputs from the custom page.
Case handling Deluge function code snippet
caseinfo = {"ID":config.get("Caseid"),"Solution":config.get("Solution")};
response = zoho.crm.updateRecord("Cases",config.get("Caseid"),caseinfo); |
- The above Deluge code snippet uses the current case ID and the solution input by the end user through the UI to update the personalized solution to the Solution field of the case using the updateRecord deluge task.
- Click Save to save the custom action.
Now that the functionality is defined, the extension can be published and installed.
Creating workflows in Zoho CRM as an end user
1. As an end user, install the extension.
2. Now create a workflow using Setup->Automation->Workflow rules. Create workflows for two commonly arising cases so that, as an end user, you can predefine some personalized solution inputs for these common cases. This will thereby update the solution to the case when the workflow criteria is satisfied. The two sample workflows handled for this example are:
When a widget is not loading or a 404 page not found occurs in the user's Zoho CRM account.
When a connector unauthorized error occurs.
3. First, define a workflow for "Widget not loading" case by specifying the when and condition criteria.
4. Now under "instant actions," you will find the custom action installed as part of the extension. Associate the case handling custom action with this workflow.
5. Enter the personalized solution in the custom UI displayed.
6. Go to the Cases module. Log a case with the Subject field, satisfying the workflow criteria.
This automatically updates the Solution field with the predefined solution entered by the end user for this workflow.
Similarly, you can create multiple workflows for different cases for which you can define predefined solutions to make the case logging process easy.
In this way, you can use custom actions to ease the end user's work by reusing templates created for them. We hope you find this information useful. Keep following this space for more insights!
SEE ALSO
Recent Topics
Zoho Flow - Update record in Trackvia
Hello, I have a Flow that executes correctly but I only want it to execute once when a particular field on a record is updated in TrackVia. I have the trigger filters setup correctly and I want to add an "update record" action at the end of the flow to
Add Comprehensive Accessibility Features to Zoho Desk Help Center for End Users
Hello Zoho Desk Team, We hope you're doing well. We’d like to submit a feature request to enhance the client-facing Help Center in Zoho Desk with comprehensive accessibility features, similar to those already available on the agent interface. 🎯 Current
Rename Record Summary PDF in SendMail task
So I've been tasked with renaming a record summary PDF to be sent as part of a sendmail task. Normally I would offer the manual solution, a user exports the PDF and uploads it to a file upload field, however this is not acceptable to the client in this
in zoho creator Sales Returns form has sub form Line Items return quantity when i upate the or enter any values in the sub form that want to reflect in the Sales Order form item deail sub form field Q
in zoho creator Sales Returns form has sub form Line Items return quantity when i upate the or enter any values in the sub form that want to reflect in the Sales Order form item deail sub form field Quantity Returned\ pls check the recording fetch_salesorder
Estimates with options and sub-totals
Hi It seems it would be great to be able to show multiple options in an estimate. For instance I have a core product to which I can add options, and maybe sub-options... It would be great to have subtotals and isolate the core from the not compulsory items. Thanks
Optional Items Estimate
How do you handle optional items within an estimate? In our case we have only options to choose with. (Like your software pricing, ...standard, professional, enterprise) How can we disable the total price? Working with Qty = 0 is unprofessional....
Important Update : Zendesk Sell announced End of Life
Hello Zendesk users, Zendesk has officially announced that Zendesk Sell will reach its End of Life (EOL) on August 31, 2027 (Learn more). In line with this deprecation, Zoho Analytics will retire its native Zendesk Sell connector effective October 1,
Zoho Sheets
Hi, I am trying to transition into Zoho sheets, I have attached the issues encountered. Server issues, file trying to upload for more than 30 mins, even once uploaded my data aren't loaded. Simple calculations are not working I have attached the sample.
Zoho CRM + Zoho FSM : alignez vos équipes commerciales et techniques
La vente est finalisée, mais le parcours client ne fait que commencer ! Dans les entreprises orientées service, conclure une vente représente seulement la première étape. Ce qui suit — installation, réparation ou maintenance régulière — influence grandement
Top Bar Shifting issue still not fixed yet
I mentioned in a previous ticket that on Android, the top bar shifts up when you view collections or when you're in the settings. That issue still hasn't been fixed yet. I don't wanna have to reinstall the app as I've noticed for some reason, reinstalling
Power of Automation:: Automate the process of updating project status based on a specific task status.
Hello Everyone, Today, I am pleased to showcase the capabilities of a custom function that is available in our Gallery. To explore the custom functions within the Gallery, please follow the steps below. Click Setup in the top right corner > Developer
ZOHO SHEETS
Where can I access desktop version of zoho sheets? It is important to do basic work If it is available, please guide me to the same
Attention API Users: Upcoming Support for Renaming System Fields
Hello all! We are excited to announce an upcoming enhancement in Zoho CRM: support for renaming system-defined fields! Current Behavior Currently, system-defined fields returned by the GET - Fields Metadata API have display_label and field_label properties
Billing Management: #3 Billing Unbilled Charges Periodically
We had a smooth sail into Prorated Billing, a practice that ensures fairness when customers join, upgrade, or downgrade a service at any point during the billing cycle. But what happens when a customer requests additional limits or features during the
No bank feeds from First National Bank South Africa since 12 September
I do not know how Zoho Books expects its customers to run a business like this. I have contacted Zoho books numerous times about this and the say it is solved - on email NO ONE ANSWERS THE SOUTH AFRICAN HELP LINE Come on Zoho Books, you cannot expect
Citation Problem
I had an previous ticket (#116148702) on this subject. The basic problem is this; the "Fetch Details" feature works fine on the first attempt but fails on every subsequent attempt, Back in July after having submitted information electronically and was
Open Sans Font in Zoho Books is not Open Sans.
Font choice in customising PDF Templates is very limited, we cannot upload custom fonts, and to make things worse, the font names are not accurate. I selected Open Sans, and thought the system was bugging, but no, Open Sans is not Open Sans. The real
Failing to generate Access and Refresh Token
Hello. I have two problems: First one when generating Access and Refresh Token I get this response: As per the guide here : https://www.zoho.com/books/api/v3/#oauth (using server based application) I'm following all the steps. I have managed to get
Zeptomail 136.143.188.150 blocked by SpamCop
Hi - it looks like this IP is being blocked, resulting in hard bounces unfortunately :( "Reason: uncategorized-bounceMessage: 5.7.1 Service unavailable; Client host [136.143.188.150] blocked using bl.spamcop.net; Blocked - see https://www.spamcop.net/bl.shtml?136.143.188.150
Apply transaction rules to multiple banks
Is there any way to make transaction rules for one bank apply to other banks? It seems cumbersome to have to re-enter the same date for every account.
How to bulk update records with Data Enrichment by Zia
Hi, I want to bulk update my records with Data Enrichment by Zia. How can I do this?
Need Guidance on SPF Flattening for Zoho Mail Configuration
Hi everyone, I'm hoping to get some advice on optimizing my SPF record for a Zoho Mail setup. I use Zoho Mail along with several other Zoho services, and as a result, my current SPF record has grown to include multiple include mechanisms. My Cloudflare
How do I split a large CSV file into smaller parts for import into Zoho?
Hi everyone, I’m trying to upload a CSV file into Zoho, but the file is very large (millions of rows), and Zoho keeps giving me errors or takes forever to process. I think the file size is too big for a single import. Manually breaking the CSV into smaller
Client Script Payload Size Bug
var createParams = { "data": [{ "Name": "PS for PR 4050082000024714556", "Price_Request": { "id": "4050082000024714556" }, "Account": { "id": "4050082000021345001" }, "Deal": { "id": "4050082000023972001" }, "Owner": { "id": "4050082000007223004" }, "Approval_Status":
Sync Issue Between Zoho Notebook Web App on Firefox (PC) and Android App
Hi Zoho Notebook Community, I'm facing a sync problem with Zoho Notebook. When I use the web version on Mozilla Firefox browser on my PC, I create and save new notes, and I've synced them successfully. However, these new notes aren't showing up in my
Messages not displayed from personal LinkedIn profile
Hello. I connected both our company profile and my personal profile to Zoho social. I do see all messages from our company page but none from my private page. not even the profile is being added on top to to switch between company or private profile,
lead convert between modules
Hello, The workflow we set up to automatically transfer leads registered via Zapier into the Patients module to the Leads module started to malfunction unexpectedly on September 25, 2025, at 11:00 AM. Under normal circumstances, all fields filled in the
Flow Task Limits - How to Monitor, Understand Consumption?
So, I got an email last night saying that I've exhausted 70% of my tasks for this month, and encouraging me to buy more tasks. I started to dig into this, and I cannot for the life of me figure out where to find any useful information for understanding,
Cross References Do Not Update Correctly
I am using cross references to reference Figures and current am just using the label and number, i.e. Figure #. As seen here: When I need to update the field, I use the update field button. But it will change the cross reference to no longer only including
Manage control over Microsoft Office 365 integrations with profile-based sync permissions
Greetings all, Previously, all users in Zoho CRM had access to enable Microsoft integrations (Calendar, Contacts, and Tasks) in their accounts, regardless of their profile type. Users with administrator profiles can now manage profile-based permissions
How to Track and Manage Schedule Changes in Zoho Projects
Keeping projects on track requires meticulous planning. However, unforeseen circumstances can cause changes to schedules, leading to delays. It becomes important to capture the reason for such changes to avoid them in the future. Zoho Projects acknowledges
Is there a notification API when a new note is addeding
Trying to push to Cliq, or email notification when there's a new note added in module. How to implement this?
Zoho Sheet - Desktop App or Offline
Since Zoho Docs is now available as a desktop app and offline, when is a realistic ETA for Sheet to have the same functionality?I am surprised this was not laucned at the same time as Docs.
Collaborate Feature doesn't work
Hello Team. It seems that the collaborate section is broken? I can post something but it all appears in "Discussions". In there is no way how I would mark something as Draft, Approval, post or any of the other filter categories? Also if I draft a post
Edit Permission during and after approval?
When a record is sent for approval Can a user request for edit permission from the approver? We don't want to give edit permissions for all the records under approval Only on a case-by-case basis How can we achieve this?
Zoho web and mobile application not workingn
Both zoho forms web and mobile application aren't working. I have checked my network connections and they are fine.
Introducing the revamped What's New page
Hello everyone! We're happy to announce that Zoho Campaigns' What's New page has undergone a complete revamp. We've bid the old page adieu after a long time and have introduced a new, sleeker-looking page. Without further ado, let's dive into the main
Prevent stripping of custom CSS when creating an email template?
Anyone have a workaround for this? Zoho really needs to hire new designers - templates are terrible. A custom template has been created, but every time we try to use it, it strips out all the CSS from the head. IE, we'll define the styles right in the <head> (simple example below) and everything gets stripped (initially, it saves fine, but when you browse away and come back to the template, all the custom css is removed). <style type="text/css"> .footerContent a{display:block !important;} </style>
Bulk Moving Images into Folders in the Library
I can't seem to select multiple images to move into a folder in order to clean up my image library and organize it. Instead, I have to move each individual image into the folder and sometimes it takes MULTIPLE tries to get it to go in there. Am I missing
Latest updates in Zoho Meeting | Breakout rooms and End to end encryption
Hello everyone, We’re excited to share a few updates for Zoho Meeting. Here's what we've been working on lately: Introducing Breakout Rooms for enhanced collaboration in your online meetings and End-to-end encryption to ensure that the data is encrypted
Next Page