I want to generate a link in my "CRM" (legacy custom CRM with little options) that will allow a user to access a specific Zendesk profile. The thing is that in the CRM I don't have access to the user ID in Zendesk, and I only have the email and an internal ID (which is the external ID of the Zendesk user).
In order to do this, I wanted to:
- Generate a link to Zendesk similar to "https://[my ZD domain].zendesk.com/[email protected]"
- Use a Zendesk app to get the parameter, search for the user through API and invoke a "routeTo" in the client to open the user profile
I have the app working but have one issue: I can't retrieve the URL params. These are my results:
window.location.href
Result: https://[appID].apps.zdusercontent.com/[appID]/assets/[some ID]/iframe.html?origin=https%3A%2F%2F[my ZD domain].zendesk.com&app_guid=[another ID]
This is not showing the url parameters but the url where the app is hosted
window.top.location.href
Result: No 'Access-Control-Allow-Origin' header is present on the requested resource So a Zendesk CORS error
document.referrer
Result: https://[my ZD domain].zendesk.com/ But no parameters
document.location.ancestorOrigins[0]
Result: https://[my ZD domain].zendesk.com Also no parameters
None of these results provide the parameters in the url and I can't think of other ways to extract them.
So my questions are:
- Is there any way to get the URL parameters from a Zendesk app (can be background, topbar or even sidebar)
- If this is not possible. Is there a way to pass a parameter to https://[my ZD domain].zendesk.com/agent/search/1 to fill the search (worse solution but would use it if the first one is not an option)
Thank you everyone for your help and have a nice day.
You won't be able to access the parent url from an iframe if they are not in the same subdomain. However, depending on your app location, you might be able to access the url parameters using
client.context()https://developer.zendesk.com/api-reference/apps/apps-core-api/client_api/#clientcontextI was able to get them from a custom app running on the nav bar, but not from one running on the top bar.
Otherwise, you can also generate search links (your second option) like this: