Automation#34 : Automate Email threading for Ticket notification

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 focused on threading ticket notification emails. 
Let's see how this automation helped our folks at Zylker Techfix.
Zylker Techfix, a gadget service company, has grown significantly and now serves a large customer base. The support team receives tickets from various customers, some of whom send multiple emails regarding servicing multiple gadgets. With their expanding customer base, Zylker Techfix wanted to effectively track notification emails sent to customers for each respective ticket.
Additionally, Zylker Techfix aimed to inform customers about the engineer assigned to support them with their submitted gadget, helping establish a stronger connection with their customers.

In this post, let's explore how we can adopt Zylker Techfix's customization.

Notify Customers when a ticket is created

The notification rule has an option to notify your customers when a ticket is created.
You can add the details of the ticket owner within the Email template so customers will know the support executive who will be handling the ticket.

How to include Ticket Owner details within the Email template?

You could create a New Email template or use the Existing email template.

Create an Email template

You can either create a New Email template or edit an existing Email template.
To Add a New Template : Go to Setup (S) >> Customization >> Email Templates >> Select the required Department >> Click on Add >> New Template >> Select the Tickets module >> Enter Name > Select  Folder, From Address, Enter Reply to address if required, Add Subject and desired description.
To add Ticket owner's name, insert the placeholders First Name and Last Name (if required) ${Case Owner.First Name}${Case Owner.Last Name}, under Ticket Owner.

To Edit an Existing Email

To edit an existing Email, Go to Setup (S) >> Customization >> Email Templates >> Select the required Department >> Click on the Edit icon for the existing template or select the existing Template >> Edit description. To insert Ticket owner's name, insert the placeholders for first name and last name (if required) ${Case Owner.First Name}${Case Owner.Last Name}, under Ticket Owner.

Create a connection

1.1 Go to Setup(S) and choose Connections under Developer Space.
1.2 Click Create Connection.
1.3 Select Zoho Desk under Default Services.
1.4 Set the connection name as zohodeskconnection.
1.5 Under Choose Scopes, choose the below scope values:

Desk.settings.ALL
Desk.tickets.UPDATE
1.6 Click Create and Connect.
1.7 Click Connect.
1.8 Choose the Desk's organization to connect with Deluge, and click Submit.
1.9 Click Accept.
Connection is created successfully.

Configure Custom Function within the Workflow Rule

1. Go to Setup, choose Workflows under Automation.
2. Under Workflows, click Create Rule.
3. Under Basic Information, choose Tickets under Module, give a Rule Name and Description.
4. Click on the Active checkbox to activate the rule once created. Click Next.
5. Under Execute on, select Create.
6. Add Criteria, if required.
7. Under Actions, click on the drop-down in the + icon and select Custom Functions >> New.
    7.1 Under Basic Information, enter Name and Description. Choose Tickets under Module.
    7.2 Under Argument Mapping, give a desired Method Name. Map the arguments as below:
           7.2.1 In the Argument Name field, type ticketId and select Ticket Id in the Tickets Section.
           7.2.2 In the Argument Name field, type contactEmail and select Email in the Contacts Section.
           7.2.3 In the Argument Name field, type fromEmailAddress, click on Specify Custom Value and type the verified From Address of your department.

    7.3 In the script window, insert the Custom Function given below:
  1. //<<<< User Inputs Section >>>>----
  2. // Replace ".com" with appropriate domain extension based on customer's location/DC
  3. deskURL = "https://desk.zoho.com";
  4. templateId = "xxxxxxtemplateIdxxxxx";
  5. //<<<< Initial Configs >>>>----
  6. logs = Map();
  7. template = invokeurl
  8. [
  9. url :deskURL + "/api/v1/templates/" + templateId + "/render?entityId=" + ticketId
  10. type :POST
  11. connection:"deskconnection"
  12. ];
  13. if(template != null && template.containsKey("body"))
  14. {
  15. logs.put("template",template);
  16. emailContent = template.get("body");
  17. emailReplyParams = {"channel":"EMAIL","to":contactEmail,"fromEmailAddress":fromEmailAddress,"content":emailContent,"contentType":"html"};
  18. logs.put("emailReplyParams",emailReplyParams);
  19. sendReply = invokeurl
  20. [
  21. url :deskURL + "/api/v1/tickets/" + ticketId + "/sendReply"
  22. type :POST
  23. parameters:emailReplyParams + ""
  24. connection:"deskconnection"
  25. ];
  26. logs.put("sendReply",sendReply);
  27. }
  28. info logs;
Notes
Note
a. In Line 3, replace .com in the address with .in/.eu/.ca based on your DC.
b.In Line 4, enter the template id within " " of the Email template you created or edited.
To fetch Template id, go to Setup (S) >> select Email Templates under Customization >> click on the Email template and on the Address bar, copy the numeric value at the end of the URL.
8. Click Save to save the custom function.
9. Click Save again to save the workflow.
Now, along with your ticket conversations, you can also track the emails sent as notifications within your ticket conversations.

