About triggers and how they work

Return to top

46 Comments

  • 米att McLean
    Community Moderator

    米oe,

    Those 2 look logically equivalent to me.

    使用的好处”至少包含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
  • 米att McLean
    Community Moderator

    米oe,

    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 thatat least oneof 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 ((ALL1ANDALL2ANDALL3AND…)AND(ANY1ORANY2ORANY3OR…))
    ReturnTRUE
    ELSE
    ReturnFALSE

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

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

    1
  • Brandon Tidd
    User Group Leader Community Moderator
    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
  • Dan Ross
    Community Moderator

    Hey Eric,

    Triggers will be checkedeverytime 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

    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
  • Brandon Tidd
    User Group Leader Community Moderator
    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
  • PAUL STRAUSS

    Can anyone think of a reason that a newly-created Text field would only allow "Present" and "Not Present" as the values for a trigger condition? I need to be able to set the trigger condition based on the value stored in the field, not just whether it exists or not.

    这是驾驶我疯了:

    1
  • Jonathan March
    Community Moderator

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

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

    HeyRebecca Katz,

    The Triggers will run from top to bottom regardless of category (1A,1B,2A,2B). This is why I recommend using the SANE method featuredin this post. Hope this helps!

    Brandon

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

    米y first thought was to do it like this:

    • Add a tag to these tickets to indicate that this hasn't had the first reply
    • 米odify 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
    The Humblident Award - 2021

    HeyOperator 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
  • Heather Rommel
    Community Moderator
    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, 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
  • Gabriel
    Zendesk Customer Care
    Hey Marc,

    I hope all is well. Thinking about the scenario that you have described, if the ticket meets the condition of multiple triggers, all the triggers will fire. Note that every time a ticket is created or updated, all of your triggersrunin a cycle against that ticketin the order the triggers are listed. However, I must add a personal note here and say that the best practice would be not to rely upon the order that the triggers are fired. Consider adding more conditions and make each trigger unique for each routing in this case. To help you, please check the list oftrigger conditions and actions.

    I hope this helps!

    0
  • Dainne Lucena
    Zendesk Customer Care

    HiPAUL STRAUSS,

    For custom text ticket fields, it is expected that it would only show options "present" & "not present" for trigger conditions. More information can be found here:Using custom ticket fields in business rules and views

    0
  • 米ike Jones

    Does anyone know how "greater than" works in the context of setting a trigger condition using the Status field? If i set it asStatus Greater than On-Holdwill it work for both the Solved and Closed statuses?

    0
  • Rebecca Katz

    Perfect thank you again!

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

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

    ----

    米ust 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

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

    ----

    0
  • Operator AV-1544

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

    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 ourFeedback - Ticketing System (Support)topic for our product managers to review.

    You can also use thistemplatewhen creating your post :)

    I hope this helps!
    0
  • Brandon Tidd
    User Group Leader Community Moderator
    The Humblident Award - 2021

    HeyAzure 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
  • 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
  • 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
  • Dave Dyson

    Hi Sadie,

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

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

    0
  • 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
  • Allen Lai | Head of CX, Otter.ai

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

    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

Pleasesign into leave a comment.

Powered by Zendesk