Automation#21: Track Ticket Transfers Across Departments

Automation#21: Track Ticket Transfers Across Departments


Hello Everyone!
With Halloween just around the corner, we'd like to let you know the Zoho Desk team is always there to sweep away your customer service troubles!
This week, we’re excited to introduce a custom function that tracks tickets moved between departments.
While Zoho Desk has simplified customer service, keeping your support team stress-free and your customers happy often requires thoughtful adjustments. Zylker Techfix found a great solution with this feature. They handle services for different gadget types under specific departments, but sometimes tickets accidentally end up in the wrong department. Agents moved them to the correct one, but needed a way to track these transfers. By using the Time Entry feature and a custom function, they generated reports of all moved tickets effortlessly.

Here’s the custom function that utilizes the Time Entry feature to track tickets transferred between departments.
Prerequisites
1. Create Custom Fields
To track tickets moved from one Department (call it Dep A) to the other Department (call it Dep B) or vice versa, 
1.1 Go to Setup (S) >> Customization >> Layouts and Fields. Select Time Entry under Layouts and the Department (let's say Dep B) to which you would like to move the ticket. 
1.2 Create three custom single line fields in the Time Entry layout of the respective department (Dep B) . Click on the layout, 
1.2.1 Add a single line field with a label From department.
1.2.2 Add another single line field with a label To Department.
1.2.3  Add the third single line field with the label Agent Name.
1.3 Note the API names for the the single line fields to insert into the custom function. 
To find the API name, Click on the Gear wheel icon of the single line field. Click on Edit Properties, you will find the API Name under the Edit Field. Refer to Create Custom Fields
NotesIf you would like move the ticket from Dep B to Dep A, create the similar fields in the time entry layout for Dep A.
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 ticket_time_entry_add.
      2.5 Under Scope, choose the below scope values:
             Desk.tickets.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(S), choose Workflows under Automation
2. In Workflow Rules, select the Department (Dep B) to which you want to move the tickets. 
3. Under Workflows, click Rules >> Create Rule.
In the Basic Information section,
4. Select Tickets from the drop-down menu under Module.
5. Enter a Rule Name and Description for the rule.
6. If you want to activate the rule right away, select the Active checkbox. Else, create the rule and activate it later.
7. Click Next.
In the Execute on section, follow these steps:
8. Select Create.  
9. Click Next.
10. Leave the Criteria section blank and click Next. 
11. In the Actions section, click the + icon and select New next to Custom Functions.
12. Under Basic Information, enter a Name and Description for the custom function.         
13. Under Argument Mapping, give a desired Method Name. Map the argument mapping as below: 
       13.1 In the Argument Name field, type ticketId and from the Value drop-down list, select Ticket Id under the Tickets Section.                                         
14. In the script window, insert the Custom Function given below:
  1. //----------- User Input -------------
  2. fromDepartmentFieldAPIName = "cf_from_department";
  3. toDepartmentFieldAPIName = "cf_to_department";
  4. agentAPIName = "cf_agent_name";
  5. //----------- Configuration ------------------
  6. logs = Collection();
  7. timeEntryParam = Map();
  8. cf = Map();
  9. historyParam = Map();
  10. historyParam.put("from",0);
  11. historyParam.put("limit",1);
  12. historyParam.put("fieldName","departmentId");
  13. ticketHistory = invokeurl
  14. [
  15. url :deskURL + "/api/v1/tickets/" + ticketId + "/History"
  16. type :GET
  17. parameters:historyParam
  18. connection:"ticket_time_entry_add"
  19. ];
  20. logs.insert("ticketHistory":ticketHistory);
  21. if(ticketHistory != null && ticketHistory.get("data") != null)
  22. {
  23. historyDetails = ticketHistory.get("data").get("0");
  24. logs.insert("historyDetails":historyDetails);
  25. if(historyDetails.get("eventName") == "TicketUpdated" && historyDetails.get("eventInfo").get(0).get("propertyName") == "Department")
  26. {
  27.   departmentDetailsChanges = historyDetails.get("eventInfo").get("0").get("propertyValue");
  28.   previousDepartment = departmentDetailsChanges.get("previousValue").get("name");
  29.   currentDepartment = departmentDetailsChanges.get("updatedValue").get("name");
  30.   agent = historyDetails.get("actor").get("name");
  31.   departmentChangedTime = historyDetails.get("eventTime");
  32.   cf.put(fromDepartmentFieldAPIName,previousDepartment);
  33.   cf.put(toDepartmentFieldAPIName,currentDepartment);
  34.   cf.put(agentAPIName,agent);
  35.   timeEntryParam.put("executedTime",departmentChangedTime);
  36.   timeEntryParam.put("cf",cf);
  37.   logs.insert("timeEntryParam":timeEntryParam);
  38.   createTimeEntry = invokeurl
  39.   [
  40.   url :deskURL + "/api/v1/tickets/" + ticketId + "/timeEntry"
  41.   type :POST
  42.   parameters:timeEntryParam.toString()
  43.   connection:"ticket_time_entry_add"
  44.   ];
  45.   logs.insert("createTimeEntry":createTimeEntry);
  46. }
  47. }
  48. info logs;
NOTE
a. In Line 2, Replace ".com" with the domain extension based on your Data Center.
b. In Line 3, add the API name of the From Department created in the Time Entry Layout.
c. In Line 4, add the API name of the To Department created in the Time Entry Layout.
d. In Line 5, add the API name of the Agent Name created in the Time Entry Layout.
15. Click Save to save the custom function.
16. Click Save again to save the workflow.
If you would like to move the ticket from Dep B to Dep A, create  the workflow rule in Dep A as well. 
Creating Ticket Tracking Reports
To track the ticket moved from one department, you can generate Reports under Analytics. 
Go to the Analytics module >> Choose Reports >> Add Report >> Select Tickets module and Time Entry under Related modules. Refer to Create Custom Report.
This custom function will help you keep an eye on your ticket movements, ensuring that none of your important tickets go missing!
Wishing you a delightful Halloween filled with joy and treats, along with a wonderful fall season! 🎃🍂
Until next week,
Warm regards,
Lydia Kiruba | 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
      • Recent Topics

      • Holidays - Cannot Enter Two Holidays on Same Day

        I have a fairly common setup, where part-time employees receive 1/2 day's pay on a holiday and full-time employees receive a full day's pay. Historically, I've been able to accommodate this by entering two separate holidays, one that covers full-time
      • Zoho DataPrep and File Pattern configuration

        I'm using Zoho data prep to ingest data from One Drive into Zoho Analytics... The pipeline is super simple but I can't any way to get all the files that I need. Basically I need to bring all the files with a certain pattern and for that I'm using a regex
      • Adding a new section to the related details sidebar when creating a new ticket.

        Hello, I was wondering if you can add a new section to the related details sidebar when creating a new ticket. I was wanting to have it to where it also shows the account information related to the contact chosen as well. This is the section I am referring
      • JWT Token authentication problem that sometimes generates infinite redirect loops

        Description : Nous proposons un bouton sur notre plateforme permettant de rediriger l'utilisateur vers le portail ZohoDesk via un jeton JWT pour une authentification transparente. Cependant, il arrive que certains utilisateurs soient pris dans une boucle
      • Zoho desk desktop application

        does zoho desk has a destop applicaion?
      • No funcionan correctamente el calculo de las horas laborales para informe de tickets

        Hola, estoy intentando sacar estadísticas de tiempo de primera respuesta y resolución en horario laboral de mis tickets, pero el calculo de horas en horario laboral no funciona correctamente cree los horarios con los feriados : Ajusté los acuerdos de
      • How do I bulk archive my projects in ZOHO projects

        Hi, I want to archive 50 Projects in one go. Can you please help me out , How can I do this? Thanks kapil
      • ZOHO Work Drive Back Up

        I am looking for a ZOHO Work Drive backup solution. Something that is cloud based. There's lots of these kinds of options for Google Drive and other providers, but I have not seen anything for WorkDrive. Any suggestions?
      • ZOHO Reports - Filter Logic?

        Hi, I need a way to apply filter logics such as ((1 AND 2) OR 3). All I can see as of now is a way to enter different AND filters in the respective filter column. But how can I add an OR filter? Any advice would be highly appreciated. Mark
      • Scanned Doc - selecting Item overwrites Rate

        I have a Vendor Invoice which was uploaded to Documents. I select Add To > New Bill. The OCR is actually quite good, but it is reading an Item Description instead of an Item Number. I remove the description and select the correct Item Number... and it
      • Recruit API search

        Hi all, Attempting to call the search api endpoint from Postman using the word element as mentioned in api docs Search Records - APIs | Online Help - Zoho Recruit When making the call to /v2/Candidates/search?word=Saudi receive response of { "code": "MANDATORY_NOT_FOUND",
      • 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
      • Saving reading position + Keep screen on

        While Zoho Notebook is excellent for saving and annotating articles, its utility is severely limited by the lack of reading progress synchronization. On the Android app, if a user exits a long note after reading 50%, the app fails to save the position.
      • Zoho LandingPage is integrated with Zoho One!

        Greetings to the Zoho One users out there! We're delighted to let you know that Zoho LandingPage is available in Zoho One too! With Zoho LandingPage, you can host custom-made landing pages, and persuade the visitors to dive deeper by making further clicks,
      • Android app sync problem - multiple devices have same problem

        Hello, I am having a problem with synchronization in the Android app. When I create a drawing, the data does not sync correctly—only a blank note is created without the drawing. I tested this on multiple devices, including phones and tablets, and the
      • How can i resend a campaign to only one of the recipients on the original campaign

        How can i resend a campaign to only one of the recipients on the original campaign ? Sincererly, Mike
      • Notes badge as a quick action in the list view

        Hello all, We are introducing the Notes badge in the list view of all modules as a quick action you can perform for each record, in addition to the existing Activity badge. With this enhancement, users will have quick visibility into the notes associated
      • How to show branch instead of org name on invoice template?

        Not sure why invoices are showing the org name not the branch name? I can insert the branch name using the ${ORGANIZATION.BRANCHNAME} placeholder, but then it isn't bold text anymore. Any other ideas?
      • Create CRM Deal from Books Quote and Auto Update Deal Stage

        I want to set up an automation where, whenever a Quote is created in Zoho Books, a Deal is automatically created in Zoho CRM with the Quote amount, customer details, and some custom fields from Zoho Books. Additionally, when the Sales Order is converted
      • Marketing Automation Requirements Questions

        I would like to set up a multi-email drip campaign- please see the structure below and confirm if I can achieve this set up in Zoho marketing automation. Where applicable, highlight gaps and workarounds. Thanks Drip email campaign- Can I create one drip
      • Sharing URLs and direct access

        Hello, I am storing my team's email signature images on Workdrive. I am creating a public image download share and adding “?directDownload=true” so that the image can be accessed without the Workdrive interface. A few questions: 1) Can we generate friendly
      • how to change the page signers see after signing a document in zoho sign

        Hello, How can I please change the page a signer sees after signing a document in Zoho Sign? I cannot seem to find it. As it is now, it shows a default landing page "return to Zoho Sign Home". Thanks!
      • Question about using custom_fields in Storefront Add-to-Cart API (error 2003 – required details)

        Hi everyone, I’m working with the Zoho Commerce Storefront API, specifically the Add to Cart endpoint: POST /storefront/api/v1/cart According to the documentation, this endpoint supports a custom_fields parameter for adding line-item custom data. I’m
      • Can a project be cloned?

        Good afternoon, greetings. I would like to ask if it's possible to clone a project in Microsoft Project. I found a way to do it using templates, but I'm not sure if there's a direct way to clone a project. Thank you in advance for your attention, and
      • Timesheet Tasks in Zoho Books: associate to service item

        How do we associate a service item to timesheet tasks in Zoho Books? For example: Joe spent 5 hours on project:task1 which is Service Item#1 (Income:Service1). When the invoice is issued thru the Project Invoice section, this is not available. When the
      • Why Sharing Rules do Not support relative date comparison???

        I am creating a Sharing Rule and simply want to share where "Last Day of Coverage" (Date field) is Greater than TODAY (Starting Tomorrow). However, sharing rules don't have the option to compare a date field to a relative date (like today), only to Static
      • Task/Activity indicator in SalesPipeline overview has disappeared

        I Just logged in my ZOHO CRM first 2026 checking my salespipeline overview , Every record card used to show an indication that there was an open task (Yellow if the expiry date was close, red if the expiry date was today and grey when it had expired).
      • Tip #56- Accessibility Controls in Zoho Assist: Hearing- 'Insider Insights'

        As we begin the new year, it’s a great time to focus on making our tools more inclusive and accessible for everyone. Remote support often involves long hours in front of screens, varying lighting conditions, and users with diverse accessibility needs.
      • Zoho Desk Android app update: Table view for All Departments view, custom button

        Hello everyone! In the latest version(v2.9.25) of the Zoho Desk Android app update, we have introduced Table view for the 'All Departments' view in the ticket module. We also have supported an option that allows tickets in the Table view to be sorted
      • What's New - December 2025 | Zoho Backstage

        In December, Backstage introduced a focused set of updates that improve how you manage registrations, communicate with attendees, and track participation. These enhancements are designed to give organizers greater flexibility and clearer control across
      • Need code format to specify default values

        Can someone please direct me to the code syntax or the proper translation per the instructions circled below. These instructions don't seem correct.
      • Add multiple users to a task

        When I´m assigning a task it is almost always related to more than one person. Practical situation: When a client request some improvement the related department opens the task with the situation and people related to it as the client itself, the salesman
      • A Roundup of Zoho Sprints 2025

      • Issue with WhatsApp Template Approval and Marketing Message Limit in Zoho Bigin

        We are facing issues while creating and using WhatsApp message templates through Zoho Bigin, and we request your clarification and support regarding the same. 1. Utility Template Approval Issue Until December, we were able to create WhatsApp templates
      • Sorting Custom Date in API isn't working w pagination limit

        How can we sort a custom field with DATE using pagination? Starting at page=1 then moving to page=2 with a limit of 10 each, its all messed up and even shows some of the same records as page 1? https://www.zohoapis.com/crm/v2/INVOICE_MODULE/search?criteria=(FM_Contact_ID:equals:1234)&sort_by=Invoice_Date&sort_order=desc&per_page=10&page='
      • SAP Business One(B1) integration is now live in Zoho Flow

        We’re excited to share that SAP Business One (B1) is now available in Zoho Flow! This means you can now build workflows that connect SAP B1 with other apps and automate routine processes without relying on custom code. Note: SAP Business One integration
      • Enhancement in Role and Profile mapping of agents in Sandbox

        Hello everyone! We have brought in a modification in the way users are mapped to a particular role and profile in Sandbox. What has changed? When agents are copied from production to Sandbox: If a user's current role and profile is available in Sandbox,
      • The reason I switched away from Zoho Notebook

        My main reason for switching to Zoho was driven by three core principles: moving away from US-based products, keeping my data within India as much as possible, and supporting Indian companies. With that intent, I’ve been actively de-Googling my digital
      • Decimal places settings for exchange rates

        Hello, We are facing issues while matching vendor payments with banking feeds. As we often import products/services exchange rate comes into play. Currently, ZOHO allows only six digits for decimal places. We feel that conversions like JPY to INR require
      • Zoho removed ability to see all Scheduled Reports!

        If you are not the owner of a scheduled report, Zoho recently removed the capability to see each scheduled report. As an admin who relies on seeing all scheduled reports being sent, this is a terrible update. Now I cannot see ANY scheduled reports...even the ones I am being sent!!  This should be a setting for admins to control.  This is a bad update.
      • Next Page