Recent searches
No recent searches

Kevin Ford
Joined Apr 15, 2021
·
Last activity Jun 29, 2022
Following
0
Followers
0
Total activity
20
Votes
10
Subscriptions
0
ACTIVITY OVERVIEW
BADGES
ARTICLES
POSTS
COMMUNITY COMMENTS
ARTICLE COMMENTS
ACTIVITY OVERVIEW
Latest activity by Kevin Ford
Kevin Ford commented,
Hi Carmelo Rigatuso,
Unless Zendesk adds some new functionality, the only way you're going to be able to populate a ticket field is to have your internal system use the Zendesk API to update the field outside of sending the response.
KF
View comment · Posted Dec 03, 2021 · Kevin Ford
0
Followers
0
Votes
0
Comments
Kevin Ford commented,
@... there is a way using the API but it's not built into Zendesk.
View comment · Posted Dec 03, 2020 · Kevin Ford
0
Followers
0
Votes
0
Comments
Kevin Ford commented,
@... yes, but you have to manually set the requester to the appropriate person.
View comment · Posted Dec 03, 2020 · Kevin Ford
0
Followers
0
Votes
0
Comments
Kevin Ford commented,
@... I've actually stopped using my solution above. Now that Zendesk has rolled out side conversation tickets, it's actually a much better solution. It's not perfect for this use case, but it's definitely an improvement.
View comment · Posted Nov 17, 2020 · Kevin Ford
0
Followers
0
Votes
0
Comments
Kevin Ford commented,
I'll chime in as well. Our users also cross share documents like XML config files.
View comment · Posted Oct 16, 2020 · Kevin Ford
0
Followers
1
Vote
0
Comments
Kevin Ford commented,
Hi Brett,
I posted this in User Tips and Best Practices even though it isn't a best practice!
KF
View comment · Posted Mar 10, 2020 · Kevin Ford
0
Followers
0
Votes
0
Comments
Kevin Ford created a post,
Often, a requester will request something within an existing ticket. I cobbled something together that allows you to create a new ticket and copy CCs/followers. Be warned, this isn't trivial and you're going outside the realm of what Zendesk considers best practice.
You're going to create a ticket via the API and trigger this by notifying an external target. So, to start, create an external HTTP target. For the URL, use https://YOURDOMAIN.zendesk.com/api/v2/tickets.json but replace YOURDOMAIN with your actual domain. Method is POST. Content type is JSON. Enable basic authentication and put in valid credentials.
Now, you need to build your user interface. I used ticket fields with conditions.
Drop all of those on your form(s). I set a condition to hide all of the fields when Split Ticket? is unchecked. I also require Subject and Description. Note that if you don't have conditional fields, requiring those fields might be problematic. If you leave them as optional you MUST fill out the description otherwise ticket creation will fail.
Next, create your trigger. These are the conditions I set:
And these are the actions:
Note you want the target to be your ticket creation target. The JSON/Liquid is kind of complex, so here is what I wrote. Note: you MUST change the ticket field ID number (the 360036041113 in {{ticket.ticket_field_360036041113}} to match the ID numbers of your unique fields. Sorry, it's horrible to read. I would suggest pasting it into your favorite text editor to help.
Anyway, that's working for us now. Let me know if you have questions.
Posted Mar 10, 2020 · Kevin Ford
0
Followers
11
Votes
11
Comments
Kevin Ford commented,
Now that Split 'n' Close is a paid app and I didn't feel like paying $1800 a year for the functionality, I cobbled something together that replicates the functionality that we need. It could be expanded to more closely replicate split 'n' close but I'll leave that to you. Be warned, this isn't trivial and you're going outside the realm of what Zendesk considers best practice.
You're going to create a ticket via the API and trigger this by notifying an external target. So, to start, create an external HTTP target. For the URL, use https://YOURDOMAIN.zendesk.com/api/v2/tickets.json but replace YOURDOMAIN with your actual domain. Method is POST. Content type is JSON. Enable basic authentication and put in valid credentials.
Now, you need to build your user interface. I used ticket fields with conditions.
Drop all of those on your form(s). I set a condition to hide all of the fields when Split Ticket? is unchecked. I also require Subject and Description. Note that if you don't have conditional fields, requiring those fields might be problematic. If you leave them as optional you MUST fill out the description otherwise ticket creation will fail.
Next, create your trigger. These are the conditions I set:
And these are the actions:
Note you want the target to be your ticket creation target. The JSON/Liquid is kind of complex, so here is what I wrote. Note: you MUST change the ticket field ID number (the SubjectIdNum in {{ticket.ticket_field_SubjectIdNum}} to match the ID numbers of your unique fields. Sorry, it's horrible to read.
{
"ticket": {
{% comment %} Set subject to Subject ticket field on parent. Change long number to match actual subject field number. {% endcomment %}
"subject": "{{ticket.ticket_field_SubjectIdNum}}",
{% comment %} Set requester to match parent requester. {% endcomment %}
"requester_id": "{{ticket.requester.id}}",
{% comment %} Set assignee to match parent assignee. {% endcomment %}
"assignee_id": "{{ticket.assignee.id}}",
{% comment %} If copy CCs is checked, add them to the child ticket. Change long number to match actual copy CCs field number. {% endcomment %}
{% if ticket.ticket_field_CopyCcsIdNum contains 1 %}
{% comment %} The for loop iterates over all of the CCs and adds them. The if inhibits a trailing comma. {% endcomment %}
"collaborator_ids": [{% for cc in ticket.ccs %}{{cc.id}}{% if forloop.last %}{% break %}{% else %}, {% endif %} {% endfor %}],
{% endif %}
{% comment %} If copy followers is checked, add them to the child ticket. Change long number to match actual copy followers field number. {% endcomment %}
{% if ticket.ticket_field_CopyFollowersIdNum contains 1 %}
{% comment %} The for loop iterates over all of the followers and adds them. The if inhibits a trailing comma. {% endcomment %}
"additional_collaborators": [{% for cc in ticket.followers %}{{cc.id}}{% if forloop.last %}{% break %}{% else %}, {% endif %} {% endfor %}],
{% endif %}
"comment": {
{% comment %} Set first comment to Description ticket field on parent and add a link to parent ticket. Change long number to match actual field number. {% endcomment %}
"body": "{{ticket.ticket_field_DescriptionIdNum}}\n\nThis request originated in ticket #{{ticket.id}}.",
{% comment %} If public is checked, the comment on the child will be public. Change long number to match actual public field number. {% endcomment %}
"public": {% if ticket.ticket_field_PublicIdNum contains 1 %} true {% else %} false {% endif %},
"author_id": "{{ticket.assignee.id}}"
}
}
}
Anyway, that's working for us now. Let me know if you have questions.
View comment · Posted Mar 09, 2020 · Kevin Ford
0
Followers
0
Votes
0
Comments
Kevin Ford commented,
As an example of a workflow that could make use of custom statuses, we offer remote, billable support. We also offer on site service visits. In both cases, we use the ticket to track work. Typically, this involves a technician working to solve the technical issue and an administrator coming in afterwards to handle invoicing and other duties.
I would love for the technician to be able to have Problem Solved status and then leave the Solved for the administrator. We've tried having the techs solve the issue and leave the ticket solved for the duration of administrative cleanup but the forced 28 day closing of the ticket sometimes presents a challenge due to trailing expenses.
View comment · Posted Mar 05, 2019 · Kevin Ford
0
Followers
0
Votes
0
Comments
Kevin Ford commented,
You can kind of implement this functionality on your own but it's not the most elegant. I added a checkbox ticket field called Pause. The tag for this is "paused." For us, this is paired with another ticket field that is a date field cause Pause Until.
I put in an automation that will remove the pause when the date is reached (date is within previous x days).
Modify your SLA to exclude tickets that have the paused tag. This will keep things from breaching. Unfortunately, the clock keeps ticking because the SLA policy looks as the last public reply that may be weeks or months ago. In other words, this delays the SLA breach until the automation removes the pause.
To fix this, when the automation fires, the automation makes a public reply before removing the pause. Zendesk does not allow you to make a comment on a ticket via automation. To do this, I use an HTTP target extension and have the automation notify the target.
The unfortunate thing about this is this is making a public reply. You can suppress sending this to the requester by modifying the notify requester and CCs trigger that there is a comment update. Then, go back and retroactively make the reply an internal note with a trigger so it can't be seen in the help center.
The JSON body for the automation looks like this:
{"ticket": {
"comment": {
"body": "WHATEVER TEXT YOU WANT THE PUBLIC COMMENT TO SAY",
"public": true
}
}
}
The extension/target looks like this:
URL: https://YOURSUBDOMAIN.zendesk.com/api/v2/tickets/{{ticket.id}}.json
Method: PUT
Content type: JSON
Basic authentication: enabled and type in your username and password.
View comment · Posted Jan 08, 2019 · Kevin Ford
0
Followers
2
Votes
0
Comments