This recipe creates a ticket trigger that routes tickets sent through the messaging channel to a specific group based on the problem the customer is experiencing. The trigger will use information captured through custom ticket fields, which are presented to customers in a conversation bot, and specify messaging as the incoming ticket channel.
Using the steps described in this recipe, the trigger 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 by the messaging bot, the customer selected "billing" as the nature of their issue.
If you are using omnichannel routing, you can automatically direct tickets to agents based on their availability and capacity. In that case, you do not need to set up triggers as described in this article. See Turning on omnichannel routing.
There are three main steps in this recipe:
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. You can use a drop-down field to offer set options for customers to choose from. This procedure suggests specific language for titles, descriptions, and field values. You can change these as needed to fit your needs.
To create your custom ticket field
- In Admin Center, click
Objects and rules in the sidebar, then select Tickets > Fields.
- Click the Add field button.
- Select the Drop-down field type, and enter the display name "Nature of issue" and an optional description for the field.
- In the Permissions section:
- Select Customers can edit.
- For end users, select Required to solve a ticket.
- In the Field values section, add the following values:
- Sign-in issue
- Billing issue
- Other
- Click Save at the bottom of the page.
Adding the custom ticket field to your conversation bot answer
Next, you create or edit your conversation bot answer, making sure to include your custom field in the Transfer to agent step. As with the previous procedure, this procedure suggests specific language for titles, descriptions, and field values. You can change these as needed to fit your needs.
To add the custom ticket field to your bot answer
- In Admin Center, click
Channels in the sidebar, then select AI agents and automation > AI agents.
- Click Manage conversation bots.
- Click the name of the bot you want to edit.
- Click the Answers tab, then click the answer you want to edit.
You can click Create new to create a new answer, if you prefer.
Configure your answer as required. Ensure you add the Ask for details step.
- In the Ask for details step, under Fields, click the Search by
title text box and select Nature of Issue from the list of
available custom fields.
- As the final step in the answer, add a Transfer to agent step type, and enter a bot message.
- Enter a final bot handoff message and click Publish bot.
Building a trigger to route your ticket
Finally, create a trigger 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 Admin Center, click
Objects and rules in the sidebar, then select Business rules > Triggers.
- 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.
11 comments
Shaun Siemon
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.
3
Gab Guinto
Hi Shaun,
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.
0
Natalia Lutsevich
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.
0
Gab Guinto
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.
-3
Pedro Rodrigues
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!
1
Stephen White
If I have 2 groups, 1st being the default customer service group and the second being a specific skill:
1. CS
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.
0
Janco Huiden
Hi there,
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:
Conditions
Ticket = Created
Channel = Messaging
Brand = Brand A
Actions
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!
0
Yas
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)?
0
Salim Cheurfi
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,
Best,
0
Hayley Johnson
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!
0
Dane
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.
0