Below is a simple recipe for creating a Support trigger that routes tickets sent through the messaging channel to a specific group based on the problem the customer is experiencing. You'll be using information captured through custom ticket fields, which are created in Support and presented to customers in a conversational flow built in Flow Builder, as well as specifying messaging as the incoming ticket channel.
There are three main steps in this recipe:
Using these steps, as described below, will send every ticket that meets the following conditions to the billing group, which will then be notified according to your Chat routing rules:
- Ticket is newly-created, and was submitted through the messaging channel.
- When asked in the conversational flow, the customer selected billing as the nature of their issue.
Creating a custom ticket field
Your first step is to create a custom ticket field that captures the information you want. In this case, you want to know the nature of the customer’s issue. We recommend using a drop-down field type to offer set options for customers to choose from. In the procedure below, we'll suggest specific language for titles, descriptions, and field values; change these as needed to fit your own scenario.
To create your custom ticket field
- Click the Admin icon () in the sidebar, then select Manage > Ticket Fields.
- Click the Add field button.
- Click in the New field at the top of the page and enter Nature of Issue as the field's title.
- Select the Drop-down field type, and enter a description for the field.
- In the Permissions section:
- Select Editable for end users, then enter Nature of Issue as the title to show to both agents and end users.
- For end users, select Required to submit a request, and enter Select an option that best fits your issue as the description to show to end users.
- In the Field values section, add the following values:
- Sign-in issue
- Billing issue
- Click Save at the bottom of the page.
Adding the custom ticket field to your conversational flow
Next, create your conversational flow in Flow Builder, making sure to include the Nature of issue custom field in your Transfer to agent step. As with the previous procedure, here we'll recommend specific information to match our scenario. You can change these as needed to fit your own scenario.
To add the custom ticket field to your flow
- Build your flow as needed in Flow Builder.
- As the final step, add a Transfer to agent step type, and enter a bot message.
- Under Fields, click the Search by title text box and select Nature of Issue from the list of available custom fields.
- Enter a final bot handoff message and click Publish.
Building a trigger to route your ticket
Finally, create your Support triggers, one for each of the issues offered in the custom ticket field. For example, for the ticket field described above, you’ll need to create three triggers: One to send sign-in issues to the technical support group, one to send billing issues to the billing group, and one to send other issues to the general support group. Here, we'll walk you through creating the billing department trigger.
To create your routing trigger in Support
- In Zendesk Support, Click the Admin icon () in the sidebar, then select Business Rules > Triggers, and click Add trigger.
- Enter a name (such as Messaging: Billing issue) and description for the trigger.
- In the Conditions section, add the conditions below under Meet ALL of the following conditions:
- Ticket | Is | Created. This applies the trigger to new tickets only.
- Channel | Is | Messaging: This specifies tickets only submitted through the messaging channel.
- Nature of Issue | Is | Billing issue. This looks for the Nature of Issue custom field, and applies the trigger only to tickets where the user has selected Billing issue.
- In the Actions section, add the following action:
- Group | Billing. This routes the ticket to the billing group.
- Click Create.
Hello there! Is there any functionality in Messenger or through routing that would allow for options selected during the flow to be mapped to custom ticket fields?
Having them re-enter that as part of the info capture prior to the Transfer to an Agent step somewhat defeats the earlier selection point's purpose.
If we have an end-user select our point of sale as what they are reaching out to support for, it would be incredibly efficient to be able to map that to a routing rule based on that selection.
I'm afraid this is not possible at the moment. Ticket field values may only be selected during the Transfer to Agent step; at this time, the Flow builder does not have the functionality to automatically map/select field values based on end-user actions or responses prior to that final step.
If you can, I encourage you to create a new post in the General Product Feedback topic in our community to engage with other users who have similar needs. Conversations with a high engagement ultimately get flagged for product managers to review when they go through roadmap planning. This could be helpful for our product teams to understand the full scope of the need when working on solutions.
Hello @... in the article on the screenshot there is trigger condition Channel is Messaging however I don't find the same condition in my trigger.
Here is the screenshot of what I see:
Also we are routing our clients generally by Country and then transfer them to a right agent not by Nature of Issue. So the question: Is it possible to prepopulate/prefill Country field using GeoIP or something that will track user's location? As a perfect solution we would like our customers just to see two fields Name and Email and hide a country field.
There is not much info about it in Zendesk.
I'm afraid the widget is currently not able to capture the user's geolocation/ip and carry information over to the ticket/user profile. Probably the closest workaround would be to utilize the user language in your business rules – the Language set on the user's profile is based on the language selected on the visitor's browser settings (as long as you have the language added to your Support account). But, if what you need is to capture the country of the visitor, then at this time, the best option is to present the user with a separate field for country.
About the channel condition for Messaging – it would be good to check if Agent workspace and Messaging is enabled in your Admin Center. But, let me create a ticket for you so that we can investigate on this further. Thanks Natalia.
Hi everyone, just to share a workaround for the upcoming feature and for those who don't want to present a drop-down (which defeats the flow purpose, as Shaun Siemon commented).
For those looking for a solution to identify every Answer (workflow), the way I'm currently setting up is kind of complex but possible.
I'll illustrate as best as I can with an example:
I start by mapping all the Answers (workflows) and give each of them a unique reference, for example: "Error while creating account" corresponds to 1.1, "Can't update my password" is 1.2, "Something something" is 2.1, etc.
Then I create a global custom drop-down with all these scenarios ("Error while creating account", etc.).
Now, let's assume that for workflows 1.1 and 2.3 we always need to ask the user to input the error code they received in our fictional app.
This means we need to create the following custom text fields (all user-editable):
Make sure to leave the user-facing field name with the reference, so you don't get lost in Flow Builder.
Then we proceed to complete the following steps:
Now we can create our triggers.
For example, if:
This means the user chose the Answer corresponding to 1.1, so now we know the specific workflow because this field is unique to "Error while creating account".
In my trigger actions I notify a few internal webhooks to accomplish the following:
Lastly, I go back to all the new custom fields and remove the reference number from their user-facing title, now that they're correctly mapped to their triggers, and so so that requesters don't see "Error code 1.1", just "Error code".
Hope this helps!
If I have 2 groups, 1st being the default customer service group and the second being a specific skill:
2. Skill 1
Does the default group work in such a way that the priority of new messages would be assigned to agents with group 2 as default over agents with group 1 as default?
I'm trying to route all messages to group 2 with the above recipe but overflow when agents are at capacity.
Thanks in advance.
I am trying to set-up routing for Messaging tickets which come in through a bot for one of our customers. The following is the case:
I have 3 brands which use Messaging, each brand has a group/department for routing. All chat agents (3) are part of the 3 groups but each brand has one of these agents as primary contact. This means that for Brand A, the chat will initially be routed to agent A, Brand B for agent B etc. I have set this this:
Ticket = Created
Channel = Messaging
Brand = Brand A
Group = Group A
Assignee = Agent A
However, if this agent doesn’t respond within 90 seconds, I would like the chat to be assigned to another one of the two agents which are also part of the group.
I tried setting this up by using both the reassignment feature in Chat as well as the one available in Omnichannel routing. However, this does not work. I suppose this is cause by the fact that the chat is assigned to a specific agent through the trigger. I have tried both the ‘assign’ and ‘broadcast’ options within Chat but neither work. In all my test, at least 2 agents from the group (the primary contact mentioned in the trigger and one other agent) were online.
Could you advise in the way to have this work as intended? It should be possible to reassign the chat if the agent does not respond within a certain timeframe, correct? Am I missing something or should this be set-up differently? I feel like I have tried every possible option but without success, thus I hope you can help me out here.
Thanks a lot in advance!
Oi, anyone can tell me if it's possible add a qualitative feedback collection field by Flow Builder without API and without 'transfer to agent', as in the example in the image bellow (in red)?
Triggers rule are not the best to set an overflow rule with basic triggers for messaging, if you want a very precise routing with fallback and overflow rules you will have to use the new Omnichannel Routing.
It allows you to set different skill based routing for tickets and Fallback to routing model. It means for example that conversations may be assigned to agents without the matching skill if none of the agents with the skill are available at the time.
I hope this helps,
Has anybody figured out how to segment tickets that come in via the messenger channel so that some tickets are treated as live chat and some tickets are treated like a 'ticket' with a longer SLA? I have managed to set the SLA triggers correctly but all messenger tickets are still alerting agents there is a live chat waiting, even if it has an 8 hour SLA set. Its killing me!
This is just an overview on what we are using on our end. Due to the Conversation button does not have the capability to check SLA, we are using specific view to get our tickets. For example, we have a view for Urgent tickets and another view for normal priority tickets.
Please sign in to leave a comment.