Automation #15: Automatically Adding Static Secondary Contacts

Automation #15: Automatically Adding Static Secondary Contacts



Rockel is a top-tier client of Zylker traders. Marcus handles communications with Rockel and would like to add Terence, the CTO of Zylker traders to the email conversations. In this case, the emails coming from user address rockel.com should have Terence looped in automatically as the secondary contact.

Like Zylker, many users have the requirement to include secondary contacts while communicating with their customers. Here's for you the custom function to automatically add static secondary contacts while responding to an email.

Prerequisite
1. Enable Secondary Contacts (CCs) in Tickets
Navigate to Setup >> Customization >> General Settings >> Tickets >> Secondary Contacts (CCs) in Tickets >> Configure(If not enabled) or Edit Configuration(If enabled), select the department to which you want to implement the automation.


2. Create a Connection
To establish a connection, perform the following steps:

      2.1 Go to
Setup and choose Connections under Developer Space.
      2.2 Click
Create Connection.
      2.3 Select
Zoho OAuth under Default Connection.
      2.4 Give the connection name as
secondarycontact.
      2.5 Under
Scope choose the below scope values:
            Desk.search.READ
            Desk.tickets.READ
            Desk.tickets.UPDATE
            Desk.tickets.CREATE
            Desk.contacts.READ
            Desk.contacts.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 under Module.
4. Enter a Rule Name and Description for the rule.
5. To activate the rule, select the Active checkbox. Click Next.
In the Execute on section, follow these steps:
6. Select Create checkbox to execute this rule every time a new ticket is created. Click Next.
7. In the Criteria section, specify the criteria as "Email contains @zylker.com" and click Next
8. In the Actions section, click the + icon and select New next to Custom Functions.
9. Enter a name and description for the custom function.
10. Under Argument Mapping, give a desired Method Name. Map the arguments as below 
   10.1 In the Argument Name field , type ticketId, and from the Value drop-down list select Ticket Id under Ticket Information.
   10.2 In the Argument Name field , type ticketContactId, and from the Value drop-down list select Contact Id under Contacts Information.
   10.3 In the Argument Name field, type orgId, and from the Value drop-down list select specify custom value and enter your Zoho Desk. OrgId. To  get Zoho Desk OrgId, navigate to Setup >> Developer Space >> API.                  
11. In the script window, insert the Custom Function given below:
  1. //--------------- User Input -----------------
  2. Email = "STATIC_EMAIL_ID"; // Static email ID
  3. deskURL = "https://desk.zoho.com";
  4. //-----------------------------------------------
  5. logs = Collection();
  6. secondaryContacts = list();
  7. ticketDetails = zoho.desk.getRecordById(orgId, "tickets", ticketId, "secondarycontact");
  8. logs.insert("ticketDetails": ticketDetails);
  9. secondaryCC = ticketDetails.get("secondaryContacts");
  10. if (secondaryCC != "" && secondaryCC != null)
  11. {
  12. secondaryContacts = secondaryCC.toList(",");
  13. }
  14. searchParam = Map();
  15. searchParam.put("from", 0);
  16. searchParam.put("limit", 1);
  17. field1 = "email:" + Email;
  18. encryptEmail = zoho.encryption.urlEncode(field1);
  19. searchParam.put("field1", encryptEmail);
  20. contactSearch = invokeurl
  21. [
  22. url: deskURL + "/api/v1/contacts/fieldSearch"
  23. type: GET
  24. parameters: searchParam
  25. connection: "secondarycontact"
  26. ];
  27. logs.insert("contactSearch": contactSearch);
  28. if(contactSearch != null && contactSearch.get("data") != null && contactSearch.get("data").size() > 0)
  29. {
  30. contactId = contactSearch.get("data").get(0).get("id");
  31. }
  32. else
  33. {
  34. createConatctParam = Map();
  35. lastName = Email.getPrefixIgnoreCase("@");
  36. createConatctParam.put("lastName", lastName);
  37. createConatctParam.put("email", Email);
  38. createContact = invokeurl
  39.     [
  40.      url: deskURL + "/api/v1/contacts"
  41.      type: POST
  42.      parameters: createConatctParam.toString()
  43.      connection: "secondarycontact"
  44.     ];
  45. logs.insert("createContact": createContact);
  46. contactId = createContact.get("id");
  47. }
  48. logs.insert("contactId": contactId);
  49. if(contactId != null && contactId != ticketContactId)
  50. {
  51. secondaryContacts.add(contactId);
  52. updateParam = Map();
  53. updateParam.put("secondaryContacts", secondaryContacts);
  54. updateTicket = invokeurl
  55.     [
  56.         url: deskURL + "/api/v1/tickets/" + ticketId
  57.         type: PATCH
  58.         parameters: updateParam.toString()
  59.         connection: "secondarycontact"
  60.     ];
  61. logs.insert("updateTicket": updateTicket);
  62. }
  63. info logs ;
