Question
Why didn't my ticket reopen with a comment from the end-user?
Answer
When an end-user comments on a pending, solved, or on-hold ticket, the ticket status changes to Open. This is part of the inborn system ticket rules. If an update of a requester does not change the status to Open, it could be one of the causes below.
- A trigger changed the status
- API updated the ticket status using agent credentials to perform the update
- The requester is an agent
A trigger changed the status
A trigger can update the ticket and change the status to Solved. Check the events of the ticket to see what triggers fired on a particular update.
API updated the ticket status using agent credentials to perform the update
If the status is not specified in the API request, then the API call may not update the ticket status to Open. View the events on the ticket and check if the API was used to update the ticket. Updates made using the API show a By Web Service message when viewing the ticket events.
When updating tickets via the API, there are two different ways to do so:
-
The Requests endpoint
This endpoint can be used by authenticated end-users. When you add a comment to a ticket from this endpoint, the ticket automatically reopens because the actor is an end-user.
-
The Tickets endpoint
Only agents or admins are allowed to use the tickets endpoint but can pass in an author_id along with a comment to make it appear to have been sent by an end-user: Author ID.
Because the actor on this endpoint is an agent, the ticket doesn't automatically reopen. To reopen the ticket when using this endpoint, include a "status":"open" attribute with the ticket update request. To confirm that your API call used the Tickets endpoint, check the audits of the ticket:api/v2/tickets/TICKET_ID/audits.json
Check if the audit's author is the same as the comment's author. If they match, then the user listed is the actor. If they do not match as in the example below, the update was made using the tickets endpoint and passing a different author_id in when updating the ticket.
The requester is an agent
It is expected behavior that if a requester replies to a ticket, and is also an agent, the ticket stays in whichever status was selected at the time of their reply. If the requester of the ticket is an agent, make the status change to open with a trigger with the conditions below.
-
- Under Meet ALL of the following conditions, select Add condition:
- Object > Ticket > Ticket | Is | Updated
- Lookup relationship > Requester > Requester | Is | (current user)
- Ticket details > Current user | Is | (agent)
-
Object > Ticket > Ticket status | Not changed to | Solved
- Under Actions:
- Object > Ticket > Ticket status | Open
- Under Meet ALL of the following conditions, select Add condition:
Alternatively, your agents can use the Mail API to pass through the ticket status #open as they reply by email.
For more information, see the article: Admin's guide to the Zendesk API.