Post internal comment with trigger

Answered

21 Comments

  • Official comment
    Nicole Saunders
    Zendesk Community Manager

    Please note, this workflow is not recommended or supported as errors are likely to occur when the ticket is being updated by triggers and the API simultaneously. When this happens, it is called a race condition. Triggers are used to explain this issue below, but the same principles apply to automations.

    Every time a ticket is created or updated, all of your triggers run in a cycle against that ticket. A trigger will fire and update the ticket if its conditions are met during the cycle. A cycle is the entire process of a ticket being checked against all your triggers.

    When a trigger updates a ticket using our API, the update occurs at some indeterminate point in the cycle. Results can vary based on when the ticket update occurs in the cycle. The ticket update can affect whether other triggers fire.

  • Andreas Schuster

    Hi @...,

    There is a workaround where you can update Zendesk itself.

     

    Trigger

    I can only advise you to set up this Trigger on ticket creation, or work with tags so that you can ensure it only fires once with ticket update. (worst case is a loop which spams your ticket with internal notes)

     

    URL Target (Extension)

    https://XXX.zendesk.com/api/v2/tickets/{{ticket.id}}.json?ticket[comment][public]=false

    Let me know if this works for you.

    Cheers,

    2
  • Hege Solheim

    Thank you, that worked perfectly! 

    0
  • Justin Federico

    Exactly what I was looking for. Thank you for this!

    0
  • Jem

    i got stuck in the spam loop - any ideas on how to stop this?

    0
  • Justin Federico

    @...

    Does your trigger fire on creation or on update? If on update, you need another action on the trigger that will add a tag or set a field value on the ticket. You will also need to add that tag/value as a trigger condition that will prevent the trigger from firing if the tag/value exists.

    0
  • Jem

    @...

    Thank you, I tried it on both but in a loop. Slightly confused. If  I set a tag to fire the trigger, do you mean on that same trigger I would also have to set another 'is not x tag' condition?

    I've managed to work around it at the moment by setting the trigger on tickets that are changed from New, but if you have a screenshot that would be much appreciated!

    0
  • Dawn Anderson

    This is a pretty cool trick!

    Just so I'm reading it right, I only need to amend where it's XXXX below with my Zendesk domain?

    https://XXX.zendesk.com/api/v2/tickets/{{ticket.id}}.json?ticket[comment][public]=false

    0
  • Justin Federico

    If using tags, You have one tag that will fire the trigger and you will need a second tag that prevents it from continually firing. The trigger should add that second tag in its actions.

     

    0
  • Jem

    Thank you superstar! @...

    @... it worked for me by creating a http target and inserting the following: https://XXXXX.zendesk.com/api/v2/tickets/{{ticket.id}}.json

     

    0
  • Justin Federico

    @... You're Welcome. Happy to help!

    @... Correct. You only need to add your domain.

    This part of the API call is required to make the comment internal but not required otherwise.

    ?ticket[comment][public]=false

     

    0
  • Bobby Koch

    can we do this with webhooks now?

    0
  • Dave Dyson
    Zendesk Community Manager
    0
  • Jessica Knöfler

    Justin Federico Andreas Schuster

    @...

    I am also in the process of implementing this in our company. I have already created the trigger so that these tickets are tagged. Now I am not sure where exactly I can set up the URL target (extension). First I tried it via an automation, but I didn't find the possibility to enter the URL target. I would be very grateful for any feedback from you. Thank you! 

    0
  • Robert Cwicinski

    Hi Jessica Knöfler

    this changed recently. It's not called "Extension" anymore. You can find it now under the "Webhooks" section within Zendesk administration. 
    Feel free to ping me directly if you need help here. 

    Best,
    Robert

    0
  • Justin Federico

    Hello Jessica Knöfler

    Thanks, Robert Robert Cwicinski

    HTTP targets have been replaced by Webhooks but since the flow described above uses a URL Target you can still follow the process as written.

    I assume that a Webhook could be used as well but I am still using the URL Target. Either way, you would need to apply the "Notify Target" or "Notify active webhook" action to your Trigger.

    0
  • Jessica Knöfler

    Hi Robert Cwicinski and Justin Federico Thank you so much for your help. I have already set a trigger so that the affected tickets receive a certain tag. Now I cannot find a way to enter the desired internal note. When creating a URL-target or webhook, there is no input field for that. I might doing something wrong. Maybe you have a step by step guide? That would be great. Glad to hear from you again. Thanks!

    0
  • Jessica Knöfler

    Robert Cwicinski Justin Federico

    Thanks again for your help. Now the URL target with the domain in the link is set as described above. The trigger is also active, in that I have stored various keywords for which the trigger should take effect. Then a tag will be set and additionally a topic. Of course, I have also applied the "Notify Target" action to my trigger. However, no internal note is stored for any ticket. In the meantime, the URL target has automatically deactivated itself after a few days. Do you have any hint what the problem could be? Thank you. 

    0
  • Justin Federico

    The target will be deactivated if there are too many errors. Do you see any target failures under Zendesk API?

    0
  • leomedalla1986

    Would this be applicable if we need to remind the agents to select /require a certain ticket field before updating the ticket status to on-hold?

    0
  • Gab Guinto
    Zendesk Customer Care
    Hi Leo,

    Yes, you can implement a similar workaround for that. In your conditions, you can have the trigger check if a field value is not present when the status is changed to On-hold, and then have the trigger notify the webhook/target to post an internal comment.
    0

Please sign in to leave a comment.

Powered by Zendesk