Recipe: Routing messaging tickets using Support triggers

Return to top


  • 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.

  • Gab Guinto
    Zendesk Customer Care

    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.

  • 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.

  • Gab Guinto
    Zendesk Customer Care
    Hi Natalia,
    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.
  • Pedro Rodrigues
    Community Moderator

    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):

    • "Error Code" (global)
    • "Error Code 1.1"
    • "Error Code 2.3"

    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:

    • In Flow Builder, edit the Answer referenced as "1.1": when transferring to an agent, we request "Error Code 1.1"
    • Edit Answer referenced as "2.3": when transferring to an agent, we request "Error Code 2.3"
    • Save and publish the bot

    Now we can create our triggers.

    For example, if:

    • Ticket is created/updated
    • Custom drop-down is not present
    • "Error Code 1.1" text field is present

    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:

    • Populate the global "Error Code" with the value of "Error Code 1.1". I see it as near-mandatory because we don't want to mess our reporting, so we still want to use a single field when analyzing/exporting error codes
    • Change the messaging ticket Subject to the workflow name

    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!

  • 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.

  • 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:


    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!

  • 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)? 




  • Salim Cheurfi
    Zendesk Customer Care
    Hi Stephen, 
    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, 
  • 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!

  • Dane
    Zendesk Engineering
    Hi Hayley,
    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.

Powered by Zendesk