Sonoma Partners Microsoft CRM and Salesforce Blog

How to Build Interactive Dashboards in Dynamics CRM

Today's post was written by Nick Costanzo, Principal Consultant at Sonoma Partners.

By now, most organizations using Dynamics CRM for service management have become familiar with the Interactive Service Hub which includes built in dashboards for Tier 1 &  Tier 2 support, as well as Knowledge Managers.

However, if you’re in a different roll, such as an account manager, there are no pre-built dashboards at your disposal.  Fortunately, CRM allows the creation of additional interactive dashboards to meet the needs of all CRM users, and provide them with actionable data. Some common requests we hear include:

  1. Show me critical cases for my account
  2. Highlight the last date me or someone from my team contacted my account
  3. I need to categorize my accounts by priority

Here are a few simple steps to satisfy these requests:

  1. Create a new interactive account dashboard.


  2. Select a multi-stream dashboard with 3 column layout.

    3 column layout

  3. For this example, I’ve also added 2 new fields on accounts:

    a. Open Priority Cases – A rollup field to update the number of open cases with a priority of Critical or High at any given time.
    b. Last Contacted Date – A date field updated via workflow or plugin when new activities created for the account.

  4. Next I created 3 new account charts:

    a. Priority Cases by Account
    b. Account Last Contacted Date
    c. Accounts by Priority

    3 charts

  5. Finally, added 4 data streams to the dashboard:

    a. My Active Accounts which will actively filter based on what the I select on the charts above.
    b. Open Priority Cases to view and drill into the case details.
    c. My Active Contacts to view individuals I can reach out to at these accounts.
    d. My Appointments to view which appointments I have scheduled and plan my meetings based on priority.

    4 data streams

  6. Once these are completed, I can publish all customizations and begin using the dashboard.

    Full Dashboard

Now any account manager can log in to view the accounts they own and interact with the data in CRM.  For example, I can click on the 1 priority case for A. Datum, see that I’ve just contacted them last week, then decide on the appropriate time to follow up with the customer:

A. Datum

Similarly I can drill into my top accounts and the other charts will filter based on my selection so I can take action on the data presented to me. 

A few limitations to note, the dashboards are limited to the standard entities posted here, along with custom entities.  Hopefully in the future additional standard entities such as opportunities will be included to further extend this interactive experience. Additionally, these dashboards need to be accessed via the interactive service hub, so it would be nice to see them extended to the core CRM areas in the future. In the meantime, happy interacting with CRM!

Topics: Microsoft Dynamics CRM

Where are my Voice of the Customer Survey Responses?

I previously wrote a post about the basics of the new Dynamics CRM 2016 Voice of the Customer feature (also known as surveys for the common ear).

However, in my testing I’ve seen instances where my Survey Responses weren’t being created in Dynamics CRM. Remember, this feature is using Azure Web Services so that the Survey and Response Data are synchronized between Dynamics CRM and Azure to take the heavy survey workload off of your transactional Dynamics CRM database.  Therefore a delay in responses getting created is expected, but not a delay of hours or days like I had seen.

In order to see if your VoC jobs are running correctly, go to to Settings –> System –> System Jobs.  Perform a quick search for v* to pull back jobs that begin with the letter v.   What I saw were that there didn’t appear to be a system job running for the past month.

If you do come across this scenario, below are a few things you can do to get your Survey Responses to appear in CRM.


Retrigger Response Processing from the Solution

The simplest fix is to navigate to the Voice of the Customer Solution (Settings –> Customization –> Solutions –> VoiceOfTheCustomer).  From the Configuration Page, you should see a link to “Retrigger response processing if responses are not received within 15 minutes of being completed” – click that and you should initiate a pull from Azure to pull this data back into Dynamics CRM.


Look at the System Jobs

Another thing you can do is open up your most recent Voice of the Customer System Jobs to see why they stopped.  In my example below it appeared as if a record in the system that was needed for the workflow was deleted.  In this example the check statement is checking the Voice of the Customer Configuration record so it appears as if that record may have been deleted at some point which caused the workflow to fail and stop processing.  This leads me to the next resolution step.


Delete and Recreate the Configuration Record

The Voice of the Customer Configuration record may have to be deleted / manually recreated.  However, the only supported way for the Voice of the Customer solution to successfully process and return survey results to Dynamics CRM is to have the configuration record created from the Voice of the Customer Solution. 

Therefore if you have a Configuration record currently (which may had been manually created by someone), you need to first off delete this Configuration record. 

Note:  Before you do so, make note that when you delete this record and recreate it, you’ll need to recreate your surveys as the existing surveys will no longer work.  They’ll work in a sense that users will be able to hit them and fill them out, but results will no longer ever be returned to them.  This probably isn’t a big deal because the reason you’re going through this troubleshooting is because the records weren’t being returned in the first place.

Navigate to the solution in Settings –> Solutions –> Voice of the Customer.  On the Configuration tab of the solution, go through the same process you did when you initially setup Voice of the Customer which is check off the agreement to the terms and conditions, and then click on Enable Voice of the Customer. 


If you navigate to System Jobs once again, and filter on those that start with v*, you should see the workflows running successfully periodically and your survey responses should start to flow in for your new survey.  Remember, your old survey and workflows you created with the old survey email snippet will need to be recreated so new survey responses can start to be processed.


Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Working With and Around Rollup Summaries

Today's post is written by Emily Matthews, Principal Consultant at Sonoma Partners.

One of the core building blocks used in configuring a more robust environment is the rollup summary.

Anytime you create a master-detail relationship in Salesforce you can easily summarize data across two objects through rollup summaries. Just today I created a rollup summary to count how many active locations I had associated to a license agreement. This is an incredibly useful tool. However, the rollup summary is not the “one-stop” shop of cross-object counting. What if I want to show the total value of all opportunities a contact has been associated with? A native roll-up summary field isn’t going to help me here because there is not a master-detail relationship between the two objects.

The other pitfall associated with the native rollup summary functionality is the limitation on the number of rollup fields a user can have on a specific object. Prior to the Winter ’16 release this was 10, thankfully it has been increased to 25, but I’ve still worked in instances where that doesn’t always suffice.

Over time we’ve found a few different ways around this frustrating roadblock, one of which is the Declarative Lookup Rollup Summary tool. This tool allows the user to create rollup summaries declaratively through lookup relationships. It also allows the user to filter records that rollup, so if I use the same example and want to display the total value of opportunities that a contact has been associated to, I could even take it a step further and filter the opportunities that roll up to a specific set of status values, like only sum opportunities that are closed won or in negotiation.

Working With and Around Rollup Summaries Salesforce

We’ve used this application on a recent customer who wanted to roll up opportunity amounts onto an account but only for the fiscal year or previous fiscal year. The only way to bypass the need for an application like the declarative lookup rollup summary tool would consist of an admin going in each year to update fiscal year criteria; this workaround alleviates the need for that.

Another solution we’ve used in recent projects has been the Rollup Helper tool. Filling a similar void, this package also allows users to rollup data outside of the native master-detail relationship requirement, but comes packaged with some visualforce pages that enhance the UI. Both of these packages allow for batch updating and real time updating (albeit at a potential performance cost) which helps diversify the types of problems they can solve.

Salesforce Select Source Field

What I’ve found as the most powerful feature associated with rollup summary “workarounds” is the ability to have dynamic filters on my rollup data. I can set my total value of opportunities on a contact to be limited within the fiscal year. Tools like these can allow a single Salesforce record to be a one-stop-shop for the data your end-user needs.

Topics: Salesforce