About triggers and how they work

Return to top

50 Comments

  • Test Account

    I'm sorry, I'm still a bit confused when triggers are evaluated. 

    Is it when any field is updated/changed? 
    or only after the ticket has been saved?

    Thanks

    1
  • Dan Ross
    Community Moderator

    Hey Eric,

     

    Triggers will be checked every time a ticket is created or updated. 

    When a ticket gets updated, it doesn't matter how big or small the change is, the evaluation would still occur. Updates can happen many ways, a few examples are agents submitting ticket changes to a custom field, or a user replying via an email to a ticket or an API integration changing a ticket status when something happens in another system.

     

    You get to configure your triggers and rules to only take actions when a specific kind of update happens though. Every trigger will still be checked, but only the ones that match the conditions you define will act on the ticket.

     

    Does that help at all?

    1
  • Test Account

    Sorry, I guess my question wasn't clear. 

    Let's say I have a trigger set to when the tag "go" is added.

    Would the trigger fire as soon as the tag was added to the field? 

    Or when the agent saved the ticket?

    -1
  • Jonathan March
    Community Moderator

    @EricDeLosSantos only when the agent submits the ticket. Until then, the change has not actually been made.

    2
  • Oli

    Hey team!

    Wondering if anyone can help me understand the difference between these two sets of conditions:

    ALL
    Tags | contains at least... | Tag 1
    Tags | contains at least... | Tag 2
    Tags | contains at least... | Tag 3

    and

    ALL
    Tags | contains at least... | Tag 1, Tag 2, Tag 3

    I understand that the first expression states "A ticket must have all 3 of these tags". Does the second expression state something different, or are these effectively the same?

    Just want to make sure I have clarity on how ANDs work within conditions :)

    2
  • Matt McLean
    Community Moderator

    Moe,

    You are correct that the first statement means that All 3 tags must be on the ticket.

    The second statement means that Tag1, Tag2, OR Tag3 must be on the ticket.

    All conditions in "ALL" are "AND"ed together, but some conditions can have their own "OR" property, such as [Tags] [Contains at least one of the following] and [Comment text] [Contains at least one of the following words].

    All conditions in "ANY" are "OR"ed together, but it's also important to note that at least one of the "ANY" conditions must be true for the full set of both ANY/ALL conditions to return "true", and for the trigger to run.

    IF ((ALL1 AND ALL2 AND ALL3 AND …) AND (ANY1 OR ANY2 OR ANY3 OR …))
     Return TRUE
    ELSE
     Return FALSE

    3
  • Oli

    Hey Matt,

    Thank you for the speedy response! Since [Tags | contains at least...] has its own OR operator, is it the case that this expression:

    ALL
    Ticket | is | created
    Tags | contains at least... | Tag 1, Tag 2, Tag 3


    is the same as this one? -

    ALL
    Ticket | is | created

    ANY
    Tags | contains at least... | Tag 1
    Tags | contains at least... | Tag 2
    Tags | contains at least... | Tag 3

    Been a while since I brushed up on my symbolic logic so I really appreciate your help!

    2
  • Matt McLean
    Community Moderator

    Moe,

    Those 2 look logically equivalent to me.

    The nice thing about using the "contains at least one of the following" within the "ALL" block is that it allows you to have slightly more complicated logic, for example if you wanted any other "ANY" conditions to also be evaluated besides the Tags.

    For example if we changed your examples and wanted to check the inbound email address,

    ALL
    Ticket | is | created
    Tags | contains at least... | Tag 1, Tag 2, Tag 3

    ANY
    Received at | is | SupportAddress1
    Received at | is | SupportAddress2

    Would be different from

    ALL
    Ticket | is | created

    ANY
    Tags | contains at least... | Tag 1
    Tags | contains at least... | Tag 2
    Tags | contains at least... | Tag 3
    Received at | is | SupportAddress1
    Received at | is | SupportAddress2

    The first example would only evaluate "true" when Tag1,2,or3 is present AND the received_at address is 1 or 2.
    The second example would evaluate  "true" when Tag1,2,or3 is present, OR the received_at address is 1 or 2, even if none of the tags are present.

    6
  • Oli

    Thanks a ton, Matt! You've been super helpful. 🎉

    1
  • Sadie

    Is there a way to email "everyone in the group but the agent when that agent updates a ticket"? We don't need our agents to be emailed about their own updates to a ticket, just to anyone else's update of a ticket in their group.

    0
  • Dave Dyson

    Hi Sadie,

    Unfortunately, there's no way to to that, aside from separately adding notification actions for each agent you do want to include (which would be difficult to maintain over time).

    If you'd like, please consider creating a post in our Feedback on the Ticketing System (Support) topic, using our template to format your input. Thanks!

    0
  • Dawn La Branche

    Is there a way to queue talk/chat channels together?  Example:  I have an agent speaking to a customer on the phone, I want to prevent a chat being presented to that agent until the call is completed (and vice versa - chatting, no call presented).  I have tried the 'focus mode' and today during the 'what's new' session I was given the option to look at triggers but I can't see anywhere that I can 'trigger' agent availability when this or that condition is met.  Perhaps I'm missing something but hoping to get further clarity on this.  Thank you!

    0
  • Heather Rommel
    Community Moderator
    Zendesk Luminary
    The Product Manager Whisperer - 2021

    Dawn La Branche,

    I'm not aware of any triggers that would do what you're looking for... You mentioned you tried Focus Mode. Did that not work for you? What went wrong there? 

    0
  • Dawn La Branche

    Hi Heather, thank you for the speedy response.

    When 'focus mode' was turned on, I and my team created sample calls/chats to one another and both the types of interactions were presented to the agent at the same time.  We tried this with each of us (2 agents and myself as the admin) to learn both what our customers would hear/see as well as the agent workspace experience.  So from our experience, nothing changed when turning 'focus mode' on.

    0
  • Heather Rommel
    Community Moderator
    Zendesk Luminary
    The Product Manager Whisperer - 2021

    Dawn La Branche,

    I'm wondering if focus mode ends up turning "on" when the agent accepts one of the interactions. At that point, they shouldn't be presented with a new request from another channel. Want to give that a go?

    1
  • Dawn La Branche

    Hi Heather, we did try that whereby I kept only one agent online in both channels (chat and talk) and then had a new call and new chat happen within 30 seconds of each other.  Chat hit the online agent first, then the call hit them about 30 secs after.  Unfortunately, both requests still arrived at the agent workspace. We even thought that maybe the agent hadn't assigned them self the chat and therefore, the 'turn on' didn't happen but that didn't seem to change with or without assignment of the chat.

    0
  • Allen Lai | Head of CX at Otter.ai

    Can a trigger be based on a Sunshine profile or object?

    0
  • Christopher Kennedy
    Zendesk Developer Advocacy
    Hi Allen,
     
    Trigger conditions or actions cannot be built based on Sunshine profiles or custom objects.  Can you share a general overview of your use case?  I'm interested in seeing if there's another set of Zendesk tools that may help.
     
    Best,
    0
  • Óskar Ómarsson

    Hi, 

    I have a case that I would like some feedback on.

    For some tickets we want the first replies to be handled with a different trigger, so we can skip the "Re:" in the subject line.

    My first thought was to do it like this:

    • Add a tag to these tickets to indicate that this hasn't had the first reply
    • Modify our general reply trigger so it wouldn't fire on these tickets with the tag
    • Create a new trigger to handle these replies with the special subject line AND removes the trigger.
    • All future responses to that trigger would then be handled with our general trigger.

    But apparently this doesn't work due to how Zendesk handles this, this is what happens:

    • The agent replies to these special tickets
    • The general trigger is ignored
    • The special trigger fires, sends the special email and removes the tag
    • Zendesk starts another evaluation of all the triggers
    • The general trigger is fired
    • The special trigger is ignored

    Now how can I solve this :)

    • T
    1
  • Brandon Tidd
    User Group Leader Community Moderator
    Zendesk Luminary
    The Humblident Award - 2021

    Hey Óskar Ómarsson,

    Happy to help here, you've got a few options:

    Option 1: Modify the general trigger to remove "RE:" from the subject.
    Option 2: Don't remove the tag and just use the Special Trigger for the duration of that ticket.
    Option 3: Create an Automation that removes the tag shortly after the Trigger runs.
    > Ticket is less than solved, hours since updated > 1, tags contains special_trigger; remove tag

    Let me know if one of those solves for your use case!

    Brandon

    1
  • Operator AV-1544

    Good Morning

    We went live with IVR few months ago and now things have gotten really bad within zendesk.  Tickets are getting assigned to wrong groups.

    Questions I have are these:

    1. Once a condition is met, how do I tell zendesk to stop going to other triggers?  Right now, it is one after the other and it just doesn't stop.

    2. It should only go to the next trigger if the conditions are not met. 

    In most cases of CRM, software would look for a condition to meet and if it does, it will not go through others, but in Zendesk, it seems that it is FIFO and it will not work if your trigger is set at the bottom.

    Any ideas on how to resolve this issue?

    Thanks.

     

     

    0
  • Brandon Tidd
    User Group Leader Community Moderator
    Zendesk Luminary
    The Humblident Award - 2021

    Hey Operator AV-1544 -

    Thanks for writing in.  Triggers do run from top to bottom, with each successful Trigger running 'resetting' and 'rerunning' the entire Trigger set.  The image from the article does a decent job of visualizing this process:

    What I've seen others do in the case of conflicting Triggers is to use conditions such as a tag or "channel is not voice" to prevent other Triggers from firing on your Talk tickets.  Hope this helps!

    Brandon

    1
  • Operator AV-1544

    Hello Brandon

    I have about 25 triggers and each one is set up based on the channels (for example, there is a trigger that says if channel is specific email, route to specific group). 

    Issue I am running into is the trigger for Voicemail which is supposed to go to 1 group only, but this trigger gets fired for tickets for other triggers.  For example, social media trigger is specific and is only for tickets that are coming in from Twitter and Facebook.  Unfortunately, what I have seen is that tickets from Social Media get Voicemail triggers get assigned - this happens where the Social Media trigger gets applied, but then right after that, it goes to the next trigger which is Voicemail and it applies that one so the ticket ends up in the wrong group.  I want to stop that but have not figured out how to do that.

    My social Media trigger is ahead of the voicemail trigger already and configured as below:

    ----

    Must meet - Ticket is created
    Any meet - Channel is Facebook, Twitter, twitter DM
    Action - Assign Form X and group SocialMedia

    ---
    Voicemail Trigger is configured as follow

    Must meet - Ticket is created
    Any meet - Status is new & Channel is Voicemail
    Action - Assign Form X and group Z

    ----

    0
  • Brandon Tidd
    User Group Leader Community Moderator
    Zendesk Luminary
    The Humblident Award - 2021

    Ahh - that makes sense!  For your Voicemail Trigger - you are using 'Any' conditions, which mean only one of the conditions has to be true.  Because your social ticket is created and new, channel is voicemail is disregarded and the Trigger fires.  Moving Channel is Voicemail to Must meet for your Voicemail Trigger should solve for this!

    Brandon

    1
  • Operator AV-1544

    Understood.  Thank you. I have made the changes on it.  Will monitor it.

    0
  • Azure Sun

    Hi Zendesk, I want to add a trigger for those tickets that have no assignee, I wish to add the assignee automatically based on which agent sent a public reply.

    0
  • Brandon Tidd
    User Group Leader Community Moderator
    Zendesk Luminary
    The Humblident Award - 2021

    Hey Azure Sun

    The ALL Conditions you'll need here are:

    Ticket is Updated

    Current User Is (Agent)

    Assignee is -

    Comment is Public

    Action

    Assignee is (Current User)

    *Note: This will prevent an agent from making a public reply while simultaneously assigning the unassigned ticket to another agent (but these actions can be taken sequentially).

    Hope this helps!

    Brandon

    0
  • Chris Connell

    Is there a planned feature to be able to trigger upon account creation?

    0
  • Brett Bowser
    Zendesk Community Manager
    Hey Chris,
     
    AFAIK this isn't something that's planned at this time. I would encourage you to share your feedback in our Feedback - Ticketing System (Support) topic for our product managers to review. 
     
    You can also use this template when creating your post :) 
     
    I hope this helps!
    0
  • Clarice Matt

    I am trying to auto tag tickets for tracking, however when a macro is applied to the ticket, the macro tags are overriding the trigger tag. I need both tags to be added to the ticket. Is this possible?

     

    0

Please sign in to leave a comment.

Powered by Zendesk