Automation#24: Auto-Update custom field from Accounts to Tickets

Automation#24: Auto-Update custom field from Accounts to Tickets



Hello Everyone!
Welcome back to the Community Learning Series! 

This episode dives into how Zylker Techfix streamlines account-related ticket references. Previously, employees had to manually check account details to retrieve specific customer information, making the process time-consuming and inefficient.
To solve this, Zylker Techfix introduced a custom solution: a custom field that seamlessly syncs data between accounts and tickets. When a customer raises a ticket, the custom field in the ticket layout automatically fetches and updates values from the corresponding field in the account.
This integration has transformed their operations, enabling Zylker Techfix to map tickets to their respective accounts effortlessly. 
The result? Streamlined workflows and an improved customer service experience.
You can achieve better results in your ticketing operations, too! Here’s how to implement the custom function:

Prerequisites
1.1 Go to Setup (S) >> Customization >> Layouts and Fields. Select Tickets under Layouts and the required Department. Access the active layout and add a custom field of your choice.  
1.1.1 Hover the mouse pointer over the custom field created, click on the Gear wheel icon >> Edit Properties. Note the API Name under the Edit Field. Click Update. Then, click Save and Close
1.2  Go to Setup (S) >> Customization >> Layouts and Fields. Select Accounts under Layouts, and in the Department drop-down, select the default department. Access the active layout and add a custom field of the same type as you have added in Tickets layout (1.1) .  
1.2.1 Hover the mouse pointer over the custom field created, click on the Gear wheel icon >> Edit PropertiesNote the API Name under the Edit Field. Click Update. Then click Save and Close.     
2. Create a connection
      2.1 Go to Setup(S) and choose Connections under Developer Space.
      2.2 Click Create Connection.
      2.3 Select Zoho OAuth under Default Connection.
      2.4 Set the connection name as deskconnection.
      2.5 Under Scope, choose the below scope values:
             Desk.contacts.READ
             Desk.tickets.UPDATE
      2.6 Click Create and Connect.
      2.7 Click Connect and click Accept.
Connection is created successfully.

Create a Workflow Rule
1. Go to Setup, choose Workflows under Automation
2. Under Workflows, click Rules >> Create Rule.

In the Basic Information section,
3. Select Tickets from the drop-down menu under Module.
4. Enter a Rule Name and Description for the rule.
5. If you want to activate the rule right away, select the Active checkbox. Else, create the rule and activate it later.
6. Click Next.
 
In the Execute on section, follow these steps:
7. Select Create.  
8. Click Next.
 
9. Leave the Criteria section blank and click Next. (Add a criteria if you require it.) 

10. In the Actions section, click the + icon and select New next to Custom Functions.
11. Enter a Name and Description for the custom function.
12. Under Argument Mapping, give a desired Method Name. Map the arguments as below: 
12.1 In the Argument Name field, type ticketId and select TicketId under the Tickets Section, from the Value drop-down list.
12.2 In the Argument Name field, type accountId and select Account Id under the Accounts Section, from the Value drop-down list.                      
13. In the script window, insert the Custom Function given below:
  1. // ----<<<< User Inputs >>>>----
  2. // -- Replace ".com" with appropriate domain extension based on customer's location/DC --- 
  3. deskURL = "https://desk.zoho.com";
  4. //place the corresponding API name of the custom fields from the Accounts and Tickets layout
  5. accountTicketsFieldApiNameMapping = {"ACCOUNT_FIELD_API_NAME":"TICKET_FIELD_API_NAME"};
  6. // ----<<<< Initial Configs >>>>----
  7. logs = Map();
  8. logs.insert("ticketId":ticketId);
  9. updateTicketCFPayload = Map();
  10. //---------------------------
  11. try 
  12. {

  13. // ---- start your logic from here ----
  14. if(accountId != null && !accountId.isEmpty())
  15. {
  16. primaryAccountDetail = invokeurl
  17. [
  18. url :deskURL + "/api/v1/accounts/" + accountId
  19. type :GET
  20. connection:"deskconnection"
  21. ];
  22. logs.insert("primaryAccountDetail":primaryAccountDetail);
  23. if(primaryAccountDetail != null && primaryAccountDetail != "" && primaryAccountDetail.containsKey("cf") && primaryAccountDetail.get("cf") != null && !primaryAccountDetail.get("cf").isEmpty())
  24. {
  25. if(primaryAccountDetail.containsKey("cf") && primaryAccountDetail.get("cf") != null && !primaryAccountDetail.get("cf").isEmpty())
  26. {
  27. accountsCF = primaryAccountDetail.get("cf");
  28. for each  customField in accountTicketsFieldApiNameMapping.keys()
  29. {
  30. if(accountsCF.containsKey(customField))
  31. {
  32. updateTicketCFPayload.put(accountTicketsFieldApiNameMapping.get(customField),accountsCF.get(customField));
  33. }
  34. }
  35. logs.insert("updateTicketCFPayload":updateTicketCFPayload);
  36. if(updateTicketCFPayload != null && !updateTicketCFPayload.isEmpty())
  37. {
  38. updateTicketPayload = {"cf":updateTicketCFPayload};
  39. updateTicket = invokeurl
  40. [
  41. url :deskURL + "/api/v1/tickets/" + ticketId
  42. type :PATCH
  43. parameters:updateTicketPayload + ""
  44. connection:"deskconnection"
  45. ];
  46. logs.insert("updateTicket":updateTicket);
  47. }
  48. }
  49. }
  50. }
  51. }
  52. catch (errorInfo)
  53. {
  54. logs.insert("errorInfo":errorInfo);
  55. }

  56. info "logs: \n" + logs;

  57. if(logs.containKey("errorInfo"))
  58. {
  59.     throws "Error happen in the CF execution";
  60. }