Share your thoughts in the comments below or knock at our mailbox: support@zohodesk.com

Until the next post,
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
    • Recent Topics

    • Zoho Projects API 100 requests/2 min. Limit

      Hi Requesting clarification on the API documentation. "You can invoke or call an API for 100 times in a span of two minutes. If you invoke more than 100 times, the particular API request will be locked for the next 30 minutes. " Does this limit apply
    • Integrate your Outlook/ Office 365 inbox with Zoho CRM via Graph API

      Hello folks, In addition to the existing IMAP and POP options, you can now integrate your Outlook/Office 365 inbox with Zoho CRM via Graph API. Why did we add this option? Microsoft Graph API offers a single endpoint to access data from across Microsoft’s
    • Zoho Projects - Attachments added to Task and Bug emails are not saved

      Hi Projects team, I have been experimenting with emails into projects to create tasks and bugs. I have noticed that attachments added to the emails are not saved to the task or bug. Is this normal behaviour? Thanks, Ashley
    • Zoho Inventory's latest shipping integration updates at a glance.

      Hello Users, We would like to share some important news about our latest improvements in the Shipping integration capabilities of Zoho Inventory that we achieved in 2024 with some of our major integration partners in key editions across APAC, North America,
    • Sorting a list of record acquired from the zoho.crm.searchRecords function.

      This is something for which I'm trying to figure out a straightforward way to do. The searchRecords does a great job fetching me the records that I want. However, in some cases, where it returns multiple records, I want it to sort the returned list by date of creation of that record, so that when I do records.get(0), I get the most recent record.  As an example, here's my sample pseudo code: records = zoho.crm.searchRecords("Clients", "Office_Number:equals:123456"); Now the "records" list above contains
    • Zoho Inventory Custom Field Update

      Hello All, In this post I am describing how can we Update the Custom Field Value in Zoho Inventory. // Get Org ID orgid = organization.get("organization_id"); // Field Value resvp = ifnull(item.get("purchase_rate"),null); // Record ID iid = item.get("item_id");
    • Alphabetically

      How can i arrange alphabetically - (Manage Manufacturer) Field in Item Master 
    • Can i set a default value for country and state in address field in zoho creator?

      Can i set a default value for country and state in address field in zoho creator?
    • Convert HTML to PDF & Send as Email Attachments in Zoho Creator (Deluge)

      This approach is useful for sending welcome letters, instructions, or promotional offers after order creation. // 1. Define the variables using the submitted input customerName = input.Customer_Name1; orderID = input.ID; customerEmail = input.Email_Address; //
    • Redirect after submission is not working after a few submission

      I have setup redirect url correctly and everything works as expected. However, it seems that there's a limit to the number of submissions before the redirect stops working. After the "limit" is reached, the page redirects to a seemingly zoho hosted page,
    • Enhancement Request for Multi-Asset Work Order Feature

      Hello Latha, Thank you for your continued support. The multi-asset Work Order feature is extremely helpful. I did some testing based on our requirements, and during the process, I noticed a few areas where we need your team’s support to improve the feature
    • Marketing Tip #8: Run limited-time offers

      Exclusive offers that don't last long make shoppers purchase right away instead of waiting. Run a flash sale or limited-time discount to convert interest into sales. Try this today: Set up a "Buy X Get Y" coupon in Zoho Commerce valid for a limited time
    • Add Option to Mass Dispatch by User

      Hello! We are using the dispatch console to dispatch service appointments to our service ressources. Right now, the process is our dispatcher verifies each ressource's route for the day and dispatches it after validation. Sadly, there doesn't seem to
    • Zoho Projects - Email notification relabelling of modules not present on default templates

      Hi Projects Team, I noticed that in the default email template notification, the word "bug" was not renamed to the lable I am using in my system. As many users may used the Bugs modules for various purposes including Changes, Revisions, Issues, etc...
    • Include the "Added Email ID" to the Filters of a Report

      Hi, With a Report and lots of entries, a normal thing is to filter entries by the submitter, but that is not included in the Auto Filter of Reports and you can't add a custom filter to a Report without specifying the actual value. I would like to be able
    • Loops in Deluge

      Hi, Can someone tell me how I do a simple loop in deluge? For example, if i have a variable "X" containing a number of loops to perform, i would like to perform an action X amount of times. X = 10; do while (Y < X){       // ... do something } to further explain, the equivalent in PHP of what i am trying to acheive would be: $X = 20; for($Y = 1; $Y < $X; $Y++ ){       // ... do something } Thanks
    • I am facing a problem with an if-else condition

      If I use if, else if, and else conditions in Deluge with the same variable name, sometimes the variable causes an error because the same variable name is present in every block
    • Zoho Projects - Reply by email to @ mentions posted on the Feed.

      When mentioning someone on the Feed (Status), it would be great if that mentioned person could reply to the email notification to update the Feed thread.
    • Product Updates in Zoho Workplace applications | October 2025

      Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications this October. Zoho Mail Create Signature from Compose window You can now effortlessly create a Signature using the Create
    • Subform data to Sheets

      I have been trying to setup a Zoho Flow automation to bring any Subform input to a Zoho Sheets but it seems impossible to post the subform entries to a Zoho Sheet. Is there any way to do it via Zoho Sheet API? https://www.zoho.com/sheet/help/api/v2/#CONTENT-Insert-row-with-JSON-data
    • Edit Contact Roles in the Potentials Mod

      New to ZOHO so I need some help. I work the same people on different projects concurrency. Their contact info remains the same but their role changes from project to project. In the Potential Mod you can pick contacts and assign a Role to them. I know
    • Is there a way to disable the Activity Reminders Pop-Up Window every time I log in?

      Just wondering if there is a setting to disable the window from opening every time I open my CRM? Thanks Chris
    • Rich-text fields in Zoho CRM

      Hello everyone, We're thrilled to announce an important enhancement that will significantly enhance the readability and formatting capabilities of your information: rich text options for multi-line fields. With this update, you can now enjoy a more versatile
    • Font Size 11 - Zoho CRM Email Templates

      Our company communicates with our vendors exclusively using Calibri Font Size 11, as this is the standard formatting for professional emails. Since the CRM only allows for the selection of font sizes 10 & 12, we have been unable to utilize the CRM email
    • Error 400 Booking

      Added a custom domain to Booking. Am Getting a SSL Error that has some other domain on the SSL and giving a 400 error. Followed instructions and it stated it verified our domain.. However it is not working. Please Help!
    • Zoho Projects - Email Notifications for Feed Updates

      Hi Projects Team, I'm working with a client who wants a simple way to communicate with their customers on projects. Getting the customer to add comments to Tasks or Bug records is not ideal, as we need a way which is easy with minimal training, and has
    • Zoho Analytics Export API

      Hi Team, I’m working on some integration tasks and wanted to confirm if it’s possible to retrieve a Zoho Analytics table as JSON data using a Deluge script. I’ve already stored my custom data from multiple sources and combined it into a single source.
    • Request to Remove LinkedIn Verification from My Emai

      I would like to submit a complaint regarding my Zoho Mail account. I previously used this email address to verify a LinkedIn account, but that LinkedIn account has now been closed. I need to remove or cancel the verification associated with the closed
    • Introducing the all-new email parser!

      Greetings, We are pleased to introduce to you, a brand-new, upgraded version of the Zoho CRM Email Parser, which is packed with fresh features and has been completely redesigned to meet latest customers needs and their business requirements. On that note,
    • Zoho Projects - Refine Access to Collaboration Menu

      Hi Projects Team, I noticed that Calendar, Chat and Meeting menu options in the Collaboration section are visible to client users, even when they don't have access to the features. This could be confusing and frustrating, because if it's there you expect
    • Extracting Images from a Zoho Creator Report into a Pages

      If you’ve uploaded images in a form and can see them in your report, you might also want to display those same images inside a Page (custom HTML page). This is useful for dashboards, profile pages, or any place where images should be visible dynamically
    • Zoho is blocking emails I subscribe to from one sender

      About 4 months ago I stopped receiving newsletters that I subscribe to from @thedispatch.com. They tell me that zoho's server is blocking them. I've added them to my contacts list, but they're not even reaching my inbox. I don't know how to troubleshoot
    • Inactive Items - Make Less Prominent by Default

      Currently, when one marks an Item as "Inactive", it really doesn't do much of anything to hide it or get it out of the way. Search and reporting within Finance should, by default, hide inactive Items from standard reports, searches, etc. If one specifically
    • How to calculate GST based on "Ship To Address"

      We into the interior designing work, providing "Works Contract Services" to our clients across India. We are registered under GST in Maharashtra state. For works contract services as per the GST rule, we need to decide place of supply based on "Ship to
    • I NEED TO NUMBER TO TEXT NO HERE

      =NUMBERTEXT NEEED
    • Auto-fill New Row with Previous Row Values

      rowsize = input.Order_Items.count(); for each row1 in input.Order_Items { rowsize = rowsize - 1; if(rowsize == 1) { row.Door_Model = row1.Door_Model; row.Door_Color = row1.Door_Color; row.Materials = row1.Materials;
    • Python - code studio

      Hi, I see the code studio is "coming soon". We have some files that will require some more complex transformation, is this feature far off? It appears to have been released in Zoho Analytics already
    • API question - adding a thread to an existing ticket

      Hi Is there an API function for the customer to add to an existing ticket thread? example, customer puts in new support ticket. support replies and ask for more details. customer replies with more details -what api function is used for this (will add record append to same ticket number?) Thanks
    • Calendar week view: Today + 6

      Is there anyway to have the calendar change dynamically based on the date? Due to the amount of events, we only display a week at a time, but towards the end of the week, we can no longer see ahead to next week (without changing it manually every time).
    • How to restrict user/portal user change canvas view

      Hi , I would like to restrict user / portal user change their canvas view because I hide some sensitive field for them. I dont want my user switch the canvas view that do not belong to them But seems Zoho do not provide this setting?
    • Next Page