Send and Store Survey Responses in Dynamics 365 CRM using Microsoft Forms Pro

By | October 11, 2019

Introduction

In this blog, we will take a look at how we can use Microsoft Forms Pro for survey within Dynamics 365 CRM.

Microsoft Forms Pro allows you to create and send surveys to your customers or employees and collect their valuable feedback about your products or services. With Forms Pro, you can create and distribute surveys and store survey responses in Dynamics 365 CRM along with other Dynamics 365 data.

Earlier we used Voice of the Customer (VoC) which is now being deprecated and the suggested replacement is Microsoft Forms Pro. So in order to send survey we are using Microsoft Forms Pro.

Steps to subscribe Microsoft Forms Pro:

  • Connect to https://formspro.microsoft.com
  • Subscribe for Microsoft Forms Pro. (To demonstrate we have subscribed for a free 30 days trial.)
  • Provide your Office 365 Email ID and click on ‘Submit’ to complete registration.

How to Send Survey and Get Response in CRM using MS Forms

Now let us consider the following scenario:

Send survey email to the contact of resolved Case and track the survey response in Dynamics 365 CRM once it is submitted.

Perquisites:

  • You must have Microsoft Flow License.
  • You must have Microsoft Form License.
  • You must have your 365 License.

Creating Survey:

Steps to create a new survey with Forms Pro:

1. Sign in to Forms Pro with your Office 365 credentials.

2. Under My Forms, select New Survey.

How to Send Survey and Get Response in CRM using MS Forms

3. Select the default survey name, and enter a name for your survey. You can also enter an optional description for it.

How to Send Survey and Get Response in CRM using MS Forms

4. Select Add new to add question to your survey. You can choose ChoiceTextRating, or Date You can also select More (…), and choose RankingLikert, or Net Promoter Score questions.

How to Send Survey and Get Response in CRM using MS Forms

5. Enter the question and its answer options. The survey is saved automatically.

How to Send Survey and Get Response in CRM using MS Forms

6. (Optional)You can make a question mandatory and can also set the visibility of the questions as follows:

How to Send Survey and Get Response in CRM using MS Forms

7. (Optional)To change the order of questions in the survey, select the question and then select the up or down arrows on the right side of each question to move them up or down.

How to Send Survey and Get Response in CRM using MS Forms

Adding Personalised Fields

You can personalize your survey by adding custom data to the questions.

By default, we have just two fields to play with. Those are first name and last name. But more fields can be added as required. Adding, say, ‘case number’ is a simple process.

As mentioned, by default you will only have first name and last name available for personalisation fields. But you can use the personalize option (shown below) to add additional fields as required.

How to Send Survey and Get Response in CRM using MS Forms

You can easily add personalized fields to your question headings, survey title using the simple drop down as shown below:

How to Send Survey and Get Response in CRM using MS Forms

Note: This personalize parameters added above will be populated using Microsoft Flow as shown in below steps so that we can populate dynamic values within our survey.

Microsoft Forms Pro Email Templates

Now, after designing your survey form you can also very much edit the built-in Microsoft Forms Email Templates based on which you will send the survey email.

To edit templates, follow the steps given below:

1. Navigate to Send survey -> Email -> Select the template from the drop down that you want to edit as shown in below screenshot:

How to Send Survey and Get Response in CRM using MS Forms

2. After selecting the template you can very much customize the template body.

You can also copy existing template in order to create your personal template by simply clicking on Save As.

How to Send Survey and Get Response in CRM using MS Forms

3. Next, name the template and click on Save as shown in below screenshot:

How to Send Survey and Get Response in CRM using MS Forms

4. After saving, the template will be shown in the default template drop down list as shown below:

How to Send Survey and Get Response in CRM using MS Forms

Sending Survey

Once the survey created using Microsoft Forms Pro is ready and personalize parameters added to it, our next step is to send the survey. To send survey, follow the steps given below:

1. Select triggering point when the record is updated. Select Cases in Entity Name and statuscode in Attribute Filter Item as shown below:

How to Send Survey and Get Response in CRM using MS Forms

2. After that, check if case is resolved.

How to Send Survey and Get Response in CRM using MS Forms

