Vor Kurzem aufgerufene Suchen
Keine vor kurzem aufgerufene Suchen

Andrew English
Beigetreten 23. Apr. 2024
·
Letzte Aktivität 27. Dez. 2024
Folge ich
0
Follower
0
Gesamtaktivitäten
10
Stimmen
2
Abonnements
2
AKTIVITÄTSÜBERSICHT
BADGES
BEITRÄGE
POSTS
COMMUNITY-KOMMENTARE
BEITRAGSKOMMENTARE
AKTIVITÄTSÜBERSICHT
Neueste Aktivität von Andrew English
Andrew English hat einen Kommentar hinterlassen
Hi James Peterson - Eastern Logic
Thank you for taking the time to help me on this. I really appreciate it!
Emily Reidy perhaps this could be added as a new workflow for customers with theme Copenhagen 4.2?
I have tested this locally and it is working as expected for my 3 forms and their respective organisations. Now, I'm focusing on some of the aesthetics. A user has to select a dropdown despite the fact there will only ever be 1 option for their organisation. I did see a user with a similar issue in an old post somewhere, so I will try to implement that too.
Once again, thank you for your help James.
Kommentar anzeigen · Gepostet 27. Dez. 2024 · Andrew English
0
Follower
0
Stimmen
0
Kommentare
Andrew English hat einen Post erstellt
I'm aware there is an article on this issue but it is outdated for our theme version (Copenhagen 4.2.3). We have never changed our theme and this is the standard theme out of the box.
I was speaking to a Zendesk support agent on this issue who stated that the workflow I included in the link above will not work as our theme version requires React to hide the forms.
What I am looking to achieve is the following;
I have 3 ticket forms. Form A, Form C & Form F. Form A is the generic ticket form all our customers. Forms C & F are specific forms for 2 SLA customers we have. When customers log into their portal to raise tickets, we want the correct form to display based on that customer's organisation.
It would be great if someone could help me on achieving this but I also think this should be a standard feature provided by Zendesk and I'm very surprised a feature like this does not exist as standard.
Gepostet 19. Dez. 2024 · Andrew English
2
Follower
4
Stimmen
5
Kommentare
Andrew English hat einen Post erstellt
I have a trigger set up that will send an email via a target to a slack channel when a specific tag is added to the ticket. The premise of this trigger is to notify account managers when their customers ask for a new feature. The integration is working as expected and updating the slack channel but I am having some difficulty with the inclusion of internal (private) notes.
The trigger includes placeholders such as ticket id, org name and the ticket url. But I also want it to include an internal note left by one of our support agents that briefly outlines the customer feature request, so that our account managers can see exactly what the request is without reading through the whole ticket.
As far as I can tell, there is no internal comment placeholder so I tried to use some liquid markup to fix this but I've had no luck. Any suggestions or amendments welcome.
{{ticket.follower_names}},
Ticket {{ticket.id}} from {{ticket.organization.name}} has a feature request.
The details of the feature request are as follows:
{% for comment in ticket.comments %}
{% if comment.is_public == false %}
{{ comment.value}}
{% endif %}
{% endfor %}
View the ticket here:
https://{{ticket.url}}
Gepostet 16. Mai 2024 · Andrew English
1
Follower
3
Stimmen
1
Kommentar
Andrew English hat einen Kommentar hinterlassen
Hi Ned,
Thanks for the response. Your amendment has helped me.
I've also added pagination.
Kommentar anzeigen · Gepostet 24. Apr. 2024 · Andrew English
0
Follower
0
Stimmen
0
Kommentare
Andrew English hat einen Kommentar hinterlassen
After playing around with this further, I may have spotted the issue. if ticket['group_id'] == 6177821616923:
return ticket_id
import requests
from datetime import datetime
# Constants
AUTH = 'andrew.english@coinmetrics.io/token', ''
HEADERS = {"Content-Type": "application/json"}
def cse_tickets(ticket_id):
url = f"https://coinmetricshelp.zendesk.com/api/v2/tickets/"
response = requests.get(url, auth=AUTH, headers=HEADERS)
if response.status_code == 200:
data = response.json()
tickets = data.get('tickets')
for ticket in tickets:
if ticket['group_id'] == 6177821616923:
return ticket_id
else:
return None
However, I encountered another issue. I only want tickets that are part of group id 6177821616923
. It is including tickets that are not part of this group. Is the logic correct?
Kommentar anzeigen · Gepostet 23. Apr. 2024 · Andrew English
0
Follower
0
Stimmen
0
Kommentare
Andrew English hat einen Post erstellt
I am trying to write a script that will outputs the following:
if group_id == 6177821616923
output ticket_id, created_at, reply_time_in_minutes, on_hold_time_in_minutes
What's happening is that each time my script outputs, it outputs the same ticket ID for each iteration. I am sure this is something small. I am trying to map these API's together based on the ticket ID. Open to suggestions on how to make this better and more efficient.
import requests
# Constants
AUTH = 'andrew.e@coinmetrics.io/token', 'my_key'
HEADERS = {"Content-Type": "application/json"}
def cse_tickets(ticket_id):
url = "https://coinmetricshelp.zendesk.com/api/v2/tickets/"
response = requests.get(url, auth=AUTH, headers=HEADERS)
if response.status_code == 200:
data = response.json()
tickets = data.get('tickets')
for ticket in tickets:
if ticket['group_id'] == 6177821616923:
ticket_id = ticket.get('id')
return ticket_id
else:
return None
def first_response_time():
url = "https://coinmetricshelp.zendesk.com/api/v2/ticket_metrics"
response = requests.get(url, auth=AUTH, headers=HEADERS)
if response.status_code == 200:
data = response.json()
tickets = data.get('ticket_metrics')
for ticket in tickets:
ticket_id = ticket.get('ticket_id')
created_at = ticket.get('created_at')
first_reply = ticket.get("reply_time_in_minutes")['calendar']
on_hold = ticket.get("on_hold_time_in_minutes")['calendar']
cse = cse_tickets(ticket_id)
print(f"Ticket ID: {cse} Created At: {created_at} First Reply: {first_reply}")
first_response_time()
An example of the output is below:
Ticket ID: 534 Created At: 2024-04-22T13:06:12Z First Reply: None
Ticket ID: 534 Created At: 2024-04-19T13:36:18Z First Reply: 0
Ticket ID: 534 Created At: 2024-04-19T13:12:33Z First Reply: 0
Ticket ID: 534 Created At: 2024-04-17T13:04:42Z First Reply: 1
Ticket ID: 534 Created At: 2024-04-17T12:27:31Z First Reply: 1197
Gepostet 23. Apr. 2024 · Andrew English
0
Follower
2
Stimmen
3
Kommentare