Using Messaging Metadata with the Zendesk Web Widget and SDKs

Return to top


  • Allison Sargent

    Hello! Quick question, how is this different from the "Ask for details" step that is currently offered in the Flow Builder UI? 

  • Vishal Khandate

    Is there any way we can update conversation fields when using Web Widget classic? 

  • Federico Costa

    Can i use metadata to assign the email, so i don't need to ask that information to the end user?

  • Raphaël Péguet -

    Federico Costa of course.

    Allison Sargent this is different because ask for details asks the questions to the customer whether here you can populate the answer based on information of your website without asking.


    @Zendesk Can you certify that others metadata than the 4 about authentication (mail, name, external id, status) can be used as variables in the flowbuilder please??


    It would be nice that you add screenshots to reassure people that metadata are shown in the flow builder

  • Oscar Mejias
    Zendesk Customer Care
    Hi Allison -

    The answer type "Ask for details" is the flow builder step that allows your end users to interact with conversation fields. Now, these conversation fields could either be filled out manually by the end-user or they can be pre-filled with metadata through clients API. 

    This is where Using conversation metadata with the Zendesk Web Widget and SDKs comes into play.

    I hope that clarifies!
  • M. Wahab

    Hi thanks for this feature but I faced a problem in displaying tags in existance conversation if the conversation is new then tags and custom field is show but on existence conversation tags and custom fields not show

  • Dane
    Zendesk Engineering
    Hi M. Wahab,
    Are you pertaining to the actual bot builder fields or is it a scenario when there is an existing conversation and the tags and field no longer show for your customers? Can you elaborate further?
  • M. Wahab

    Hello @Dane, originally, we incorporated the Zendesk messaging SDK into our application for live customer support. Currently, there is a need to transmit specific custom data, such as the user's city, to Zendesk chat. Fortunately, we identified the Zendesk metadata feature in the SDK and attempted to send the city as a TAG within the conversation using the following code


    However, in existing chat conversations, the city tag does not appear in the conversation agent panel. Conversely, when initiating a new conversation with the user, the city tag is displayed in the conversation agent panel.

  • Dane
    Zendesk Engineering
    Hi Wahab,
    Based on Messaging Metadata, it will only be added to new conversation or if the end-user have sent a message in existing conversation. Just in case you are experiencing an unexpected behavior, you can contact our support directly for further investigation.
  • I have a scenario where only half of 'our' customers have email addresses. Yes hard to believe but many older folk don't have an email address and prefer to interact over the phone. We are legally bound to provide services via phone.

    We would like to offer customers who don't have email a way to submit a 'callback' request and have their phone number identify their profile in Zendesk when they reach out via messaging so requests (tickets) are created under the same profile.

    Currently I can't find an easy way that this can be done, if at all. The fields we want them to complete when asking for a 'callback' are Name, Phone Number (at present this is a custom field as the standard identifier user phone number 'field' is not accessible in messaging) and Preferred callback time (custom field).

    Funnily enough, if a user exists in Zendesk with ONLY a phone number (direct line), the talk channel correctly ID's the caller with their standard identifier user phone number 'field' each time they call (as long as the caller ID is not blocked), the ticket is created under the same user profile - perfect. Callbacks on the classic widget ID the user via the entered phone number as well.

    However, currently there is no way to reconcile the Phone Number custom field with a user contact phone number (direct line) in Zendesk via messaging.

    Here is a small loom that helps illustrate the issue.

    When the customer completes the phone number field, this is simply a custom field and doesn't identify with the customer real profile in Zendesk (which has a standard identifier phone number 'field') - this results in many end users with the same name and not under the single/same profile. Lot's of searching, merging and not very good for agent efficiency.

    I can't even direct customers to a form on the help centre as you must have an email address to submit a form and even if they entered in a junk address, the same issue would occur with many user profiles created.

    Does anyone know a way to solve this? I'm guessing customers would need to login to our system first (web portal) which is not feasible as we want to offer the widget and contact options to customers without an account with us as well. They could exist in Zendesk but not in our system.

    I see the best way forward is to offer the standard identifier phone number 'field' as an option in the 'Ask for details' step - similar to asking for their email address.

    It looks like this standard identifier can already perform the function of matching a user but it's just not available in messaging, but the email standard identifier is. What's the difference?

  • Dane
    Zendesk Engineering
    Currently, phone number is not supported as well as numeric custom fields. 
    What I did on my end, is to create a custom text field for phone number and have added a specific message on how to enter the correct format.

    Afterwards, I have created a webhook for user update.
    This is the endpoint I used: https://<yoursubdomain>{{}}.json

    I have created a trigger using this endpoint.


    This is the JSON Body:
    "user": {
    "phone": "{{ticket.ticket_field_<Field Key>}}"
    The only issue here is the customer can make mistakes on entering the phone number.
  • Hi Dane

    Many thanks for providing this solution. Really appreciated.

    Unfortunately this doesn't quite solve the problem. In my testing, each messaging 'chat' created a new end user with the same Phone Number under their contact. It doesn't actually create the ticket under the single profile. I think the phone number is added a shared number.

    I think it has something to do with user identities but manipulating a user identity from a webhook is either way too hard for my feeble brain or not possible ;)

    The only solution I can think of is to create a process using the API to search users based on their phone number, if a user is found (already exists) then merge these two profiles together.

    Problem is we'd have to store the user ID somewhere so we can use to execute the merge.

    Thanks for your help though. Would be great to be able to add the user Phone Number 'field/identity' to a messaging bot flow to identify users based on the phone number.

  • Dane
    Zendesk Engineering
    Don't worry Chad. Our Product Team confirmed that it's already in the roadmap for this year.

Please sign in to leave a comment.

Powered by Zendesk