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.
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.
3. Select the default survey name, and enter a name for your survey. You can also enter an optional description for it.
4. Select Add new to add question to your survey. You can choose Choice, Text, Rating, or Date You can also select More (…), and choose Ranking, Likert, or Net Promoter Score questions.
5. Enter the question and its answer options. The survey is saved automatically.
6. (Optional)You can make a question mandatory and can also set the visibility of the questions as follows:
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.
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.
You can easily add personalized fields to your question headings, survey title using the simple drop down as shown below:
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:
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.
3. Next, name the template and click on Save as shown in below screenshot:
4. After saving, the template will be shown in the default template drop down list as shown below:
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:
2. After that, check if case is resolved.
3. If yes, then get contact details which is associated with the case as shown below:
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.
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:
After clicking on Start Survey, survey form will open as shown below:
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.
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.
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.
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:
Given below is the note created for survey response of resolved case:
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.
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
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
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”
}
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:
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!