Recent searches
No recent searches

Jaïs Pingouroux
Joined Apr 15, 2021
·
Last activity Nov 17, 2022
Following
0
Followers
0
Total activity
60
Votes
13
Subscriptions
22
ACTIVITY OVERVIEW
BADGES
ARTICLES
POSTS
COMMUNITY COMMENTS
ARTICLE COMMENTS
ACTIVITY OVERVIEW
Latest activity by Jaïs Pingouroux
Jaïs Pingouroux created a post,
Hello,
I'm witnessing a display inconvenience with the Assignee field of a ticket. The way this field is shown is inconsistent depending on the length of the group name. Sometimes the name of the group is displayed properly with a / sign between the group and the assignee, sometimes there's no /, sometimes the name is truncated without /. See the following screenshots for examples.
Posted Sep 29, 2022 · Jaïs Pingouroux
0
Followers
6
Votes
4
Comments
Jaïs Pingouroux commented,
Gentle up on that topic, one year later, still no sign of such a simple metrics.
Explore metrics on guide are simply useless...
View comment · Posted Jul 13, 2022 · Jaïs Pingouroux
0
Followers
0
Votes
0
Comments
Jaïs Pingouroux commented,
Hi Tom Dupuche
Thanks for your answer. However, I don't see how the new Team members page solves the issues I've raised.
From what I can see, this page does not allow to manage both the roles AND the effective groups a user belongs to, there's still a lot of navigation back and forth. It just opens the Agent user profile in a new tab, basically.
Am I wrong?
View comment · Posted May 06, 2022 · Jaïs Pingouroux
0
Followers
3
Votes
0
Comments
Jaïs Pingouroux commented,
Hello,
I'm sorry to say that the interaction between Zendesk Support and the new Admin Center is beyond catastrophic...
Here is a typical unfriendly journey I had to take...
1) I'm on Zendesk Support. Suddently, I need to update the permissions of a user. I click on Settings.
2) I have to click on "Go to Admin Center": that's just the most stupid click ever, I already said the interface I wanted to access SETTINGS, so why just don't bring me to Admin Center directly? --> Opens tab 2
3) In tab 2, I have to click People > Team members before I can search for the team member. 2 more useless clicks. Then I click on the team member to access profile --> Opens tab 3 (which looks like my previous Zendesk Support settings page)
4) I now have to click on "Manage in Admin Center" to display this user's right. But maaan, I already was in Admin Center!!!!! --> Opens tab 4, where I can finally set up the permissions.
On which planet does that represent a good user experience?? Are you PM paid by the tab?
Hey, while I'm at it, here's another one for the views...
Steps 1 to 3: as above (click click click, tab, tab)
4) I edit a view. When I'm done, I wanna check it and click on Open. And what happens? It opens the view in the SAME tab, simply ruining steps 1 to 3 (unless I shamefully hit the BACK button on my browser)... The ONLY time I'd like Admin Center to actually open a new tab, is the only time when it doesn't...
Please... do something!
View comment · Posted Mar 14, 2022 · Jaïs Pingouroux
0
Followers
9
Votes
0
Comments
Jaïs Pingouroux commented,
Hello,
Can someone help me understand how you can have a 100% SLA achievement and 2 SLA breached tickets at the same time, as in the example above?
I get this kind of stats quite a lot and fail to understand.
Thanks
View comment · Posted Feb 15, 2022 · Jaïs Pingouroux
0
Followers
0
Votes
0
Comments
Jaïs Pingouroux commented,
Hi Adam,
Yes it's possible to use organization tags instead of name.
The following command displays the whole HelpCenter object in the console:
// Display HelpCenter variable
console.log(HelpCenter);
In this object, "user.organizations" is an array. For each organization, you have access to the "name" and "tags" properties.
As to your second question, this code only works in V1 because you need the JQuery dependency, which is not available in V2. Should you want this code to work in V2, you'd either have to adapt it or inject the JQuery dependence.
View comment · Edited Dec 17, 2021 · Jaïs Pingouroux
0
Followers
1
Vote
0
Comments
Jaïs Pingouroux commented,
Hi John,
May it be that you moved to templating API v2 on which jquery is no longer available?
I'm still using API v1 and it all works fine.
View comment · Edited Nov 15, 2021 · Jaïs Pingouroux
0
Followers
0
Votes
0
Comments
Jaïs Pingouroux commented,
It's actually possible through the combined use of Google Script, the ZD API and Datastudio.
I've written a script to recover tickets from the ZD API, and put them on a Google Spreadsheet.
You can use Gscript triggers to execute your code regularly, and use your GSheet as a datasource for datastudio.
Feel free to adjust and adapt to your own custom ticket fields...
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('ZD stats')
.addItem('Refresh tickets','zd_tickets')
.addToUi();
}
function search_array(my_array, field_id, field_value){
var r = {};
if (typeof(my_array) == "object"){
my_array.forEach(function(e,i){
if (field_id in e && e[field_id] == field_value){
r=e;
}
});
}
return r;
}
function zd_get_incremental_tickets(){
var tickets = [];
var users = [];
var groups = [];
var orgs = [];
var url = "https://XXX.zendesk.com/api/v2/incremental/tickets.json?per_page=1000&start_time=1609459200&include=users,groups,organizations,metric_sets,ticket_forms"; // Replace XXX by your company ZD subdomain
var end_of_stream = false;
while (end_of_stream == false){
var response = UrlFetchApp.fetch(url, {
"headers": {
"Authorization" : "Basic " + Utilities.base64Encode("[ADMINISTRATOR_EMAIL]/token:[PERSONAL_TOKEN]")
}
});
resp = JSON.parse(response.getContentText());
url = resp['next_page'];
end_of_stream = resp['end_of_stream'];
resp['tickets'].forEach(function(e,i){
tickets.push(e);
});
resp['users'].forEach(function(e,i){
users.push(e);
});
resp['groups'].forEach(function(e,i){
groups.push(e);
});
resp['organizations'].forEach(function(e,i){
orgs.push(e);
});
var forms = resp['ticket_forms'];
}
return [tickets, users, groups, orgs, forms];
}
function zd_tickets(){
// Clear sheet and set title
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Tickets"); // Set the spreadsheet name as appropriate
if (sheet != null){
sheet.getRange("A:S").clear(); // Adjust these ranges to the columns you want to display
sheet.getRange("A1:S1").setValues([["Ticket ID", "Creation date", "Assign date", "Assign Time", "Due date", "Solve date", "Status", "Priority", "Type", "SOME_CUSTOM_FIELD1", "Requester Organization", "Group", "Assignee", "SOME_CUSTOM_FIELD2", "Subject", "SOME_CUSTOM_FIELD3", "Satisfaction Rating", "Full Resolution Time", "Ticket form"]]);
}
var row=2;
// Set variables
var incrementals = zd_get_incremental_tickets();
var tickets = incrementals[0];
var users = incrementals[1];
var groups = incrementals[2];
var orgs = incrementals[3];
var forms = incrementals[4];
// Fill Support tickets sheet
tickets.forEach(function(e,i){
if (e['status'] != "deleted"){
var assign_time = "";
if (e['metric_set']['initially_assigned_at']){
assign_time = Math.floor((new Date(e['metric_set']['initially_assigned_at']).getTime() - new Date(e['created_at']).getTime())/(60*1000));
}
var vals = [e['id'],e['created_at'], e['metric_set']['initially_assigned_at'], assign_time, e['due_at'],e['metric_set']['solved_at'],e['status'], e['priority'], e['type'], search_array(e['custom_fields'], "id", "CUSTOM_FIELD_1_ID")["value"],search_array(orgs, "id", e['organization_id'])['name'], search_array(groups, "id", e['group_id'])["name"], search_array(users, "id", e["assignee_id"])["name"], search_array(e['custom_fields'], "id", "CUSTOM_FIELD_2_ID")["value"], e['subject'], search_array(e['custom_fields'], "id", "CUSTOM_FIELD_3_ID")["value"], e["satisfaction_rating"]["score"], e['metric_set']['full_resolution_time_in_minutes']['business'], search_array(forms,"id",e['ticket_form_id'])['name']];
sheet.getRange(row,1,1,19).setValues([vals]);
row +=1;
}
});
// Create a filter
if (sheet.getFilter() !== null){
sheet.getFilter().remove();
}
sheet.getRange(1,1,row,19).activate();
sheet.getRange(1,1,row,19).createFilter();
sheet.getRange('A1').activate();
sheet.getFilter().sort(1, false);
}
View comment · Posted May 05, 2021 · Jaïs Pingouroux
0
Followers
1
Vote
0
Comments
Jaïs Pingouroux created a post,
Hello,
I'd be extremely interested in being able to report on user segments, as we are using these to determine if end-users are customers, partners or internal users.
Thanks!
Posted Apr 12, 2021 · Jaïs Pingouroux
18
Followers
13
Votes
14
Comments
Jaïs Pingouroux commented,
@... SSO is not really a problem, as your organization's tags are still defined in Zendesk (admin>people>organizations). Alternatively you could use your organization's name instead of a tag if it's better for you and if you only have to deal with one single entity.
View comment · Posted Jan 15, 2021 · Jaïs Pingouroux
0
Followers
0
Votes
0
Comments