Related sites:

Newsletter: Perspectives on Power Platform

Company: Niiranen Advisory Oy

Voice of the Customer: Conditional Questions

My favorite podcast by far is CRM Audio. In fact, it’s the only podcast I regularly follow, since whenever I put my headphones on, quite often it will be for playing something from Spotify or Mixcloud to keep me from being distracted by people talking around me. Anyway, the podcasts that Joel, George and Shawn record about the latest news from the Dynamics CRM world together with their guest stars always provide some interesting insights that you can’t catch from the blogosphere. If you haven’t subscribed to it yet, I encourage you to give it a go.

In episode 21 of CRM Audio, titled “That’s Not A Survey”, these CRM tipsters explored the brand new Voice of the Customer solution and discussed how to position it in relation to other tools like ClickDimensions Surveys and the likes. As you may have noticed from my previous blog post, I’ve also spent a bit of time playing around with VoC, since I see quite a lot of potential with this XRM based survey engine.

One of the misconceptions around VoC that I’ve come across a few times before was also mentioned in the podcast was about conditional questions in a survey. It’s quite a basic requirement from any more advanced online surveys that the remaining questions should be adapted based on the earlier answers that the user has given. Call it “skip logic” or conditional show/hide, this would be something that a well designed survey would often need to apply, so that it adapts to the customer’s scenario being studied and can branch into different directions if parts of the questions are not relevant in a particular path. The misconception here is that in the Voice of the Customer survey designer UI there doesn’t appear to be a way to define such conditional logic. However, VoC does have this functionality already today.

Being a very recent addition to Microsoft’s portfolio, and having been delayed from the original CRM 2016 release schedule, the features of VoC aren’t very well documented at the moment, nor is there much training material available for instructing users how to get familiar with the tool. The regular readers of Surviving CRM might recall that VoC was actually called Mojo Surveys when MS acquired it one year ago. This means that documentation does exist, but it just hasn’t been remade into Microsoft’s format yet. Here’s a little tip: Google for mojo surveys filetype:pdf and see what you’ll find…

How the “skip logic” is done in VoC surveys is via a feature/entity called Response Routing. Found from the related records menu under a survey record, this is where you can define both the response conditions under which the routing  should take place as well as the response actions that should be carried out when the conditions are met (or not met). A condition would be associated with the response given to a particular question and evaluated via “equal/greater/less” type of operators. Below you see a simple example of a single condition per response routing, but you could also group multiple conditions together via AND/OR operator.


The actions that you can take based on the conditions are split into two categories: client and server. As you may guess, the client side actions are performed during survey runtime, similar to client side scripts on CRM forms. Server actions are not performed until the survey response is submitted into the CRM database (like plugins), at which time it will be too late to affect what questions were presented to the user. So, the most interesting actions will be client side, which allow us to determine show/hide actions for questions or sections of a survey page, skip to a specific page, end the survey or even direct the user to a whole different survey.


In the example of the eXtremeCRM MVP Survey which I published together with my previous post, I added a Response Routing on the page 1 question “are  you attending eXtremeCRM 2016 in Warsaw”:


If the user selects the answer option “Definitely!” then a further set of three questions will be revealed underneath that question on the same page. Similarly, because I also built response actions for the reversed scenario, if they change the answer value and click “I’ll have to skip it” then these additional questions are again hidden in real time on the survey page.


As you can see, VoC does already contain quite nice functionality in the first version that’s been released now. There are many more features to discover, such as piping dynamic data fields into surveys, so let’s hope that Microsoft will publish tutorials that showcase the real potential of these VoC surveys – not to mention the possibilities of what you can do with the response data as it flows into your XRM environment!


One word of warning is in order here: currently there’s a known issue with the Voice of the Customer solution that will break the CRM v8.0 OData feeds (the new OData v4 endpoint) if you install it into your environment. If you then try to build a report with Power BI Desktop and want to use CRM Online as the data source, you may run into an error dialog saying “The field ‘regardingobjectid_msdyn_surveyresponse’ already exists in the record.” Microsoft is aware of this bug and is working on a fix, but if you are relying on Power BI for your production CRM Online reporting, then it’s maybe better not to deploy VoC outside of your sandbox environment just yet.

Speaking of Power BI, to end on a positive note, did you happen to catch the news from last week’s Microsoft Data Insights Summit? If not, then be sure to check out some of the highlights from this Sway presentation where I captured the best #MSDataSummit tweets. Pretty awesome new features coming from the Power BI team that will surely be useful for anyone who wants to do analysis on their CRM data – be it the familiar sales pipeline metrics or the new scenarios like customer satisfaction survey results enabled by the Voice of the Customer XRM solution.


    • Not in this release, no. Maybe somewhere down the line they’ll make the VoC solution as well as the hosted Azure components for the surveys available for also on-premises CRM deployments, but I’d imagine some additional cost to be involved with this service. It’s also good to keep in mind that the VoC survey editing and administration requires an Enterprise license, which is only available for CRM Online at this point (since all the additional stuff is cloud only).

  1. I am now working on a Sales Satisfaction Survey project and I have built the process planning to send out the survey via CRM VOC. I have following 3 questions want to ask and would love hear your inputs:
    1) Task creation: How to create task automatically based on certain survey answers.
    e.g. Do you want to be called back, if select YES, create a call back task automatically in CRM.
    2) Task owner: How to automatically assign task to the owner of the contact record (instead of a queue or delicate person)
    3) How to send out the survey reminder automatically 1 week before the survey close.
    Thanks a lot.

  2. Hi Jukka

    Is it possible to use pictures in the questions? What I mean: Can we show in a question 3 options of answers but use pictures and not text.

    For example: express your feeling by clicking one of the possible pictures –> pictures of winter, summer, etc.

    I cannot find this.

    Thanks for your answer on this one.

    • Mamatha, I don’t think such an extension would be possible to do with the VoC survey pages. You’d probably need to have the OTP validated before directing the customer to the survey page with the unique survey link, so this would all need to be managed in a separate web application.

  3. Hi,
    In this article you have mentioned Rules/Action is Show/Hide.I have tried to use Skip to action in response routing rules.but it’s not working properly.Can you advice me how to do?

  4. Hi,
    I would have some additional information about the solution “Voice of the Customers” (Dynamics 365 online version). I would have information about the real time retrieve of data during the execution of the survey. For example, the first question of a survey talks about the ID card number. When a person reply to the question, I would retrieve real time his personal information (name, surname, born date, …). Is this possible using Javascript? My society is interested on it.

    • Andrea, this is not something that Voice Of The Customer supports. It sounds to me like in this scenario you might be better off looking at deploying Dynamics Portals and having actual user accounts for the customers to log in, rather than a survey form that would pull personal data from your CRM database without authenticating the user. The security issues with the ID card number based approach reminded me of this great article from Troy Hunt: Website enumeration insanity: how our personal data is leaked.

  5. Thanks for your answer. The problem isn’t about security of the fields. It’s only a question about a real time retrieve of data. The survey that I have to create contains a lot of fields about information that we have got on Dynamics 365. When a user inserts the first field, like username, it could be cool and smart retrieving and loading the other fields into the survey. At the moment I think that’s impossible, cause the survey doesn’t support Javascript (or other codes) and, workflow side, there isn’t a real time evaluation of the fields storaged on Azure.

  6. Hi,
    you have mentioned how to write routing rules for single response questions.If i want to write routing rules for multiple response questions,how i can write?

  7. VOC “survey summary” report is giving wrong count and if I go inside question it gives me correct count

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.