
Showing device Information in the customer panel in Zendesk Agent Workspace
The new Device information section in Agent Workspace gives you information about your customers' context right next to a Messaging ticket.
In May's Roundup I wrote about Zendesk's new Device Information section for the Customer Context panel. This new sidebar section, displayed next to Messaging tickets, shows information related to the customers' device to agents.
This information, like operation system, browser type and version is useful information when troubleshooting technical issues.
For example, if you know a certain feature of your app doesn't work on older Android phones, or that your web app requires the use of Chrome instead of Safari, these pieces of information are crucial to detect problems and alert the customer.

How does it work
The device information section is enabled by default for all instances. By default is will show operating system and browser information, and hides IP address and location info from agents.
By toggling the options in Admin Center > Workspaces > Context Panel you can display either or both the IP Address and location to agent if that information is relevant for your agents.

Since you're actively collecting and displaying PII to agents, don't forget to update your privacy policy accordingly! If you want to handle cookies correctly, take a look here.

My thanks for babelforce for sponsoring this month's Internal Note newsletter.
Relevance
The device information context is linked to the end-user and not to the actual ticket. This means that this data will update regularly at each moment the user interacts with your Zendesk instance.
The benefit of having a single datapoint that updates for the user is that you always have the latest information available. If a user has updated their system and replies to the conversation, you can see that new data right next to the ticket.
However be mindful that the data shown can be more recent than the question the customer has asked. If you're handling an older ticket it might be that the customer has already updated their system or moved locations before you reply.
Secondly, since the information shown is linked to the user, you can leverage Messaging Authentication to make sure all tickets a user starts over Messaging are mapped to the same profile.

Exporting the data
Having this data available in the Agent Workspace is useful to resolve tickets easily. But sometimes you also want to access that data outside of Zendesk for reporting purposes.
One way to capture the data is by leveraging Zendesk's' (new) GraphQL API located at https://subdomain.zendesk.com/api/lotus/graphql
By executing a POST
to this endpoint with the payload and variables below, you can get a nice JSON object that contains all the user information shown next to a ticket.
Authentication is done via Basic Authentication: [email protected]/token and a Zendesk API token.
GraphQL Body
query UserDeviceMetadata($id: ID!) {
user(id: $id) {
id
... on Customer {
deviceMetadata {
devicePlatform
id
ipAddress
lastSeen
location {
city
country
countryCode
stateCode
__typename
}
os
osVersion
userAgent
__typename
}
__typename
}
__typename
}
}
Variables
{"id":"24820449367569"} //user id
Returned Data
The returned data contains all the items shown next to tickets, so you can export City, Country, State, IP, OS and much more.
{
"data": {
"user": {
"id": "24820449367569",
"deviceMetadata": {
"devicePlatform": "Macintosh",
"id": "66388e17dde783733a88950c",
"ipAddress": "42.42.42.42",
"lastSeen": "2024-05-06T08:00:44.350Z",
"location": {
"city": "Antwerp",
"country": "Belgium",
"countryCode": "BE",
"stateCode": "VLG",
"__typename": "DeviceMetadataLocation"
},
"os": "macOS",
"osVersion": "14.4.1",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
"__typename": "DeviceMetadata"
},
"__typename": "Customer"
}
},
"extensions": {
"depth": 4,
"potentialNodeCount": 3
}
}
How would you use this?
One way to use this is by leveraging an external tool like Zapier or Made, or your own scripts and setup a webhook listener. Each time a messaging ticket created, use a Zendesk trigger to send the {{ticket.requester.id}}
to your webhook listener.
Once triggers, your external tool can call this API and pull in the users' metadata and store it in a log, BigQuery, Google Sheet or whatever suits your needs to log data.
By sending both the {{ticket.id}}
and {{ticket.requester.id}}
in your webhook trigger, you can even map both those elements in your log for more data.
Conclusion
It's nice to see that Zendesk makes these kinds of information available as both a native feature in the Agent Workspace, as well as available over API for developers and data managers. This way you can leverage these new features immediately, while also integrating them deeper in your flows.
From a feature set I'd love to see these values being made available in triggers and bot flows though. "A customer that complains about your app not working running a version of the operating system that's too old" might be handled via a custom bot answer by setting up a condition "if OS Version < 16", show bot message "This version if your system is not supported, please update!"