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, and you will find the API Name under the Edit Field. Refer to Create Custom Fields.
If 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 Desk under Default Services.
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:
//----------- User Input -------------
fromDepartmentFieldAPIName = "cf_from_department";
toDepartmentFieldAPIName = "cf_to_department";
agentAPIName = "cf_agent_name";
//----------- Configuration ------------------
logs = Collection();
timeEntryParam = Map();
cf = Map();
historyParam = Map();
historyParam.put("from",0);
historyParam.put("limit",1);
historyParam.put("fieldName","departmentId");
ticketHistory = invokeurl
[
url :deskURL + "/api/v1/tickets/" + ticketId + "/History"
type :GET
parameters:historyParam
connection:"ticket_time_entry_add"
];
logs.insert("ticketHistory":ticketHistory);
if(ticketHistory != null && ticketHistory.get("data") != null)
{
historyDetails = ticketHistory.get("data").get("0");
logs.insert("historyDetails":historyDetails);
if(historyDetails.get("eventName") == "TicketUpdated" && historyDetails.get("eventInfo").get(0).get("propertyName") == "Department")
{
departmentDetailsChanges = historyDetails.get("eventInfo").get("0").get("propertyValue");
previousDepartment = departmentDetailsChanges.get("previousValue").get("name");
currentDepartment = departmentDetailsChanges.get("updatedValue").get("name");
agent = historyDetails.get("actor").get("name");
departmentChangedTime = historyDetails.get("eventTime");
cf.put(fromDepartmentFieldAPIName,previousDepartment);
cf.put(toDepartmentFieldAPIName,currentDepartment);
cf.put(agentAPIName,agent);
timeEntryParam.put("executedTime",departmentChangedTime);
timeEntryParam.put("cf",cf);
logs.insert("timeEntryParam":timeEntryParam);
createTimeEntry = invokeurl
[
url :deskURL + "/api/v1/tickets/" + ticketId + "/timeEntry"
type :POST
parameters:timeEntryParam.toString()
connection:"ticket_time_entry_add"
];
logs.insert("createTimeEntry":createTimeEntry);
}
}
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 that 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
Recent Topics
Zoho Commerce - Poor Features Set for Blogging
Hi Zoho Commerce team, I'm sure you will have noticed that I have been asking many questions about the Blogs feature in Commerce. I thought that it would be useful if I share my feedback in a constructive way, to highlight the areas which I feel need
Security Enhancements | Migrate to the Updated Policies
Hello everyone, Zoho Directory's security policies have been updated and reorganized into three new policies with features that enhance the overall organization security. These policies provide a stronger and more secure sign-in methods and improve the
Bring Zoho Shifts Capabilities into Zoho People Shift Module
Hello Zoho People Product Team, After a deep review of the Zoho People Shift module and a direct comparison with Zoho Shifts, we would like to raise a feature request and serious concern regarding the current state of shift management in Zoho People.
Zoho Commerce - How To Change Blog Published Date and Author
Hi Commerce Team, I'm discussing a project with a client who wants to move from Woo Commerce / Wordpress to Zoho Commerce. They have around 620 blog posts which will need to be migrated. I am now aware of the blog import feature and I have run some tests.
Don't Allow Customer to Edit Values After Submitting Ticket
After a customer submits a ticket through the customer portal, they can go into the ticket and see some of the values from the questions they answered in the sidebar. Currently, a customer can edit these values even after they submitted them. This makes no sense. We ask very specific questions that we don't want customers to later change! Please disable the ability for customers to edit the values to their submission questions in the portal. Screenshot attached.
using the client script based on the look up filed i wnat to fetch the record details like service number , service rate
based on selected service look up field iwant to fetch the service serial number in the serice form how i achive using client script also how i get the current date in the date field in the on load of the form
Quick Create needs Client Script support
As per the title. We need client scripts to apply at a Quick Create level. We enforce logic on the form to ensure data quality, automate field values, etc. However, all this is lost when a user attempts a "Quick Create". It is disappointing because, from
How to block a WhatsApp user for sending spam
Is there a way to block those whatsapp users that just come to play and annoy our service, they also spam us. We have a waba service with sales iq
Inquiry regarding auto-save behavior for Zoho Sign Embedded Sending
Dear Zoho Support Team, I am currently integrating Zoho Sign's Embedded Sending functionality using iframes on my website. I would like to know if there is a way to ensure that the document state (including any added fields) is automatically saved as
Introducing Connected Records to bring business context to every aspect of your work in Zoho CRM for Everyone
Hello Everyone, We are excited to unveil phase one of a powerful enhancement to CRM for Everyone - Connected Records, available only in CRM's Nextgen UI. With CRM for Everyone, businesses can onboard all customer-facing teams onto the CRM platform to
Automation#17: Auto-Create Tasks in Zoho Projects Upon Ticket Creation in Zoho Desk
Hello Everyone, This edition delivers the solution to automatically create a task in Zoho Projects when a ticket is created in Zoho Desk. Zylker Resorts uses Zoho Desk for bookings and handling guest requests. Zylker resorts outsources cab bookings to
Automation#20 : Auto-Add Ticket Tags based on Keywords
Hello Everyone! Welcome to unveiling custom functions on our Community series. This week's post lets you add tags to your tickets automatically based on the keywords in the ticket subject and the ticket thread. Discover how this custom function helps
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
Automate attendance tracking with Zoho Cliq Developer Platform
I wish remote work were permanently mandated so we could join work calls from a movie theatre or even while skydiving! But wait, it's time to wake up! The alarm has snoozed twice, and your team has already logged on for the day. Keeping tabs on attendance
Reusable Custom Functions Across Department Workflows
Dear Zoho Desk Team, We appreciate the powerful workflow automation capabilities in Zoho Desk, particularly the ability to create and use custom functions within workflows. However, we have encountered a limitation that impacts efficiency and maintainability.
Email Integration - Zoho CRM - OAuth and IMAP
Hello, We are attempting to integrate our Microsoft 365 email with Zoho CRM. We are using the documentation at Email Configuration for IMAP and POP3 (zoho.com) We use Microsoft 365 and per their recommendations (and requirements) for secure email we have
Uplifted homepage experience
Hello everyone, Creating your homepage is now much easier, more visual, and more impactful. Until now, your homepage allowed you to display custom views, widgets, analytic components, and Kiosk. With the following improvements, the homepage is now a smarter,
Homepage not assignable to group
MS Teams for daily call operations
Hello all, Our most anticipated and crucial update is finally here! Organizations using Microsoft Teams phone system can now integrate it effectively with Zoho CRM for tasks like dialling numbers and logging calls. We are enhancing our MS Teams functionality
Automation#22 Track Ticket Duration at Specific Status
Hello Everyone! Welcome back to the Community Learning Series! Today, we explore how Zylker Techfix, a gadget servicing firm, boosted productivity by tracking the time spent at a particular ticket status in Zoho Desk. Zylker Techfix customized Zoho Desk’s
Automation#23: Automate Guided Conversations in Zoho Desk with Business Hours
Hello Everyone, This week's edition introduces a custom function designed to automate Guided Conversations in Zoho Desk, based on your business hours. With this feature, you can align the bot's behavior with your business schedule, ensuring a smooth and
Address changes in quote form
When entering a quote, the first piece of information required is the Account, which properly populates the billing and shipping address fields. Then I use the lookup function to select a contact, and when I do, the billing and shipping addresses are
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,
Automation#31: Automate Splitting Names for New Contact Records
Hello Everyone, This week, we present to you a custom function, which allows you to split the first and last names from the user's email ID based on the separator used in the ID. Having grown into a large firm, Zylker Techfix aims to optimize its processes,
The same Contact associated to multiple Companies - Deals
Hi, I would like to know if there is an option to associate the same contact with multiple companies (two or more) deals, using the same contact details for all. This is because we have contacts who are linked to different companies or branches of the
local file csv import problem
The issue occurs when I upload a CSV file via Databridge. In the preview, everything looks correct — the values are in the proper columns. However, after clicking Import, the first column becomes empty, and the values from that column appear in a new
Kaizen #227 : Client Script Support for List Page (Canvas)
Hello everyone! Welcome to another week of Kaizen. In today's post lets see how Client Script can be used in Canvas List Page to mask sensitive information from specific roles and add colors to Canvas List Page records based on custom criteria.This use
Implement Date-Time-Based Triggers in Zoho Desk
Dear Zoho Desk Support Team, We are writing to request a new feature that would allow for the creation of workflows triggered by specific date-time conditions. Currently, Zoho Desk does not provide native support for date-time-based triggers, limiting
Automation#25: Move Tickets to Unassigned When the Owner Is Offline
Hello Everyone, Welcome to this week's Community Series! 'Tis the holiday season—a time when work often takes a brief pause. The holiday spirit is in full swing at Zylker Techfix too, with employees taking some well-deserved time off. During this period,
Analytics <-> Invoice Connection DELETED by Zoho
Hi All, I am reaching out today because of a big issue we have at the moment with Zoho Analytics and Zoho Invoice. Our organization relies on Zoho Analytics for most of our reporting (operationnal teams). A few days ago we observed a sync issue with the
Automation#27: Retain Ticket Owner on Moved Tickets
Hello Everyone! This week, we present to you a custom function that retains the ticket owner when a ticket is moved from one department to another. Here’s more to help you understand the custom function: At Zylker Techfix, Alex, the Support Engineer manages
Automation#28 Notify Agents on Article Expiry
Hello Everyone! This week, we’re bringing you a feature that notifies your team when articles in the Knowledge Base are set to expire to keep your content relevant and helpful for customers. The Zoho Desk's Knowledge Base is an asset for customers to
Automation#29 Retain ticket status on moved tickets
Hello Everyone, Hear out Zylker Techfix’s Success Story on Smoother Ticket Transitions! Zylker Techfix, a gadget servicing firm committed to quick repairs and timely deliveries, faced a challenge when ticket statuses changed automatically while moving
encountering an error when attempting to associate an email with a Deal using the Zoho CRM extension in Zoho Mail.
When I click "Yes, associate," the system displays an "Oops!! Something went wrong" error message. I have attached a screenshot of the issue for reference.
Automation#32:Auto Add New Portal Users to the Help Center User Groups
Hello Everyone, Introducing a custom function that automates the process of adding new portal users to Help Center user groups, making user management effortless! By default, Zoho Desk allows you to assign new portal users to groups manually. But with
Using email "importance" as workflow-criteria
I'd like to set up a workflow that triggers if an incoming email has been flagged as "high importance" but I'm not seeing any way to do that. Hopefully I'm just missing something obvious...?
Automation#34 : Automate Email threading for Ticket notification
Hello Everyone, It's been a while since we've presented an automation. However, our community has been buzzing with ideas, use cases, and discussions with our community experts and Ask the Experts session. So, here we are again, presenting an automation
Automation#35 : Auto-Add Comments under the Owner's Name in Tickets via Macros
Hello Everyone, This week's custom function provides simple steps to configure a Macro for adding comments to tickets with the name of the Comment owner. When managing tickets, you can use the Comment feature to communicate internally with your team and
Automation#36: Auto-create time-entry after performing the Blueprint transition
Hello Everyone, This week’s edition focuses on configuring a custom function within Zoho Desk to streamline time tracking within the Blueprint. In this case, we create a custom field, and request the agent to enter the spending time within the single
Automation#33: Automate Splitting Names for Existing Contact Records
An organized directory – who doesn't love one? Previously, we explored how to split contact names into First Name and Last Name for new contacts in Zoho Desk. But what about existing contacts already in your database? This week, we bring you a custom
Next Page