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 

    • 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

    Nederlandse Hulpbronnen


      • Recent Topics

      • Celebrating Raksha Bandhan with Zoho Desk: A Bond of Trust, Protection, and Service

        Raksha Bandhan, celebrated across India, symbolizes the sacred bond of protection and affection between siblings. “Raksha” means protection, “Bandhan” means bond or knot: together, it represents a knot of care and security. On this occasion, we'd like
      • Banking > Import statements with a csv file

        Good morning, I am regularly using the "import statement" option to match my transactions. I've been using csv files produced by my bank online and was able to import my transactions. Until now. Thank you for your help for fixing this ! Alex.
      • ZOHO BOOKS - RECEIVING MORE ITEMS THAN ORDERED

        Hello, When trying to enter a vendor's bill that contains items with bigger quantity than ordered in the PO (it happens quite often) - The system would not let us save the bill and show this error: "Quantity recorded cannot be more than quantity ordered." 
      • Has anyone successfully added Microsoft Graph API Oauth2 as a connection?

        I'm having trouble getting Microsoft Graph API created as a connection in zoho crm. Has anyone successfully added Microsoft Graph API Oauth2 as a connection? My issue is not necessarily on the Zoho side, but understanding how to set up the Microsoft side
      • Syncing Timesheets between Projects and Desk

        All users able to see their own timelog entries from all apps in one place, synced immediately. All managers able to view total/all time entries from one place. This is something that has come up for us and multiple clients. Example: we have a client
      • Spell Check default language

        Hello All, Is it possible to set the Spell Check default language? I can't find it in the settings. Thanks a lot! Levente
      • Zoho Backstage 3.0 - Boostez vos événements avec des outils malins

        Zoho Backstage vous accompagne dans l’organisation d’événements réussis, avec des outils qui simplifient la planification, optimisent l’exécution et renforcent la connexion avec votre public. La version 2.0 a apporté une nouvelle interface, plus de flexibilité
      • Portal user activity reporting

        Aside from the metrics section in the admin dashboard, is there a way to view/create reports for portal user activity? Im looking for a more granular option to see exactly what users are utilizing the portal. Thanks!
      • Automation #11 - Auto Update Custom Fields with Values from Emails

        This is a monthly series designed to help you get the best out of Desk. We take our cue from what's being discussed or asked about the most in our community. Then we find the right use cases that specifically highlight solutions, ideas and tips to optimize
      • Admins to set Agents Picture

        Admins should not have to rely on agents to set a nice profile picture for them. Admins get the headshot pictures from HR and should be able to upload and set their picture, not rely on them to: 1) upload a picture at all 2) upload a good picture 3) upload
      • Time Tracking Reporting and Billing

        I wish for the time tracking module to be enhanced further. Currently it is independent of Support Plans and Contracts. Support Plans and Contracts are also mostly separate. We need a better dashboard of this with the ability to natively mark billed or
      • Enhanced Email Signature Folding

        We have departmental signatures setup which are great, however, when viewing ticket details, it gets very overwhelming when scrolling though threads and conversations where you scroll past ten different signatures of your own team, then ten signatures
      • How to add formatting in zoho.cliq.postToUser(...) message?

        In a CRM Deluge function, I'm trying to use the message formatting guidelines given here: https://www.zoho.com/deluge/help/cliq/posting-to-zoho-cliq.html#message-formats My message is: message: #Title text. The result in Cliq is: #Title text. (no large
      • How to add line breaks in zoho.cliq.postToUser(...) message?

        In a CRM function using Deluge I'm sending this message and attempting to add some line breaks but they are ignored. Is there another way to add these breaks? My message: message: New urgent task\nDescription \nThis is a fake description.\n A new line?
      • Zia Agents/End of Day Reports

        As a manager or owner it would be nice if Zia analyzed today's (or this week's tickets) and gave an end of the day report to management team. - what important tickets were worked on or submitted today? - what agents were unproductive today and answered
      • Project Cost Tracking

        I see there are questions/concerns that Zoho doesn't track costs to a tasks in a project. We are a manufacturer and are in the early stages of tracking costs to project. I would like to expand out the COGS Chart of accounts in Books and record costs via
      • How to record if the payment made is return due to transaction failed.

        So there is Bill of $2000, and a payments made transaction to clear the bill. The amount is actually deducted from bank account. However, a few days later, I found the bank returned only $1750 cause there are $250 bank service charge for this failed transaction.
      • Help Center Customization UI

        The customization screens for the help center needs the UI improved. It looks straight out of 2004. The Zoho Desk normal UI is great. All it takes is uniform fonts and colors across all parts of the tool... I compare this to Zendesk Guide.
      • Este domínio já está associado a esta conta

        Fui fazer meu cadastro na zoho e quando digitei meu domínio recebi essa mensagem que meu domínio estava associado a uma conta que eu nem faço idéia de quem seja. Como que faço pra resolver isso? Atenciosamente, Anderson Souza.
      • I need some help in Expenses Per Diem Policy

        this is my script written for restricting the PerDiem Components. Say if Lodging and Per Day Allowance both is selected from Per Diem Page then the report should gets auto rejected. When Im trying to executing it says the following error {"code":11,"message":"The
      • Adding Photos to Dashboards on Zoho Analytics

        I am creating a dashboard to showcase data from survey results from focus groups. I am creating a focus group participant profile tab where it is filtered by the name of the participant and showcases information about them using KPI widgets. I am running
      • What is the difference between Retainer invoice and Advance Payments?

        Retainer invoice seem like they are just advance payments with extra details. Instead of creating a Sales Order with order details, a retainer is created. It feels like they are a workaround to link advance payments with sales orders. Is there any advantage
      • Exporting record notes in bulk

        Hi team, Is it possible to bulk export the notes attached to a record? i.e to a CSV file or otherwise. Our use case is exporting all notes for our lead/account/Deal records. We have another system we'd like to import these notes to but I can't seem to
      • Field customization

        Hi Team Good day! I am a commission agent who sell and purchase goods from vendors, while in purchasing invoices I am not able to deduct the expenses such as commission and other expenses on actual amount. Kindly help me to customize the invoice based
      • vendors / customers with 2 different address and gst no

        Why can't we have option for more than one address and depending on the state option for more than 1 GST no. ? We have customers / vendors PAN india with different addresses and GST no. for different states.
      • Error: Invalid Element gst_no, Invalid Element gst_treatment, Invalid Element place_of_contact

        so i am creating a new contact post request and i want add gst infomation when amount is above 50000 and if pass gst info in request body then i get this errors > Error: Invalid Element gst_no, Invalid Element gst_treatment, Invalid Element place_of_contact
      • Add multiple Billing Addresses under one GST number

        My client owns multiple businesses in various locations but they all come under one GST. Is there a way to add multiple billing addresses for the same GST? Managing this by adding multiple Shipping addresses is not an option. The client wants the GST
      • Zoho Mail API - Upload Attachment

        https://www.zoho.com/mail/help/api/post-upload-attachments.html I followed the steps from the API documentation and wrote a backend in JavaScript to send emails. Normal emails are sent without any problems. However, I can’t send emails with attachments.
      • Unable to create custom fields for shipment order

        I'm unable to create custom fields for shipment orders, even though the custom fields are set up correctly. A request to the following endpoint: https://www.zohoapis.com/inventory/v1/settings/preferences/customfields?organization_id=${ZOHO_ORGANIZATION_ID}&entity=shipment_order
      • Kaizen #202 - Answering Your Questions | Testing and Using REST APIs in Widgets

        Hello Developers! Welcome back to a fresh week of Kaizen! Thank you for your active participation in sharing feedback and queries for the 200th milestone. This week, we will look at the following queries related to widget: Widget Testing Using REST API
      • Introducing the 'Send as Email' option on the Zoho Desk iOS mobile app

        Hello everyone! In the latest version(v2.10.2) of the Zoho Desk iOS app, we have brought in support for the 'Send as Email' option while creating a ticket. This feature enables you to reach out to the customers by sending outbound emails. The emails are
      • Zoho Forms Not Loading on Website – DNS Resolution Error

        Dear Zoho Support Team, User ID : 20069458731 We are experiencing an issue with the Zoho Form embedded on our website (https://vitel.com.tr/satis-destek-formu/). The form is not loading, and the following error message appears in the browser: “forms.zohopublic.eu
      • Data backup retention question/

        My zohocrm subscription gives me 2 full data backups per month. I have a scheduled backup configured to run twice a month. I just went to download my backup and i can't find it, it ran about 9 days ago... From what i can tell with google zoho only keeps
      • Basic Apple Watch App

        Sometimes I leave my phone behind. I will get push notifications that tickets are updated etc.. It would be nice to at least view them and do a few basic functions. reassign. public reply. private comment.
      • Look and Feel Uniformity

        Someone needs to go through the mobile app and match the look and feel of the web version. For example, it is global standard to highlight private notes as yellow background hue. Desk does that on web, but not on mobile. Mobile also has an odd blue icon
      • Managing two books in Zoho Books

        is it possible to effectively manage two separate books within Zoho Books? My organization is considering handling accounting for two distinct subsidiaries, and we would like to understand the best way to achieve this within the Zoho Books.
      • Display All Custom Buttons Without Dropdown on Record Page

        In my org's workflow we usually want to do some kind of quick action off of an individual record - i.e. of an individual contact, or individual deal. What we have always found a hindrance is the location of all custom buttons being in the drop down on
      • Zoho Sales Team - Extremely Slow Response Times

        Hi everyone, Has anyone else experienced unusually slow response times from Zoho’s sales team? I sent an email last night, and it’s been nearly 24 hours with no reply. While I understand delays can happen, this seems longer than expected for a sales inquiry.
      • Yodlee Bank Feeds

        I'm well aware of the many bank feed issues out there that haven't been resolved, but I'm looking for information on Rules in relation to bank feeds. U.S based, Bank of America user and prior to Yodlee all of my banking feeds and Rules worked seamlessly.
      • Unable to create custom function

        Unable to create custom function - Please check the screenshot for the details HERE IS THE FUNCTION!! try { // 1. Fetch the details of the approved Bill using its ID billDetails = zoho.books.getRecordById("Bills", organization.get("organization_id"),
      • Next Page