Extension pointers #13: Handle cases with personalized solutions using custom actions

Extension pointers #13: Handle cases with personalized solutions using custom actions

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. 
  1. Create a custom user interface (widget-connected app) that allows the user to enter their personalized solution inputs. 
  2. In the Zoho Developer console, create a custom action. 
  3. Associate the custom UI to the custom action. 
  4. Define an action that performs the function of updating a case's Solution field. 
  5. 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


    Zoho Desk Resources

    • Desk Community Learning Series


    • Digest


    • Functions


    • Meetups


    • Kbase


    • Resources


    • Glossary


    • Desk Marketplace


    • MVP Corner


    • Word of the Day


      Zoho CRM Plus Resources

        Zoho Books Resources


          Zoho Subscriptions Resources

            Zoho Projects Resources


              Zoho Sprints Resources


                Zoho Orchestly Resources


                  Zoho Creator Resources


                    Zoho WorkDrive Resources



                      Zoho Campaigns Resources

                        Zoho CRM Resources

                        • CRM Community Learning Series

                          CRM Community Learning Series


                        • Tips

                          Tips

                        • Functions

                          Functions

                        • Meetups

                          Meetups

                        • Kbase

                          Kbase

                        • Resources

                          Resources

                        • Digest

                          Digest

                        • CRM Marketplace

                          CRM Marketplace

                        • MVP Corner

                          MVP Corner




                          Zoho Writer Writer

                          Get Started. Write Away!

                          Writer is a powerful online word processor, designed for collaborative work.

                            Zoho CRM コンテンツ






                              ご検討中の方

                                • Recent Topics

                                • Zoho Marketing Plus : Un outil tout-en-un pour la création de pages, la collaboration et la gestion du calendrier marketing

                                  Nous sommes ravis de vous présenter trois nouvelles fonctionnalités puissantes de Zoho Marketing Plus s’enrichit désormais d’un page web (l'éditeur de pages), qui vous permet de créer des pages attrayantes et à fort taux de conversion pour vos campagnes
                                • Grouping payments to match deposits

                                  Is there a way to group multiple invoice payments together so they match credit card batches and grouped deposits in the bank account? Basically, we are creating invoices for each of our transactions, and applying a payment to each of the invoices. Our payments are either credit cards or checks. We want to be able to group payments together so when our bank account reflects a credit card batch made up of many transactions, or the deposit we took to the bank that has multiple checks from different
                                • Employees can not add some expenses suddenly

                                  Zoho expense was working fine and whenever there was a new merchant, it would automatically add and also the same auto added in Zoho Books (due to merchant-vendor sync) untill now. From today, it is having problems in searching the existing vendors and
                                • Zoho email setup in office365

                                  When i am trying to setup zoho mail setup using my domain in office365 and it is not working and it says that we couldn't log on to the incoming (IMAP) server and please check your email address and password and try again. I was able to login using my
                                • iOS 10: Caller ID new feature?

                                  Hi, in the update history of the iOS App (for iOS10) - v.3.2 - i found the point "caller identification" has this feature been deactivated again? i cannot find anything on my iphone on how to activate this feature. or does it just work from the beginning?
                                • Recommendations to store meeting notes for easy access from Contacts, Accounts & Deals module records?

                                  I would like your advice on how to achieve this use case for my organization. It’s related to where/how best to store meeting notes from a conversation with Contact(s) working at an Account (Company) in the context of a Deal. The ideal solution (from
                                • Bank reconciliation. Match Transaction -filter

                                  When matching an imported bank statement file we only get a match if it is an excact match on both amount and date. Then a suggestions comes up with a very broad selection regarding amount, and no default "between" dates. I can then go an manually adjust the filter, and have to put in from-to amounts and dates. How do I set a default from-to date?  As an example, I would like the date to be +- 3 days, Thanks.
                                • Added new staff but does not appear in other organization list

                                  Hi, I added the new staff under Sales Manager in the contacts, but it does not appear in the other organization list where I need to create a contact, and I can't select the newly added Sales Manager
                                • Integrating Calendly with Zoho Calendar in Zoho Mail

                                  I moved my office into a business incubator space that uses Calendly for meeting management and events. Calendly doesn't have a integration with Zoho Calendar and vice versa. I was directed to Zapier for integration but it doesn't have an integration
                                • Map fields from module X to a lookup field in subform in module Y

                                  Hi there In the 1st screenshot attached, you can see a subform in myLeads module. You can see that there is a number already filled there - that is the 'Property ID' and it is a single line field. It is the 'Property ID' of an entry I have in another
                                • 🎄 Jingle, Mingle, and Automate: Spread Christmas Cheer with Zoho Desk Auto-Replies! 🎄

                                  Hello Everyone! Welcome to this week's episode of the Community Learning Series. Christmas is in the air, and I’m sure we can all feel the jingle and the mingle of the season! The folks at Zylker Techfix are no exception—they’re busy with holiday plans
                                • how to create a new line in string in Client Script?

                                  I want to show an alert using client script, I need to add a new line in String, I assume I can use \n\n inside a string, but unfortunately it doesnt work ZDK.Client.showAlert("First Line \n\nI expect this is in second line");
                                • Surely it's time Inline editing from views

                                  I think the first request I found for in-line editing from grids was approximately 12 years ago - that post was locked because it was suggested Zoho sheetview solved the problem. However, it's now 2024, and in-line editing from grids is just a basic expectation.
                                • Multi branding issue with sender addresses

                                  Hello, I'm currently working on a project involving two (seperate) brands. Named 'Windeck' and 'Prolance'. They've chosen CRM Plus and I'm currently working on CRM, SalesIQ, Social and Marketing Automation. So far, I'm able to make enough separations
                                • How to Replace an Assessment in a Job Opening on Zoho Recruit

                                  Hi everyone, I’m currently using Zoho Recruit and would like to replace the assessment linked to a specific job opening. I want to remove the existing assessment and add a new one. What is the best way to do this without losing any important data or affecting
                                • Is there API Doc for Zoho Survey?

                                  Hi everyone, Is there API doc for Zoho Survey? Currently evaluating a solution - use case to automate survey administration especially for internal use. But after a brief search, I couldn't find API doc for this. So I thought I should ask here. Than
                                • Email Campaigns overview page is missing SENT DATE and # people sent to!

                                  I would like to see the date the email campaign was sent, so I can understand and track when each email campaign was sent. Right now, unless you go to a contact who received a campaign, you cannot see when the campaign was sent (!!!!!!). So, if my boss
                                • SEO recommendation of H1 tag for website tittle

                                  The exact words are “ It is good practice to place the page title inside the H1tag.” Now I already have one H1 tag on my website but it is not website tittle. In the SEO recommendation that is clear too that I have h1 tag on my page. Now I don’t know
                                • How to choose other payment methodes than creditcards

                                  We have connected stripe as a payment provider in zoho books, booking, commerce and checkout. In stripe we selected al major payment methodes for Belgium (mainly bancontact). However, at checkout customers seems to have only the possibility to pay with
                                • Introducing Zia LLM: Zoho’s in-house Generative AI solution for CRM's AI capabilities

                                  Hello everyone, We're excited to announce the launch of our in-house Large Language Model (LLM) by Zia to power our AI offerings. What is LLM? LLM stands for Large Language Model, a powerful AI technology that processes and generates human-like text based
                                • How to call a Creator function which is in a different Creator application?

                                  How to call a Creator function which is in a different Creator application?
                                • Can the code in my "Successful form submission" WF be invoked from a function?

                                  Can "Successful form submission" be invoked from a function? Data gets into a form manually and programatically. My code in "successful form submission" is good and I want to reuse it/call it, from another function which does Insert Into How to achieve
                                • Kaizen #169 - Serialization and Schema Management in Queries

                                  Hello everyone! Welcome back to another post in the Kaizen series! In Kaizen #166, we discussed handling Variables in Queries and associating the query in Kiosk. This week, we will discuss Serialization and Schema management in Queries. Business Scenario
                                • Introducing Keyboard Shortcuts for Zoho CRM

                                  Dear Customers, We're happy to introduce keyboard shortcuts for Zoho CRM features! Until now, you might have been navigating to modules manually using the mouse, and at times, it could be tedious, especially when you had to search for specific modules
                                • Feature Request: Notebooks within notebooks (Tree-like structure)

                                  Dear Zoho! I already migrated all my stuff from Google Keep, Im really fond of Zoho Notebook so far. One thing that could make the service much more powerful is multi-level notebooks (or tree like structure). For example, entering into Notebook named
                                • Can't get authorization for Sandbox environment using the self client

                                  Hello, After creating a self client, and following the client-credentials method (as it's not optimat to manually generate a code for every 10 minutes), after inputting the sandbox org id for SOID parameter, im getting the error: "error": "no_org". For
                                • Create landing pages from Zoho Marketing Plus

                                  Hey everyone, Over the last few months, we've introduced various features and enhancements to bolster the marketing capabilities of Zoho Marketing Plus and make it simpler for everyone. To that end, we're excited to announce that Zoho LandingPage is now
                                • Custom service report or Zoho forms integration

                                  Hello, So far the experience with Zoho FSM and the integration with Books has been good, however there are limitations with service reports. As with my business, many organisations send technicians to different types of jobs that call for a different
                                • Email tracking subdomain

                                  The Email Tracking configuration screen of the ZeptoMail asks for a subdomain. I have gone through the documentation but could not find more information about how that subdomain is used by ZeptoMail to track the emails. Can someone throw some light about
                                • Chart View group X-axis values above a value

                                  I have a data set with X values ranging from 0 up to 300-400, the Y values are an AVG of the values for the given X. I am interested in the values at the low end of the scale, say 0-10 and want the X values 10 and greater to be grouped into a single category
                                • How do I get the Text Account name instead of the Reference number?

                                  Good Morning everyone! I am very new to zoho analytics. I'm trying to create some pivot tables and when I add the Account or Division name it comes up as a reference number. From my research, I need to use a lookup. I'm having a really hard time understanding
                                • Custom API - Need to create a string return value, not only MAP

                                  @Support: When creating a Custom API it only allows a return from a function of MAP type. The service I'm using requires a string return, how can this be achieved?
                                • missing video-urgent

                                  hi..I have a problem regarding zoho meeting. I already record almost 2hrs for my interview session. After end my session, i'm stop the recording. Its happened when i didn't received any meeting recording at my email.But i received recording 7minutes after
                                • Duplicate New Ticket Emails

                                  I am getting two Ticket emails when a ticket is created. The first one goes to me as the Admin helpdesk@ And because I am an Agent as well it also send to helpdesk@, support1@ and support2@ Is there any way to stop this?
                                • Ticket Response Email Template

                                  Is there a way to have an email template automatically selected when I click on Reply for a ticket?
                                • Unpublishing Job Post for LinkedIn

                                  Hi, We have experienced issue with the above. We did unpublish a job in Recruit but it still appear under Job section in our LinkedIn page. It did not remove from LinkedIn as it should be.  Please check and advise. Regards, Snyder 
                                • Power of Automation :: Automatically start / pause / stop timer on task status update.

                                  Hello Everyone, A Custom function is a user-written set of code to achieve a specific requirement. Set the required conditions needed as when to trigger using the Workflow rules (be it Tasks / Project) and associate the custom function to it. Requirement:-
                                • Editor limitations to define screen types

                                  Guys I have noticed that even in version 2.0 of the editor (which is this new one we use) we still have a lot to improve... When I compare to some more global solutions like Wix, Zyro, Go Daddy, Squarespace and Weebly feel that we have some limitations
                                • Dúvidas do Zoho Creator

                                  Pessoal, Estou colocando um tópico para dúvidas do Zoho Creator. Um abraço, Leandro
                                • Tropicalize Books

                                  Books is an incredibly powerful tool that works well in many countries. But I feel that it is a product that is not yet "tropicalized" for Brazil as we speak (this would be like adapting the local reality). We have many strong competitors who do more
                                • Next Page