Note: In Line 1 Email = "STATIC_EMAIL_ID", replace the "STATIC_EMAIL_ID" with the email address you prefer to be added in the secondary contact automatically. eg:  Email = "terence@zylker.com"
12. Click Save to save the custom function
13. Click Save again to save the workflow.

We hope this custom function fosters your experience with Zoho Desk. Stay tuned for regular updates and insights on our automation features in this space.

    • 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

    • How to see history on Bulk send of Customer Statements

      Hi, We bulk send statements to customers every month via Books - every month we have customers emailing requesting a statement. Currently I have no visibility on if a customer was sent the statement or not and if our process is being followed or overlooked
    • Guided Conversations - Ticket Creation

      Hi there, Using Guided Conversations to Take Customer Data and apply it into a Support Ticket for internal use, Is there a way to take multiple Textual Variables Inputs (A series of questions), and have the answers all appear in the Description of the
    • How to add buttons elements in the Header

      I am trying to add CTA (Call to Action) buttons in the right side of the main navigation menu. This is a common practice for sites but I can't seem to figure this out for Zoho Sites. Is there a custom workflow that could be shared with me? 
    • Automatic back up - Zoho Recruit, books, people,crm, analytics

      Hello, Has anyone found a good way of automatically backing up Zoho (CRM, expense, recruit, people, books, analytics).? I have found with tool that does, but it doesn't include recruit or analytics It's a bit annoying and time consuming having to go to
    • delete departments on zoho desk

      I created test departments on zoho desk. how can i delete them now?
    • Validation, checking if a file has been attached to the ticket

      A very useful option would be to allow checking, under specific conditions, whether the user has attached a file to the application, e.g., a bug report. Some applications require files to be attached, and the system could enforce this after the system
    • AI & Zoho Recruit

      Hello, I guess we all are using AI in our personal and professional lives. Now, let's imagine. Recruitment is just a succession of stages and steps. For which step would you like to see AI implemented into Zoho Recruit ? I'll start : - Automatic translation
    • Zoho Flow not handling Boolean properly

      Hi, I have a checkbox in one system that I'm trying to sync with a checkbox in Zoho CRM. The value from the source system comes in as blank (unticked) or 1 (ticked). I've written the following custom function to convert the output to either boolean false
    • Quotes Module - import data

      Hello Zoho, is it possible to import Quotes records? I was trying and i have no results. Raport shows no data imported. Could you help me please how to do it?
    • Balance Sheet - Zoho Analytics

      Hi Team, I’m looking to implement a feature that captures the conversion rate based on the filters applied. By default, it should fetch the most recent conversion rate, and when a filter (such as a timeline filter) is applied, it should return the conversion
    • files sent will not open for recipient

      work files (done in writer) which previously opened will not open for the recipient
    • How to Print the Data Model Zoho CRM

      I have created the data model in Zoho CRM and I want the ability to Print this. How do we do this please? I want the diagram exported to a PDF. There doesnt appear to be an option to do this. Thanks Andrew
    • Cisco Webex Calling Intergration

      Hi Guys, Our organisation is looking at a move from Salesforce to Zoho. We have found there is no support for Cisco Webex Calling however? Is there a way to enable this or are there any apps which can provide this? Thanks!
    • Migration of Mails from Pipedrive

      Hi, so far the migration from Pipedrive to ZOHO works pretty good. For full completeness of the migration we miss all the mails linked to Deals, Contacts, Customers, ... What possibilities do we have to have Pipedrive fully migrated to ZOHO? Best Regards,
    • Published sheets don't work anymore

      Hi, Published sheets don't work anymore. The display of values is very very slow and calculations are not displayed at all. Thanks!
    • WorkDrive TrueSync for macOS 26 (Tahoe) Beta

      Hello everyone, With Apple unveiling the macOS 26 (Tahoe) Beta, we know many of you are eager to explore the latest features and enhancements. We’re excited to support your enthusiasm! As part of our commitment to delivering seamless cross-platform experiences,
    • Limited layout rules in a module

      There is a limit of 10 layout rules per module. Is there a way to get that functionality through different customization or workflow + custom function (easily accessible), etc. Having just 10 is limiting especially if module contains a lot of data. Are
    • #1 Zoho Billing vs. Zoho Books: Which one should I choose?

      Managing your business finances isn't just about sending invoices. It's about keeping everything organized, accurate, and moving towards your organization's goals. At Zoho, we understand the complexity, which is why we offer two powerful yet distinct
    • Is Zoho tables still being developed?

      Has this product been abandoned? I haven't seen any useful new features or stability improvements over the past six months or more. I think Tables is a great concept, filling a niche between spreadsheets and full database tools, but the current implementation
    • How to connect oracle ADW with Analytics

      I want to add Oracle ADW as a data source in Zoho Analytics, but I couldn't find any relevant documentation. Can anyone suggest how to do it, or let me know if it's even possible? Thanks!!
    • RAG (Retrieval Augmented Generation) Type Q+A Environment with Zoho Learn

      Hi All, Given the ability of Zoho Learn to function as a knowledge base / document repository type solution and given the rapid advancements that Zoho is making with Zia LLM, agentic capabilities etc. (not to mention the rapid progress in the broader
    • add attachments to automated emails?

      Hi, I'm looking for a way to have documents saved under an account, be grabbed and sent to an email address once a specific status has been updated.  For example we have a tab we've labeled as sales orders, when the status is changed to shipped, it emails the customer the tracking number and estimated delivery date.  I'd like it to also grab pdf docs (COA, BOL, etc) from that order and send in that email.   Currently we have to go into zoho change the status to shipped, then email all the docs to
    • [Action Required] Zendesk - Zoho Analytics integration requires re-authentication

      Dear Zendesk integration users, Zendesk is transitioning to a new OAuth model that uses refresh tokens for improved security and stability (read more). As a result, all Zendesk users in Zoho Analytics must re-authenticate their Zendesk connections on
    • Rerun Migration?

      I migrated a mailbox a few days ago, but didn't do the cutover on the MX records until today.  How can I rerun the migration to sync the mailboxes?  The old account has had a fair amount of activity since the first migration. I am used to other systems
    • طلب حذف الدومين والمؤسسة من حساب zoho

      السلام عليكم، أود طلب حذف الدومين التالي من حسابي في Zoho، حيث لا يظهر لي خيار الحذف في لوحة التحكم: اسم الدومين: hudajstore.com البريد المرتبط: [contact@hudajstore.com] علمًا بأنني المسؤول عن المؤسسة، ولا أستخدم الدومين حاليًا، وأرغب في إلغاء ربطه وحذف
    • Microsoft Outlook Add-in Update: Enhancing Efficiency for Recruiters

      We've released an update to the Zoho Recruit Microsoft Outlook Add-in, which brings a host of features designed to streamline your recruiting process and boost productivity. Let's delve into the details: Associate Emails with records in Zoho Recruit You
    • New integration: Zoho Books + Zoho Forms

      Hello Zoho Forms community! We are thrilled to announce the addition of another integration that brings speed and efficiency to your financial workflows. Zoho Forms can now be integrated with Zoho Books! Here’s a quick rundown on Zoho Books! For anyone
    • Witness Sign - Automation with Zoho Creator

      Hi there, I used to be able do automatically send a Zoho Sign document from Zoho Creator where each signer had one witness. The action code was as follows for each signer and witness:       // CLIENT eachActionMap1 = Map(); eachActionMap1.put("signing_order","1");
    • Announcing: custom color palette + free workshop

      Hello everyone, We're excited to share new feature in Zoho Bookings—a color palette within booking page themes. You'll find this option under Manage Bookings > Workspaces > Booking Page Themes. You can customize the color of every element in your booking page and even alter the transparency of your background image. Please note that this is a paid feature included in the Basic and Premium plans. At the moment, it's available only under the Modern Web theme. This means you can create billions (7,
    • Removing To or CC Addresses from Desk Ticket

      I was hoping i could find a way to remove unnecessary email addresses from tickets submitted via email. For example, a customer may email the support address AND others who are in the helpdesk notification group, in either the TO or CC address. This results
    • Ability to Export Field Dependency Structure in Zoho Desk

      Hi Zoho Team, We’d like to request a feature enhancement in Zoho Desk that would greatly improve configuration management for organizations like ours: Requested Feature: The ability to export the full structure of Field Dependencies, especially for multi-level
    • [URGENT] Allow reorder (drag&drop) of subform record

      Very simple user case: a wedding planning app where you want to send your client a form to fill with information about their wedding. Form includes some field for general purpose information and a subform for event pacing/schedule. Clients are invited to create a new row (When? - What? - Where? - Who?) for each thing happening during their wedding chronologically. Ex: When                  What 10h                      Something TBD                    Speech After speech      Yet another thing happening
    • Departments in Zoho

      I'm trying to set up a department. It looks like Departments have been removed from Zoho One. Is there another option? We have our main account setup, but want to set up a separate small department that can't see our tabs.
    • Add Timer for Agent Status Duration in Zoho Desk Dashboard

      Hello Zoho Desk Team, We hope you're doing well. We would like to submit a feature request to further enhance the agent status tracking functionality within the Zoho Desk Dashboard. 🎯 Current Functionality As it stands, Zoho Desk allows us to view the
    • [Beta Feature] Parent-Child Ticketing

      Hello there, a beta parent-child ticketing feature has recently been made available for some, read more here: https://help.zoho.com/portal/en/kb/desk/ticket-management/articles/understanding-parent-child-ticketing-system#Business_scenarios I would like
    • Enable Sorting by Ticket Count in Category Reports

      Hi Zoho Desk Product Team, I hope you're doing well. We would like to submit a feature request to improve the reporting capabilities in Zoho Desk. 🎯 Feature Request: Sorting by Ticket Count in Category Reports Currently, category-based reports in Zoho
    • Reactivating a CRM user...

      I'm a 1-man business primarily using CRM under my Zoho1 subscription (I have NO other employees or users). I wish to re-activate a prior user (my son, once more working with me) but when changing his status from inactive to active I receive this message:
    • Zohoサポートにスコープ開放を依頼する

      お世話になっております。 現在、弊社にてZoho DeskのナレッジベースをAPI経由で取得し、AIツール(NotebookLM等)に連携する仕組みの構築を検討しています。 つきましては、ZohoDesk.articles.READ スコープを使用したOAuth認証の許可をいただけますでしょうか。 API Console から Server-based アプリを作成済みですが、認可URLにアクセスすると「スコープが登録されていません」と表示されます。 お手数をおかけしますが、スコープの開放をご
    • Where can I configure the notifications for everything KB-related?

      Hi all, I'm receiving notifications for some actions happening in our Knowledge Base (e.g. someone leaving a feedback) and I would like to customise the template or have the choice to enable/disable such notifications like it is possible for ticket notification
    • Increase Round Robin Scheduler Frequency in Zoho Desk

      Dear Zoho Desk Team, We hope this message finds you well. We would like to request an enhancement to the Round Robin Scheduler in Zoho Desk to better address ticket assignment efficiency. Current Behavior At present, the Round Robin Scheduler operates
    • Next Page