web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Customer experience | Sales, Customer Insights,...
Suggested Answer

How to see personalized data from variables on Survey Response?

(1) ShareShare
ReportReport
Posted on by

We're using Customer Voice in conjunction with Dynamics 365 and Power Automate to send personalized surveys (using variables) to our customers so that the email invitations and survey invites include the customer's First Name, Last Name and Company Name from their contact record.  That process is working wonderfully, but we're unable to see the data from the personalized variables on the survey responses.  

When a survey response is received, we send a survey response link to the account manager so that they can view the results of each individual survey.  The problem is that, when the account manager opens the link, the variables are only displayed as the placeholder text (such as {{FirstName}}, {{LastName}}, {{CompanyName}}).  We need to be able to pass the personalization into that survey response link so that the account manager can quickly identify who completed the survey.  We experience this same issue when a survey response is viewed from within a Customer Voice Survey Response record in Dynamics 365 (the Survey Response iFrame).  See screenshot for how the response is displayed on the Survey Response record in Dynamics 365.

pastedimage1617639522404v1.png

I have the same question (0)
  • Rik Roy Profile Picture
    on at

    Hi Eric,

    Could you please specify the details of how you are sharing the surveys with your customers.

    In case the surveys are shared anonymously using the "Link" option, the variables are not captured in the response by default. However, by turning the toggle on for the set of variables you want to save by using the "Save Value" column of variables, you can get the variables in the response. Please refer to the 'Participants' section in the below link for more details:

    docs.microsoft.com/.../distribution-settings

  • Community Member Profile Picture
    on at

    Hi Rik,

    Our surveys are sent out by selecting a Notification List (or Marketing List) that's made up of Contacts from Dynamics 365 and running a Flow from there. The Trigger on the flow is for when a Notification List record is selected. The flow then retrieves a List of the Marketing List Members table, and then I use an Apply To Each on that List to get each Contact record and then use the Send a survey action to send the Survey Invitation to the contact's email.  I use attributes from the contact record to personalize the survey invitation. I'll attach screenshots of the flow below (I have some requirement specific conditionals that I'll strip out).

    In this case, the surveys are never sent anonymously, and the "Anonymous Responses" option is toggled off.  The variables are not being captured in the survey - they're being fed from the Contact record. What we're missing is the ability to see those personalized variables in the Survey Responses (either through the Survey Response Link, or in the iFrame on the survey response record).

    pastedimage1617646517172v1.png

    pastedimage1617646789646v5.png
    pastedimage1617646605354v3.png
    pastedimage1617646693741v4.png

  • Rik Roy Profile Picture
    on at

    Hi Eric,

    Thank you for explaining your scenario. For your case, you can create a flow in power automate to retrieve the variable values, since the variables are stored in the "Context Data" field of the Customer Voice Survey Response entity in Dataverse. You can parse the JSON of the context data field to get the required variables. Here are a few sample steps of how you might want to create the flow:

    • Please use "Common Data Service" trigger in power automate for "When a record is created" pastedimage1617699912366v1.png
    • Select the same environment that your Customer Voice project is created and your D365 (The users should have the relevant access to this environment)
    • Select "Customer Voice survey response" for entity namepastedimage1617700074408v2.png
    • You can retrieve the survey variable from "Context Data" field and survey responses from "Details of survey response" field:pastedimage1617700667815v4.png
    • FYI... For the top level Common Data Service trigger "When a record is created", please add a Trigger Condition for the survey you care about. Otherwise your flow could trigger for other surveys.

      The expression should include: @equals(triggerBody()?['msfp_sourcesurveyidentifier'], '<your survey identifier>')

      The survey identifier is found in the URL when you're in the survey designer. It's the long string of characters after "FormId="
    • Also, for parsing the Context Data and Details of Survey Response, please refer to the below schema:
    • Schema for survey variables:

    {

        "type": "object",

        "properties": {

            "EmbedContextParameters": {},

            "PipeData": {

                "type": "object",

                "properties": {

                    "<Survey Variable>": {

                        "type": "string"

                    },

                }

            }

        }

    }

    where you need to replace <Survey variable> with the actual survey variable names. For example:

    {

        "type": "object",

        "properties": {

            "EmbedContextParameters": {},

            "PipeData": {

                "type": "object",

                "properties": {

                    "First Name": {

                        "type": "string"

                    },

                    "Last Name": {

                        "type": "string"

                    },

                    "companyname": {

                        "type": "string"

                    }

                }

            }

        }

    }

    • Schema for details of survey response:

    {

        "type": "array",

        "items": {

            "type": "object",

            "properties": {

                "questionId": {

                    "type": "string"

                },

                "response": {

                    "type": "string"

                }

            },

            "required": [

                "questionId",

                "response"

            ]

        }

    }

  • Community Member Profile Picture
    on at

    Hi Rik,

    Thanks for your response. I've read through most of Megan's posts - she does an excellent job!

    However, I think you're missing my initial question. I understand how to get to the variable data via Context Data field (many thanks to Megan!).  What I don't understand is how the personalized variable data can be passed through to the Survey Response Preview Page?

    When a survey is returned, we have a flow setup to send a link (Survey Response URL) to a handful of people so that they can review the survey response. This is very helpful because the page from the Survey Response URL (which has the root customervoice.microsoft.com/.../ResponsePreviewPage.aspx ) is formatted just like how the survey is presented to the respondent, so readability is great for the end user who we send the link to. Additionally, if a person browses to the Survey Response record in the CRM, there's the same Survey Response preview displayed in an iFrame (see my screenshots in my initial post).  However, what's missing is the personalized variable data.  On the survey response, the variables are being displayed with the variable placeholder name.  This is very critical because, without the personalized information that we embed in the survey, our end users have no context as to who submitted the survey while looking at the survey response.  See below for an example.  This is a survey response that has been returned, and we're viewing this response by looking at the Survey Response URL (msfp_surveyresponseurl) that is created by Customer Voice for each response. The personalized data is not being displayed.

    pastedimage1617716725178v1.png

    Please let me know if I'm unclear in my question.
    Thanks!

  • Suggested answer
    Rik Roy Profile Picture
    on at

    Hi Eric,

    Thanks for your patience and helping me to understand your scenario. Unfortunately, there is no available capability to pass the variables as a part of the Survey Response URL , although we have an item in our backlog to resolve the same. As a workaround, I would suggest to capture and send the "Context Data" field value along with the Survey Response url as a part of the mail that you are sending out to your account managers:

    pastedimage1617721616271v2.png

    That way the user would be able to understand the context of the responses filled. If you have any more questions, please drop a mail to customervoice@microsoft.com and we can quickly get into a call and discuss.

    Thanks

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > Customer experience | Sales, Customer Insights, CRM

#1
Tom_Gioielli Profile Picture

Tom_Gioielli 70 Super User 2025 Season 2

#2
Gerardo Rentería García Profile Picture

Gerardo Rentería Ga... 33 Most Valuable Professional

#3
Daniyal Khaleel Profile Picture

Daniyal Khaleel 32 Most Valuable Professional

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans