Automation #10 - Auto Assign Ticket based on Keywords

Automation #10 - Auto Assign Ticket based on Keywords



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 on optimizing your customer support with the automation capabilities of Zoho Desk.

Zoho Desk offers you a few choices on how to assign your tickets. From Direct assignment to Round Robin rules, every variation cued to assign tickets in a way best suited to your business workflow.
 
These features can help you create a viable workflow easily. Even in cases when you'd like to add more context to open tickets and assign them based on their content. For example, you have a Direct Assignment rule based on a State. As per the rule any ticket originating from that State is automatically assigned to a specific Agent, say Agent 1. However, after a few conversations, the customer refers to the keyword refund in their email content. At which point you want it to include the Refund team automatically. This can be achieved using a custom function, which reads the keyword in the email replies of a customer, and automatically assigns any email matching the keyword to the concerned team based on the rule set.

We have replaced Auth-tokens with connections for all the existing custom functions. So the first step to make the most of ZohoDesk's automation capabilities is to create a connection to use in the custom function later.
 
To create the connection, carry out the following steps: 
  1. Click on Setup > Developer Space > Connections 
  2. Click Create Connection
  3. In the Pick Your Service section, under Pre-Defined Services find and select Zoho OAuth
  4. In the Connection Details section, add zohodesk as the Connection Name and Connection LinkName
  5. In the Choose Scopes list, select Desk.tickets.READ
  6. Click Create and Connect
  7. In the page that appear, click Connect
  8. If you have more than one portal associated, select the Portal to which this connection should be added and click Accept.
To create the custom function, follow the steps below: 
  1. Go to Setup, and under Automation, click Workflows.
  2. On the left panel, under Workflows, click Rules > Create Rule.
    In the Basic Information section, carry out the following steps:
  3. In the Module drop-down menu, select Tickets.
  4. Enter a name and description for the rule.
  5. If you want to activate the rule right away, select the Active checkbox. Else, you can just create the rule now and activate it later, on the Rules page.
  6. Click Next.
    In the Execute on section, perform the following steps:
  7. Select the Create checkbox to execute this rule every time a new ticket is created.  
  8. Click Next.
    In the Criteria section, if you want to create a ticket just based on the keywords, then do not select any criteria and move to the next section.
    In the Actions section, carry out the following steps:
  9. Click the + icon and select Custom Functions > New
  10. Click Edit Arguments
  11. In the Name field type TicketID, and from the Value drop-down list select Ticket Id under Ticket Information.
  12. In the script window, input the Custom Function you find below: 
    orgId = "paste orgId here";
    DepartmentB_id = "paste department B id here";
    keyword1 = "paste keyword value here";
    keyword2 = "paste keyword value here";
    TicketInfo = zoho.desk.getRecordById(orgId, "tickets", TicketID);
    subj = TicketInfo.get("subject");
    threads = zoho.desk.getRelatedRecords(orgId,"threads","tickets",TicketID).get("data").toList();
    threadId = threads.getJSON("id");
    Message_body = invokeurl
    [
    url :"https://desk.zoho.com/api/v1/tickets/" + TicketID + "/threads/" + threadId + "?include=plainText"
    type :GET
    connection:"zohodesk"
    ];
    Message_body = Message_body.getJSON("plainText");
    if ( Message_body.containsIgnoreCase(keyword1) || Message_body.containsIgnoreCase(keyword2) || subj.containsIgnoreCase(keyword1) || subj.containsIgnoreCase(keyword2)   )
    {
    info zoho.desk.ticket.move(orgId, TicketID, DepartmentB_id);
    }
Note: The connection name used in the above script should match the name that you provided while creating the connection. 

Stay tuned for more such use cases!


      • 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