NOTE
a. In Line 2, Replace ".com" with the domain extension based on your Data Center.
b. In Line 5, add the API name of the custom field created within the Account and Tickets layout in this pattern {"cf_account_field":"cf_ticket_field"}
14. Click Save to save the custom function.
15. Click Save again to save the workflow.

If you’d like to automate the updating of more custom fields between Accounts and Tickets, feel free to reach out to us at support@zohodesk.com
We’d love to hear how this solution works for you. Share your experience with us—your feedback inspires us to keep improving. Happy ticketing!

Until next week,
Warm regards,
Lydia | Zoho Desk 

    Access your files securely from anywhere











                            Zoho Developer Community





                                                  • Desk Community Learning Series


                                                  • Digest


                                                  • Functions


                                                  • Meetups


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner


                                                  • Word of the Day


                                                  • Ask the Experts



                                                            • Sticky Posts

                                                            • Register for Zoho Desk Beta Community

                                                              With the start of the year, we have decided to take a small step in making the life of our customers a little easier. We now have easy access to all our upcoming features and a faster way to request for beta access. We open betas for some of our features
                                                            • Share your Zoho Desk story with us!

                                                              Tell us how you use Zoho Desk for your business and inspire others with your story. Be it a simple workflow rule that helps you navigate complex processes or a macro that saves your team a lot of time; share it here and help the community learn and grow with shared knowledge. 
                                                            • Tip #1: Learn to pick the right channels

                                                              Mail, live chat, telephony, social media, web forms—there are so many support channels out there. Trying to pick the right channels to offer your customers can get pretty confusing. Emails are most useful when the customer wants to put things on record. However, escalated or complicated issues should not be resolved over email because it's slow and impersonal.  When you need immediate responses, live chat is more suitable. It's also quick and convenient, so it's the go-to channel for small issues. 
                                                            • Welcome to Zoho Desk Community - Say hello here!

                                                              Hello everyone! Though we have been here for a while, it’s time to formally establish the Zoho Desk Community; we’re really happy to have you all here! This can be the place where you take a moment to introduce yourself to the rest of the community. We’d love to hear all about you, what you do, what company or industry you work for, how you use Zoho Desk and anything else that you will like to share! Here’s a little about me. I am Chinmayee. I have been associated with Zoho since 2014. I joined here
                                                            • Webinar 1: Blueprint for Customer Service

                                                              With the launch of a host of new features in Zoho Desk, we thought it’ll be great to have a few webinars to help our customers make the most of them. We’re starting off with our most talked about feature, Blueprint in Zoho Desk. You can register for the Blueprint webinar here: The webinar will be delivered by our in-house product experts. This is a good opportunity to ask questions to our experts and understand how Blueprint can help you automate your service processes. We look forward to seeing


                                                            Manage your brands on social media



                                                                  Zoho TeamInbox Resources



                                                                      Zoho CRM Plus Resources

                                                                        Zoho Books Resources


                                                                          Zoho Subscriptions Resources

                                                                            Zoho Projects Resources


                                                                              Zoho Sprints Resources


                                                                                Qntrl Resources


                                                                                  Zoho Creator Resources



                                                                                      Zoho CRM Resources

                                                                                      • CRM Community Learning Series

                                                                                        CRM Community Learning Series


                                                                                      • Kaizen

                                                                                        Kaizen

                                                                                      • Functions

                                                                                        Functions

                                                                                      • Meetups

                                                                                        Meetups

                                                                                      • Kbase

                                                                                        Kbase

                                                                                      • Resources

                                                                                        Resources

                                                                                      • Digest

                                                                                        Digest

                                                                                      • CRM Marketplace

                                                                                        CRM Marketplace

                                                                                      • MVP Corner

                                                                                        MVP Corner







                                                                                          Design. Discuss. Deliver.

                                                                                          Create visually engaging stories with Zoho Show.

                                                                                          Get Started Now


                                                                                            Zoho Show Resources


                                                                                              Zoho Writer Writer

                                                                                              Get Started. Write Away!

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

                                                                                                Zoho CRM コンテンツ




                                                                                                  Nederlandse Hulpbronnen


                                                                                                      ご検討中の方