3. If yes, then get contact details which is associated with the case as shown below:

How to Send Survey and Get Response in CRM using MS Forms

4. After that, select action Send a survey in order to send survey and set attributes using data retrieve from the above steps. Select your survey name in Survey and also select the built in Microsoft Forms Email Template in Email Template based on which your email will be sent out.

How to Send Survey and Get Response in CRM using MS Forms

Note:

  • First name, Last name, Case title, Case number, Case owner attributes in the above screenshot are the personalize parameters created in Microsoft form as mentioned in above steps which we are setting using flow, so that we can set dynamic values within our survey forms.
  • Email Template selected in the above screenchot is the inbuilt Microsoft Form Templates available based on which email will be sent out. For further details see Microsoft Forms Pro Email Templates section.

Given below is the screenshot of survey email received based on the template selected while sending survey:

How to Send Survey and Get Response in CRM using MS Forms

After clicking on Start Survey, survey form will open as shown below:

How to Send Survey and Get Response in CRM using MS Forms

Capturing Survey Response

Now, once the survey response is submitted by the contact regarding case feedback, we will track these responses by creating a Note record related to case for which the survey is sent.

Note: We are creating Note entity record to capture survey response against each case.

Below are the steps to create Note record related to case for which response is received:

1. Select triggering point when a record is created and choose Forms Pro survey responses in Entity Name as shown below. As whenever a survey response is submitted corresponding Forms Pro survey responses entity record is also created for the same.How to Send Survey and Get Response in CRM using MS Forms

Note:

Forms Pro survey responses entity and other forms pro entity is automatically added to the Default Solution of your Dynamics 365 CRM when you configure Microsoft Forms Pro.

 

How to Send Survey and Get Response in CRM using MS Forms

2. Now select an action Get response details and select your survey in Form Id. It contains the response for the questions asked in survey.

How to Send Survey and Get Response in CRM using MS Forms

Formulae: int(triggerBody()?[‘msfp_sourceresponseidentifier’])

3. Now create note related to case for which the response is received and store the response details in it. In our scenario we are capturing response in the description as shown below:

How to Send Survey and Get Response in CRM using MS Forms

Given below is the note created for survey response of resolved case:

How to Send Survey and Get Response in CRM using MS Forms

Conclusion

In this way you can create/send surveys and capture survey responses in Dynamics 365 CRM with the help of Microsoft Forms Pro.

Free 70% of storage space in CRM with Attachment Management Apps!

Attach2Dynamics – Store and manage documents/attachments in cloud storage of your choice – SharePoint, Dropbox or Azure Blob Storage from within Dynamics 365 CRM.
SharePoint Security Sync – Robust and secure solution to integrate Dynamics 365 CRM and SharePoint Security Sync thereby ensuring secure access to confidential documents stored in SharePoint.

