Link authenticated conversation to existing end-user instead of creating new user (Messaging)Planned
Feature Request Summary
We added the web widget to our own web app and set up end-user authentication as described on https://support.zendesk.com/hc/en-us/articles/4411666638746-Authenticating-end-users-in-messaging-for-the-Web-Widget-and-mobile-SDK#topic_njr_qqx_3sb.
Prior to this, we also set up SSO for Guide. So that end-users get automatically created in Zendesk when our customers open our documentation from our web app (so they can submit a ticket and we already know who they are).
Feature request (limitation and missing feature)
When an authenticated end-user starts a (messaging) conversation from the web widget,
then we expect their conversation to be automatically linked to their existing end-user (if they have any),
but the conversation creates a new end-user, who has no external ID and no email address saved on it.
We would like to:
- stop creating duplicate end-users,
- have Zendesk handle the external_id as part of the end-user authentication
The only way to find out the user's identity is to hover over the green mark in the conversation and it shows the external ID that was sent in the JWT.
When querying the end-user using the Users API, there is no external_id saved on that end-user.
This means for each conversation, we have to search if there's an existing end-user, and if there is, merge the new user into the old user. If there's no existing user, we have to look up the external_id in our systems to find their email address, then update the end-user manually to add their email address.
It would be much easier for us:
- if Zendesk searched for existing end-users with the same external ID or email address, and made this end-user the requester, instead of creating a new end-user.
- or, in case no existing user can be found, if Zendesk added the external ID and email address to the end-user that was just created.
I appreciate the email address not being added has been acknowledged as a limitation here: https://support.zendesk.com/hc/en-us/articles/4411666638746#topic_gml_kqx_3sb
I just wanted to highlight that we would like to prevent end-users from getting duplicated, and make sure that end-users have the external ID as expected.
Thank you for providing detailed feedback.
Currently, the external id is surfaced on hover over the authentication badge. We are working on -
- Associating the messaging ticket with an existing user , if the external_id already exists in the system. And create a new user, if the external_id does not exist in the system.
- It will be attached to the external id field in the User object.
Amazing, thank you Prakruti Hindia for the update and for taking the time to post that list. I appreciate it.
Looking forward to this, this will help streamline our operations!
Prakruti Hindia Just to try to understand this correctly.
Once enabled would this also allow us to create end-users with web-widget authentication, with the external id and email submitted with the JWT payload without requiring the additional SSO authentication which is far more complex to implement?
Like, lets say a JWT Payload with the end-user information is passed to Zendesk (including Email and external id), but the user decides to contact us 4 days later down the line via Email, would the information still be visible within Zendesk?
The external_id will need to be encrypted using the shared secret. Assumption is that the end-user has been authenticated by your product / business using SSO or login.
We will be considering the end-user reaching out via messaging with email address and the end-user emailing in as different users now. This is to prevent impersonation. However, we will be able to indicate the end-user as single user and support the experience you described, once we support encrypted email in the future.
When do you think the next function may be published?
- Associating the messaging ticket with an existing user , if the external_id already exists in the system
I think that my request here is the same but just on regular Chat, and we don't use SSO. Someone starts a chat, but that person has previously had an email ticket exchange with me before. Once they enter their email address in the chat window, ZD should recognize this person as an existing user and merge the two, for continuity.
Please sign in to leave a comment.