Support Tip: How to change the ticket Subject using a trigger

19 Comments

  • Ed McGough

    In regards to getting this to work, what if we only have "Token Access" enabled for our API access?  Is it possible to pass in the token as part of the authentication, or do we need to enable "Password Access" for the API?

    Thanks!

    0
  • Ed McGough

    Actually, I just answered my own question and got this to work following the basic format of authentication using the token.

    username = userEmailAddress/token

    password = tokenValue

    I was able to successfully get this working.  Hope the above helps anyone else trying this.

    1
  • Azhar

    I have provided my admin credential but receiving following error while submitting Test Target in HTTP Target configuration :

    {"error":"Couldn't authenticate you"}




    0
  • Pedro Rodrigues
    Community Moderator

    Hi Azhar, have you tried changing your password, and try again? Does it also fail if you use another admin's credentials? If the problem persists I'd suggest opening a support ticket with Zendesk.

    0
  • Alejandro Colon

    Azhar

    If you have access to the API section in your admin dashboard I would give that a try. 

    You can then use a UN of an admin followed by "/token" for the Username and the API token as the Password.

    It would look something like, "azhar@example.com/token" "verylongapitokenforpassword"

    0
  • Nicole Saunders
    Zendesk Community Team

    Azhar - One of our agents took a look and will be responding to you shortly. However, we removed your screenshots as some of the information was a little risky to post in a public forum and we wanted to protect your account security. 

    0
  • Azhar

    Sorry I didn't  update that Authentication issue gone after re-login. Currently looking solution for something else i.e. I was able to update the ticket subject using trigger and API call but using the same configuration, I was not able to update custom field.

    Wanted to know how to update a custom field using same API call and trigger.

     

    Expression used in JSON body of the trigger :

    {"ticket": {"subject": "Subject changed for Mr. {{ticket.requester.first_name}}"}} --> It was successful

    {"ticket": {"subject": "{{ticket.ticket_field_360042501834}}"}} --> It was successful

    {"ticket": {"subject": "{{ticket.ticket_field_option_title_360042588434}}"}} --> It was successful

    {"ticket": {"customField:custom_field_360042588434": "Chat"}} --> It was UNSUCCESSFUL

    {"ticket": {"ticket_field_option_title_360042588434": "Press"}} -> It was UNSUCCESSFUL

    0
  • Sergei
    Zendesk team member

    Hi Azhar,

    You can update ticket fields using the following syntax (https://developer.zendesk.com/rest_api/docs/support/tickets#setting-custom-field-values) -

    {"ticket": {"custom_fields": [{ "id": ticket_field_id_here, "value": "some_value" }]}}

    Hope this helps. Our API documentation can answer most of your API related questions, so give that a go.

    1
  • Azhar

    Thanks Sergei. It worked.. :)

    0
  • Azhar

    Hi Sergie,

    What I noticed recently is that whenever I am trying to set custom ticket field with the above mentioned JSON expression,  it is updating fine for a single word value but not working for multiple word value.

    Could you please help on this?

    E.g. :

    {"ticket": {"custom_fields": [{ "id": 360042537054, "value": "Careers" }]}}  --> Working Fine

    {"ticket": {"custom_fields": [{ "id": 360042537054, "value": "Product Feedback or Questions" }]}}  --> Not working fine

    0
  • Renato Milan dos Santos

    Hi, everyone!

    Here I share the way I came up with the solution to, for example, remove all single quotes (') from ticket title using Liquid:

    {% assign ticketTitle = ticket.title | remove:"'" %}
    {
    "ticket": {
    "subject": "{{ ticketTitle }}"
    }
    }

    I hope it can help someone with same need I had.

    Best wishes,

    Renato

    0
  • Qumulo Inc

    This is a not a great work around IMHO, but thanks for suggesting it.  When will we get a real trigger to modify the subject of existing tickets at Update or at Create time? 

    1. There risk is Admin Bob set this up using his account, and every time his password expires , this will *break*.  
    2. If a service account is used for this work around, you must pay for that license to fill this feature gap (OUCH!) 
    3. If the Trigger leveraging the Extension/Target is configured incorrectly any updates from an agent that use the trigger will come from the account tied to the credentials used for the extension/target.  

     

    0
  • Alejandro Colon

    Qumulo Inc

    I totally understand what you are saying. 

    That being said, I believe that your first point can be remedied by using a token instead of a password. 

    Here is a link to the documentation on that. https://developer.zendesk.com/rest_api/docs/support/introduction#api-token

    This would also mean that you "could" avoid getting a service account in this case.

    Again I totally understand what you are saying but I wanted to let you know that there were some workarounds to the workaround. ;)

    0
  • Juan Gomez

    I need some help with this one. we can't seem to be able to get the extension to actually go through. has there been a change to this by chance?

    0
  • Brett Bowser
    Zendesk Community Team

    Hey Juan,

    Any chance you could provide a screenshot of the target/extension you've set up so we can take a look? Feel free to omit your subdomain or any other information :)

    Let me know!

    0
  • Bruno Marcandella

    Hello Brett

    I'm interested by your method,

    I would like to set a custom field instead of the subject

    If it's possible, what should i wirte instead of subject in then JSON expression :

    {"ticket": {"subject": "Your text goes here"}}

    Thanks !

    0
  • Sergei
    Zendesk team member

    Hu Bruno,

    Wanted to share this handy article, that will demonstrate what you are after: https://develop.zendesk.com/hc/en-us/articles/360059146153#setting-custom-field-values

    You can use this syntax, in particular:

    {
    "ticket": {
    "subject": "Hello",
    "comment": { "body": "Some question" },
    "custom_fields": [{ "id": 34, "value": "I need help!" }]
    }
    }

    Note, that if you will not pass Subject attribute/value combination at the time of creating a ticket, system will take some text from your Comment attribute and use that as a subject.

    0
  • Lou

    Great tip. I actually used it to append to the ticket subject. This allows us to add a customer ticket # to the subject from a ticket field automatically to stop email loops.

    If anyone is interested, here's the JSON:

    {"ticket": {"subject": "{{ticket.title}} [{{ticket.ticket_field_360042479912}}]"}}

    0
  • Devan - Community Manager
    Zendesk Community Team

    Hello Lou,

    Glad this tip helped you out! Also, thanks for sharing with the community your tip on our tip! :D

    Best regards.

    0

Please sign in to leave a comment.

Powered by Zendesk