4 thoughts on “Send and Store Survey Responses in Dynamics 365 CRM using Microsoft Forms Pro

  1. Ala Chabbouh

    Hello I have an error in Get response details step. I entered the same formula : int(triggerBody()?[‘msfp_sourceresponseidentifier’]) and I have this error:
    Unable to process template language expressions in action ‘Obtenir_les_détails_de_la_réponse’ inputs at line ‘1’ and column ‘1914’: ‘The template language function ‘int’ was invoked with a parameter that is not valid. The value cannot be converted to the target type.’.
    Is there something to change ? Thank your for the answer.
    Best regards,
    Ala CHABBOUH

  2. Inogic

    Looks like you have used the incorrect step. You would have access to [‘msfp_sourceresponseidentifier’]) only if you use the CDS trigger “when a record is created”.

    Looks like you have used the forms trigger “When a new response is submitted”, in that case for the Get REsponse details simply refer the reponse id from the dynamic values.

    Try to use dynamic values most times as it prevents typo mistakes and incorrect references.

    HTH

  3. Parthiban

    Dear @Inogic ,
    Reguarading field value is setting as null when i try above approach .
    I have attached my Sample Json Result , Can you guide

    Thanks ,

    Json Result : Create of Surevey Response Record
    {
    “scheduledstart”: “2020-04-04T08:43:56Z”,
    “scheduleddurationminutes”: 0,
    “msfp_startdate”: “2020-04-04”,
    “statuscode”: 1,
    “_statuscode_label”: “Open”,
    “_msfp_surveyid_value”: “5dbfedc9-3976-ea11-a811-000d3a0a82cb”,
    “_msfp_surveyid_type”: “msfp_surveies”,
    “leftvoicemail”: false,
    “createdon”: “2020-04-04T08:43:56Z”,
    “msfp_sourceresponseidentifier”: “4”,
    “statecode”: 0,
    “_statecode_label”: “Open”,
    “isbilled”: false,
    “subject”: “Please fill the survey: ‘CRM Forms Pro Demo'”,
    “_ownerid_value”: “5b5ed21b-ae37-40e5-8228-f49f79567627”,
    “_ownerid_type”: “systemusers”,
    “modifiedon”: “2020-04-04T08:43:56Z”,
    “prioritycode”: 1,
    “_prioritycode_label”: “Normal”,
    “msfp_submitdate”: “2020-04-04”,
    “msfp_sourcesurveyidentifier”: “MqBZpQu04Ue4iSHJm4eHVCyv5hS6Xb1CjbYxwad0929UNUFMWk1LM0hONlBTRFVURk1UWVBYU1RSRi4u”,
    “timezoneruleversionnumber”: 4,
    “msfp_surveyresponseurl”: “https://forms.office.com/FormsPro/Pages/ResponsePreviewPage.aspx?FormId=MqBZpQu04Ue4iSHJm4eHVCyv5hS6Xb1CjbYxwad0929UNUFMWk1LM0hONlBTRFVURk1UWVBYU1RSRi4u&ResponseId=4”,
    “isregularactivity”: false,
    “ismapiprivate”: false,
    “msfp_embedcontextparameters”: “{\”EmbedContextParameters\”:null,\”PipeData\”:{\”First Name\”:\”Parthiban\”,\”Last Name\”:\”T\”,\”locale\”:\”\”}}”,
    “_modifiedby_value”: “5a7b1cb9-5061-ea11-a811-000d3a0a82cb”,
    “_modifiedby_type”: “systemusers”,
    “actualstart”: “2020-04-04T08:43:56Z”,
    “activitytypecode”: “msfp_surveyresponse”,
    “instancetypecode”: 0,
    “_instancetypecode_label”: “Not Recurring”,
    “msfp_sentiment”: 647390000,
    “_msfp_sentiment_label”: “Positive”,
    “msfp_name”: “4”,
    “isworkflowcreated”: false,
    “_createdby_value”: “5a7b1cb9-5061-ea11-a811-000d3a0a82cb”,
    “_createdby_type”: “systemusers”,
    “deliveryprioritycode”: 1,
    “_deliveryprioritycode_label”: “Normal”,
    “msfp_respondent”: “Parthiban T”,
    “_owningbusinessunit_value”: “100f99d4-d460-ea11-a811-000d3a0a8271”,
    “_owningbusinessunit_type”: “businessunits”,
    “msfp_npsscore”: 10,
    “_msfp_surveyinviteid_value”: “526ebcee-8c1b-4ad5-ba1e-67d451414f5d”,
    “_msfp_surveyinviteid_type”: “msfp_surveyinvites”,
    “msfp_respondentemailaddress”: “parthiban@gmail.com”,
    “activityid”: “5495136b-5076-ea11-a811-000d3a0a82cb”,
    “scheduledend”: “2020-04-04T08:43:56Z”,
    “ItemInternalId”: “5495136b-5076-ea11-a811-000d3a0a82cb”,
    “SdkMessage”: “Create”,
    “RunAsSystemUserId”: “5a7b1cb9-5061-ea11-a811-000d3a0a82cb”,
    “RowVersion”: “1696067”
    }

    1. Inogic

      I tried to replicate the issue at my end and found out why Regarding is not getting set in your MS Flow. It is because you might have missed a comma (,) in the below step:

      MS Flow

      This is a step where we set the Regarding field by using formula – incident,@{triggerOutputs()?[‘body/incidentid’]}. Basically it is incident,Case.

      Hope this helps.
      Thanks!

Comments are closed.