Sonoma Partners Microsoft CRM and Salesforce Blog

If You’re Not Using Partial Solutions, You’re Part of the Problem

Today's blog post was written by Mike Dearing, Principal Developer at Sonoma Partners.

Although I’ve yet to fiddle around with patch solutions, I’ve been leveraging Microsoft Dynamics CRM 2016’s solution segmentation for recent client work as more of our on-prem clients have been adopting the 2016 upgrade. There are definitely a plethora of solid blog posts out there describing solution segmentation at length, but I figured I’d add my experiences to the pool in case they differ from your own.

Ribbon Customizations

No matter if you're using Ribbon Workbench or kicking it old school with some direct ribbondiff xml edits, you can take advantage of solution segmentation. Prior to CRM 2016, you had to be extra careful to ensure that your future ribbon upload didn't end up wiping out someone's customization work, since there was no way to segment out just the ribbon from other entity metadata such as fields, views, forms, etc. With CRM 2016, you have the option to whittle down the entity metadata to essentially just the ribbondiff (there is a bit extra in there, but not much of significance). The key is to make sure that you uncheck both the ‘Add All Assets’ and ‘Include Entity Metadata’ checkboxes on the new ‘Add Subcomponents’ dialog that appears before the traditional ‘Add Required Components’ dialog.

Mdearing 1

If you inspect the resulting customization.xml within the solution zip, you’ll notice a much leaner version of the entity metadata.

Mdearing 2

Less Intrusive Deployments

As a side note, I very rarely deal with productized or ISV solution, so all of this information pertains to unmanaged solutions. It has always been good practice to stick with partial solutions for patches and updates to existing environments, while maintaining a core solution for new deployments. Now you can strip those partial solutions even further down to the individual customizations that you have made. How much you wish to refine your solutions is up to you, as there is always a balance between accidentally missing a customized component, especially in a situation where you have multiple system customizers working on the same solution, versus including all of an entity’s metadata. One thing to note though, is that while the new subcomponents dialog does add a lot more flexibility to which components to include, there is no way (as of the writing of this post) to remove the ribbondiff for an included entity. This is a pretty large oversight that I hope is addressed in a future release, but as of now you’ll need to ensure that you export the target environments ribbondiff first, and reimport applying the segmented solution, otherwise it will be overwritten.

Unfortunately every new feature is not without its quirks. There have been times when hand selecting customizations has timed out for more heavily customized entities, and the required components dialog seems to not always correctly add my dependencies. But all in all, this has been a great help in speeding up customization and deployments, in an area that has otherwise been neglected for quite some time.

Three Steps to CRM Success

Topics: Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Updating Your Quote from Your Project Plan in PSA

Today's blog post was written by Trent Bell, Principal Consultant at Sonoma Partners.

In our previous blog post related to Microsoft's Project Service Automation, we touched on how the standard Opportunity, Quote and overall sales process capabilities have been extended by PSA to accommodate “service” organizations. In this post, we want to showcase a very useful function professional service organizations and the like might want to take advantage of if they use project plans to help estimate projects for prospects.

As eluded to above, the sales process may require some detailed estimating take place that may naturally come by way of a project plan. PSA has a very nice feature that allows for taking the detailed tasks from a Project (within PSA) and importing them back into an associated Quote Line as “Quote Line Details.” This can be a great time saver for those involved in the sales process.

From the Quote record, double-click on the Quote Line that is associated with the Project you have used to do your estimates. 

Trent psa 1

If you have not already associated your Project to your Quote, the “Project” field will be blank in your Quote Line. Double-clicking on this Quote Line will open the record and allow you to associate the Project as seen here.

Trent psa 2

Once you have your Project entered, click on the “Import from Project Estimation” button in the top menu.

Trent psa 3

A dialog box will pop up providing you with some options for how you want the tasks from your project plan to map to your Quote Line Details.

Trent psa 4

These summarization options can be super helpful because they allow you to decouple the granular details of the project plan from what you want on your quote detail. In other words, you can take a very detailed project plan and roll up that detail to an appropriate summary level for your prospect.

Once your summarization options have been chosen, clicking “Next” will take the content of the project plan and produce Quote Line Detail records as appropriate (see screenshots below). Also, the “Quote Amount” automatically gets updated with the sum of these quote line details.

Project record:

Trent psa 5

Quote Line record:

Trent psa 6

As you might imagine, this can be a great time saver for those involved in the sales process. Just remember, in order for this to provide any value, a Project with a built-out work breakdown structure must exist…which we will cover in more detail in an upcoming PSA post. Stay tuned!

New Call-to-action


Topics: Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Ins and Outs of App Deployment Using Microsoft Intune

Today’s blog post was written by Marty Diamond, Senior System Administrator at Sonoma Partners.

Here at Sonoma, we promote a highly mobile workforce. Like other businesses, this means distributing internal apps to phones and tablets not owned by the company. Many mobile device management solutions have risen to assist with this challenge. We’ve used a handful of these with varying degrees of success. Recently, we have been piloting Microsoft’s Intune system, a part of Microsoft’s Enterprise Mobility Suite. Intune is interesting as a significant portion of it is dedicated not just to device management and compliance but application management, which offers many benefits to us.

Before delving too far into it, I should say that while Intune is a very flexible platform for managing a fleet of mobile devices, Sonoma’s use case is almost entirely dedicated to application distribution and updating. We have few company-owned mobile devices that are used by our QA team, and thee have very few requirements placed on them. This makes Intune very appealing: we can use it to simplify management of our mobile applications and scale up if needed.

We began testing with a simple task: log into the management portal and add a device. Getting there is simple enough. Once you’ve started the trial and assigned a license, Intune becomes another administrative portal launched from your Office365 portal. You are greeted with a set of startup prompts to help you navigate the portal from creating a policy to setting up your “Company Portal” to get devices into management. Once this is complete, the dashboard begins to fill with data about any devices it is managing.

Marty post 1 v2

The first real step within Intune is to define a policy. This is where we ran into our first “gotcha.” While the wizard takes you through defining a policy and creating other policies, it does not mention anything about deploying those policies. Nor does it mention that, by default, the existing Default Security Policy is not deployed. Missing this deployment step freezes the whole process: no device can be added unless a default policy is deployed.

Marty post 2 v2

Once we got past that, we continued testing with device onboarding. This process is critical as the easier we can make it for our staff to access apps they need, the less IT overhead we need. This where Intune scores some more victories—as a part of Office365, it works with our existing SSO. We simply needed to grant users licenses. From there, they are free to download the Company Portal app and sign in. The device add process is similar to other MDM solutions. It will ask the user for permissions to perform the functions it needs (management certificates for iOS, device administrator for Android, etc).

Notice that the Company portal app allows for easy app discovery and management. As long as they meet deployment criteria, users can find easily find apps by category. They can also see what other devices they have enrolled and if those devices are compliant. Each licensed Intune user is entitled to up to 5 devices (admins can limit this further).

For us, the star of the show was in app deployment. The Apps section does exactly what we need it to: deploy apps and keep them updated on our schedule.  The first step is to add an app. Much like policies, the process here is to add it and then deploy it. 

Marty post 4 v2

The Add App function launches a ClickOnce application that allows you to upload an app directly to Intune, hosted an external link, or—for iOS only—managed from the App Store. This same application is used to manage existing deployments. From this ClickOnce application you can change what types of devices can run the app (in the case of iOS universal apps), rename the apps, and keep apps updated. This was critical for us. Once a user has downloaded an app from Intune, they will then always have the latest version of that app on their device. The same is true for any apps we require the install for. One note here is that apps deployed to device groups that are required installs can take several hours after being upload to be deployed. The same is true with app updates. This delay does not appear to exist for apps deployed to users that are requested through the company portal.

In a lot of respects, Intune has more in common with System Center than other established MDM products. For example, when you want to deploy an app to groups of devices, you only have the options to Install or Uninstall. You can only make an app available to people via the portal by deploying to a group of users. While not immediately clear, this methodology makes a lot of sense: you might have groups for tablets and phones but deploying a universal app to a user allows someone with an iPhone and an iPad to get the app as needed without the need for two separate deployments.

Some other notes to keep in mind when considering Intune:

  • Intune supports direct connections to Exchange and SCCM. While we don’t employ these at Sonoma, leveraging them can give you more centralized control over devices.
  • Intune is smart about app deployments. For example, f you deploy an APK file to the “All Mobile Devices” group and mark it a required install, it won’t try and deploy to iOS devices or Windows machines. Keep this in mind when deciding how best to deploy your various mobile applications.
  • In our testing, sign-ins timed out very frequently, even in the Company Portal app (though the login itself is cached). This is a nice security measure but may cause confusion and you will want to communicate that to your users. 

Learn how to use Voice of the Customer in this guide

Topics: Enterprise Mobility Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Microsoft PSA - The More You Know

Today's blog post was written by Principal Consultants Nick Costanzo and Jeff Meister.

For today's blog post, we return to our "The More You Know" series after having spent some time under the hood of Microsoft's new Project Service Automation (PSA) solution. In a previous post, we covered a lot of the high-level features available in the system. Now that the solution is publicly available, we want to take some time to explore some of the feature functionality a little more in-depth.

As stated in our previous post, Microsoft's PSA Solution is an end-to-end solution which covers the entire customer life-cycle for delivering professional engagement; today we will start at the beginning and focus on Opportunity Management within PSA.

Sales Process Overview

We'll start with a quick review of a sample Sales Process within a professional service organization and the associated tasks that come with each phase.

Psa more you know image 1

Now that the sales process has been defined, let's look at what Microsoft's PSA solution has to offer for implementing a Sales Process.

Struggling with user adoption of your Microsoft Dynamics CRM system? Learn about our free tool to get the data you need to measure and drastically improve end user adoption.


PSA takes the native Opportunity and extends it to support the ability to sell both Project and Product components. On the new Opportunity: Project Information form you can:

  • Itemize based on your organizations offerings (this includes not only a Services estimate, but also Expenses and Products).
  • Track probability to close and estimated close date as you would with native CRM.
  • Define Sales and Stakeholder team as you would with native CRM.

Psa more you know image 2


At this stage, the solution allows for high-level estimation based on a proposed delivery plan. Using the new Quote: Project Information form, you can view:

  • Profitability and Pricing measurements based on resource roles assigned as part of the delivery plan.

Psa more you know image 3

  • Billing methods and invoice schedules are also defined, including support for Fixed Price or Time and Material billing.

Psa more you know image 4

  • Comparison to customer budget is also displayed by Quote line, to ensure your project is rightly sized for your client.

Psa more you know image 5

Project Delivery Estimate

At this point of the Sales Process, a detailed project plan can be created and applied to the quote. With this plan, we are able to provide:

  • Resource mixing based on defined groups with the company.
  • Costing and Profitability calculations.
  • Validation across customer expectations.

Psa more you know image 6

Confirm Quote

Now that estimate has been completed by Delivery, we are able to:

  • Confirm the quote with a bottom-up estimate based on the detailed project plan.
  • Invoice scheduling based on billing method (Fixed Price or Time and Materials) for each quote line.

Psa more you know image 7

  • Generate a SOW based on the details validated throughout the Sales Process.

Psa more you know image 8

Now that the deal has been won, we are at a good stopping point. We have also transitioned very nicely into our next post which will be a more detailed look into the Project Estimation process…stay tuned!

Learn how to use Voice of the Customer in this guide

Topics: Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Privilege Error, Administrative Mode, & Form Layout Reminders

Strange title…you probably wonder how this ties together. Well, let's start with a little [true] story.

Yesterday, one of my colleagues was unable to access any of her records in CRM, but was working fine the day before. It was an odd conundrum as nothing *should* have changed.

  • The first step was look to ensure she had valid security roles. Yup…roles still there. [hint: this should have been enough for us to deduce the problem, but we tried a few more things before we figured it out.]
  • We removed all of her roles and the re-added them, hoping maybe it would reset her account. No luck!
  • She tried to access CRM on another machine, same results.
  • We then removed her roles and sure enough, she got the expected can't access CRM at all.

That result finally tipped us to the problem…

She could get into CRM but not access any records meant it was a license problem. Sure enough, looking closer at her user record, her Access Mode was Administrative and she was set to restrictive access. We merely flipped back those fields to their appropriate values, and she was back in business.

Now, in hindsight, we should have checked the license first (or at least second), but it didn't jump out at us as nothing should have changed with it. So, if your user can get into CRM but not see any entity records, look at her license type immediately.

But, I was curious as to why/how it was changed. This lead me to check the audit logs and I discovered that the day before, another colleague changed her license type. After a quick chat, it turns out she was merely updating her employee referrer value, and must have accidentally changed those fields. Weird, but as shown in the screenshot below, it was pretty easy to see how that could have happened.


We have definitely seen that users can inadvertently change values as they tab or click through the form, and this exactly what happened here.

I have no idea how the Employee Referrer field ended up in the CAL section. Was probably an oversight during our upgrade. Note: we have already relocated that field. Smile

The other item to address is why users are able to update Access Mode, Restricted Access Mode, and License Type. That should really more of a System Administrator task. Unfortunately those fields are not eligible for Field Level Security. So, we used our Dynamic Forms tool to secure those fields from all users except system administrators. Download our free community version of Dynamic Forms if you would like to do this yourself. If you don't use code/tool to protect these fields, consider moving those fields to a section away from the main parts of the form.

This situation provides a great reminder to consider your form layout and ensure fields are in the best possible location for discoverability and access, but also in cases like this we should have done a better job of preventing accidental changes to critical fields.

Topics: Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Save My Data! CRM Online Backup & Restore

With the Dynamics 2016 Spring Release for CRM Online, a much anticipated feature for CRM Online has finally been rolled out.  This is the ability for the end user to be able to manage database backups, and restore a backup to your Online instance whenever you want.  Previously customers had to engage Microsoft support to do this for them, but now they’ll be able to manage this process on their own.


There are no size limitations to the backups that can be taken (in case you have a large CRM database) but just know that the size does affect how long the backup and restore will take. 

In the O365 Admin center, when looking at your CRM instances table, you’ll see a new “Backup & Restore” link/tab that will take you to the area where the backups are taken, and where you would restore a backup to an instance.  From here you can also see when the last backup was performed for each instance.


Clicking on the “BACKUP & RESTORE” tab will bring you to the backup and restore home of the CRM Admin center where you can see a list of all the backups per instance you select in the drop down.  This is also where you can take different actions:  create a new user backup, edit an existing user backup, delete an existing user backup, and restoring a backup to a sandbox instance.


Creating a Backup

When you go to create a backup, you have the ability to provide a label and description for your backup.  This is the same dialog that will appear when you go to edit an existing backup allowing you to modify the name and description after you initially create it.


Backup Locations

With this new feature, users will only be able to backup to the CRM Online Server.  They’re currently not able to backup to any local location or anywhere in Azure.

The backups to the CRM Online Servers (Microsoft Data Centers) will be kept for 3 days.  Backups that are stored in CRM Online can be full backups (system backups) or incremental backups (user backups).  These are explained more below.

The backups themselves (system or on-demand user backups) do not count against your CRM Online storage space even though they’re backed up to the CRM Online Servers.

Backup Types:

The two following backup types are available for the CRM Online database:

  • System Backups
  • User Backups

System backups happen daily and are full backups.  What time of the day that they occur on cannot be confirmed and may vary, but they will happen at least once a day.  These will live on the CRM Online Servers, and will persist 3 days.

User Backups are incremental backups and therefore should backup and restore quicker.  These will also persist for 3 days.  There currently isn’t a limit to how many on-demand user backups you can take.

Restore Process

The backups themselves are encrypted, and you’re only able to restore back into a Sandbox instance.  If you want to restore to a Production instance, you’ll first need to convert the Production instance to a Sandbox instance, and then perform the restore.  The restore button will be grayed out for Production instances.


However, if you have to restore into a production instance, you can edit that instance to change it’s type to Sandbox, and after you do so, you’ll see the restore button in blue as in the screenshot in the Details section above.  Clicking on the restore button will pop the dialog that allows you to change the target to restore into.  Again this will only list sandbox instances.




During a restore, the instance you’re restoring into cannot be used.  Users will not be able to access the instance.  A good practice that’s supported would be to take a backup just before your CRM Online org is to be upgraded, and then if the upgrade fails for some reason (breaks some functionality), you can restore back to the backup taken which will restore you back to the previous version of CRM Online.

Delete Backup

Another action you can take on a backup in the backup and restore area is deletion of a user created backup.  Remember that after 3 days, the backups will be deleted automatically (this is shown in the “Expires On” column in the list of backups).  However a user may want to manually delete backups to clean up their list of user initiated backups.



With this new feature like all new features, come some limitations:

  • This is only available for CRM Online 2016 Update 1
  • You cannot take an On Premise backup, and restore it into your Online instance
  • Cannot backup your Online instance, and restore it to an On Premise org for reporting purposes
  • There is no API support
  • There is currently no ability to schedule backups (other than the daily system backup that’s taken automatically once a day)

Even with these limitations it’s great to see some more power coming to the CRM Online customers hands.  I’m sure Microsoft will continue to enhance this already powerful tool and maybe eliminate some of the current limitations in future versions.

For more information on this functionality, head over to Microsoft’s TechNet article.  As always, you can always Contact Us to help out with your CRM implementation.

How to get executives to pay attention to CRM
Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Power BI and Microsoft Dynamics CRM

Today's blog post is written by Brendan Landers, VP of Consulting at Sonoma Partners.

My last blog post covered some basic information on Power BI Desktop connected to SFDC. In this blog post, I will discuss the various ways you can connect to Microsoft Dynamics CRM from Power BI and the pros and cons of each approach.

Looking to enter activity related information on-the-go in Dynamics CRM? Explore Activity Buddy, a custom app built by Sonoma Partners.

If you are using an on-premise version of Microsoft Dynamics CRM, you can connect to the SQL tables directly or write queries to massage the data in the way you need. You have the ultimate flexibility here. I prefer to write queries to limit the data set to only fields I care about, rename columns, and do some basic transformations (although this is all possible in Power BI). As an example, on one project we had a requirement to add columns flagging opportunities closing in the next 90 days. In Power BI we could do this with DAX, but the resources who would be supporting this long term were much more comfortable writing SQL, so we had the import SQL query handle this. 

If you are using CRM online, the good news is that you have options. The bad news is that they have limitations.

As you probably know, you cannot connect directly to the database with CRM online so Microsoft offers some other approaches. 

One option is to leverage one of the two Power BI content packs Microsoft has made available on the Power BI service. They are the succinctly named Microsoft Dynamics CRM Online Sales Manager and Microsoft Dynamics CRM Online Service Manager content packs.

Looking to create Dynamic Forms in Microsoft Dynamics CRM? Download our free Dynamics Form solution accelerator to configure form scripting requirements without writing a single line of code.

To access the content packs, follow the instructions found here. Once the data is loaded, assuming you have data in the environment, the results are pretty impressive looking. For example, the Sales Manager content pack includes a Dashboard and a Report with 8 tabs of detail. These reports include details on Sales Performance, Win/Loss Analysis, Pipeline, Activities, and detail on Leads and Accounts.

Power bi image 1

In addition to cool reports, the content pack includes many features in the data set you may not first notice. For example, they’ve added some calculated columns which are very useful (behind the scenes using DAX). For example, on the Opportunity data set they have columns for Average Deal Size and Average Deal Age. Also, they include a Date object in the data set which allows similar date functionality as advanced find (i.e. filter to "Last 30 Days").

These content packs are great for inspiration and demo purposes, but you are limited to the content they provide – you cannot add to the data model. You can, however, edit or create reports from the Power BI service, but this is much more limiting than the Power BI Desktop tool. Herein lies the problem. It’d be great if we could start with the Content Pack, download the pbix file and leverage the Desktop tool to build what our customers need, but Power BI doesn’t allow this – you can’t take content published to the service and edit (Sidenote: please upvote this request from our friend Jack Bender.). The consequence is that unless you want all native fields and only want data from the objects provided by the content pack, you are handcuffed. Unless that changes, from our perspective, it’s only realistic to build your reports using the desktop and publishing to the service.

With the desktop, you have two other options to connect to CRM online, again each with limitations. First, from within Power BI Desktop, you can click on Get Data and select the Dynamics CRM Online source.

Power bi image 2

Once selected, you are asked to provide the URL for the CRM OData service.

Power bi image 3

Enter the URL and click OK. Next, you may be asked to authenticate. Select the OAuth2 option and enter your credentials for the CRM environment. Next you will see a list of CRM objects you can pull into Power BI. These look similar to the tables available in the database. For this example, let's select the following objects:

  • AccountSet
  • OpportunitySet
  • SystemUserSet

Power bi image 4

Click Load. You will now see the three data sets on the right side (under fields), and you can start interacting with them. You’ll notice some things missing though, which again renders this approach very limiting. For example, on the OpportunitySet, I don’t see an Estimated Revenue field (schema name is estimatedvalue). I can’t build any sales reports without this field, so again I am stuck. That said, based on the URL example they provide, I know I am hitting the old version of the OData service. So, let’s try this again with the updated URL.

Power bi image 5

So if we follow the same steps with the new URL, I see all the data I’d expect to see in Power BI. Great news…seems usable. I see my three objects in the right navigation pane. Not done yet, though. Before we can build the reports we want, we have to create relationships between the data sets. To do so, click on Manage Relationships in the ribbon.

Power bi image 6

You will see that no relationships have been defined. Simply click Autodetect, and Power Bi will analyze the data sets to attempt and relate the data.

Power bi image 7

In this example, Power BI detects three relationships and marks two as active. Unfortunately, they are not quite what we want. I want opportunities related to both accounts and systemusers (i.e Name of the Salesperson) so I can pull data in a single report from all three. Easy to rectify though. Simply uncheck the top relationship and check the second relationship and click Close.

Now we have what we need to start building reports from CRM Online. For example, if you simply select estimatedvalue in the opportunities dataset, and fullname in the systemusers data set you will see a report of opportunities by owner.

Power bi image 8

From here, you can start to build complex reports and publish to the Power BI Service for other users to consume either via the web or the Power BI mobile application.

Please note, rather than use the Dynamics CRM Online option when you are getting data, you could simply select OData Feed option and get the same result. The big difference you will find when you connect via OData is that you are working with schema names and you don’t have any of the additional niceties that the Content Pack provides, but you have the flexibility you will likely need. Power BI has some light ETL functionality that allows you to do thinks like change field names, apply simple transformations etc. It saves the rules so when you refresh the data set, you don’t have to worry about losing the work.

In summary, with a little elbow grease, you can get Power BI connected to any CRM 2016 online or on-premise organization and start to build really cool reports. Our advice is that, like most reporting projects, the most challenging part will be getting your data how you need it for reporting.

As I said earlier, some of our clients are more comfortable with SQL server queries and therefore, for a variety of reasons, some of our clients elect to synch their online database to on-premise for reporting purposes, at which point you’d have all of the above options with the exception of the content pack (which is specific to online). I am hopeful Microsoft will someday soon let us download datasets and reports from the online service as pbix files so we can use the content pack as a starting place but add into it what we need. At that point, things will get very interesting…

How to get executives to pay attention to CRM

Topics: Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Troubleshooting the Dynamics CRM for Outlook Addin

Today's guest blogger is Aaron Robinson, an Engagement Manager at Sonoma Partners.

If you have used Dynamics CRM for any amount of time, you are probably familiar with the Outlook Addin which allows you to utilize Outlook as your interface to all of the goodness that Dynamics CRM has to offer. And more than likely you have been frustrated at some point over issues you have had with the addin – from Outlook slowness to crashes to the infamous addin disabled message.

Diagnostics outlook

Well, our friends at Microsoft have finally released a tool this year to help ease the troubleshooting pain and hopefully quickly resolve common issues. It’s called the Microsoft Support and Recovery Assistant for Office 365 (SaRA). You can download from the tool’s own landing page at I believe this is a rollup of another diagnostics tool Microsoft released last year, but have yet to have that confirmed officially. The tool supports a wide range of troubleshooting for Outlook issues- including general email issues, mobile app issues, Outlook Web App issues, and Dynamics CRM Online. The download is extremely small (195kb currently), and will download other required components once the installation wizard is ran, which will clock in around 35Mb.

Download our free Dynamic Forms solution for CRM 2016 that allows system customizers (non-developers) to create complex form rules using a web-based editor.


The installation is a very quick process, and easy enough for most end users to download and install without direction, assuming their account has sufficient privileges to do so. Since the download is relatively small, remote assistance for downloading and installing will work pretty well. Once the initial download launches, the user will be presented with a security prompt to install the application.

Diagnostics outlook 2

Clicking install will initiate the rest of the download with a progress meter.

Diagnostics outlook 3

After the download has completed, a prompt will appear to acknowledge the Service Agreement for use of the tool.

Diagnostics outlook 4

Once you agree, you will be presented with the tool’s primary interface for troubleshooting steps.

Diagnostics outlook 5

Running the CRM for Outlook Wizard

So now that we have landed at the main menu for the tool, we can select the Dynamics CRM Online option and click Next. The next prompt will ask for the type of problem you are experiencing.  Notice that there is only one option listed, as this option of the SaRA tool is still in beta.  Expect more granular options for types of issues to be added over time to support different issues and their resolution.  For now, it is an all encompassing diagnostic tool for all addin issues.

Diagnostics outlook 6

Once you click next, you will be asked for your signin credentials.  These are the Office 365 credentials you would use to sign-in to or

Diagnostics outlook 7

Once you click next, the wizard will begin to run through several steps checking everything from authentication, to Office 365 configuration, email settings, connectivity to Dynamics CRM Online, and the local CRM for Outlook Addin installation.

Diagnostics outlook 8

A summary of the diagnostic test will be presented for additional options if a resolution is found.  As you see here, I ran the tool on a PC which did not have the CRM for Outlook addin installed, which it correctly identified. In a recent update of the tool at the beginning of June, support for testing the following scenarios was also added:

  • Check for the current CRM to Outlook version, and a download link to the current version if needed
  • Ability to clear cache files used by CRM for Outlook
  • Action to create a new Outlook profile for the signed-in user
  • Log collection even if addin is not installed

The log collection feature will be extremely helpful got admin who may need to submit support tickets to Microsoft on behalf of a user having an issue.  In my experience the support agents always request logs at the beginning of a case involved the Outlook addin, so I like to collect the logs initially and submit with the initial ticket request in addition to the detail of my troubleshooting steps.  This will help to cut down on the number of communications back and forth with the agent and hopefully quicker resolution to the issue.

The Future

It’s great to see Microsoft making an investment in this area.  While the CRM for Outlook addin has gotten significantly better over the years, having a tool to help troubleshoot is still extremely helpful, as every customer’s environment is different.  There are a few improvements I would like to see added in future releases:

  • Breakout of diagnostics for installation vs error or performance.
  • A dedicated performance diagnostic which checks the PC hardware and system resources in use, and can identify log running scripts during startup of the addin
  • More quick fix options similar to the clear cache files for rebuild the outlook profile

Give it a try and let us know what you think.  And if you are looking for help with the CRM for Outlook app or your deployment of Microsoft Dynamics CRM, let us know!

Topics: Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Changing Themes in Microsoft Dynamics CRM

Today's post was written by Neil Erickson, Development Principal at Sonoma Partners.

Themes in Microsoft Dynamics CRM are a great way to brand your Company’s application, allowing you to choose a logo and color scheme that differs from what CRM provides when first installed. 

Themes were released in CRM Online 2015 Update 1 and in CRM 2016 for On-Premise environments.

Themes iconAfter rolling this out at Sonoma Partners, we had one user report that upon logging into our CRM system, they continued to see the out-of-the-box experience and not our logo and colors.  

A quick search found us the resolution. It required that we go into the affected User’s Personal Options and verify that high contrast settings were not enabled. It turns out that although it looked similar to the out-of-the-box theme, there were subtle differences.  For example, the background color of some clickable items was now black instead of dark blue and hovering over items behaved differently.


While this did solve the issue, we were now curious if the theme that was being used for High Contrast settings could be customized as well.  We decided to compare the requests from this user’s browser to another request that loaded properly using Fiddler, one of our favorite Tools by Telerik.  Here we could see that two different Theme ID’s were actually being requested from the server.

The organization’s database also showed that the problematic theme was the one that came with CRM, when the organization was first provisioned.  Unfortunately, none of the columns pointed to being related to high contrast settings.  Even swapping the Theme IDs yielded no change in the high contrast appearance. 

For this reason, we do not believe that the High Contrast theme can be changed.

Having trouble? Feel free to contact us.

Topics: Microsoft Dynamics CRM 2015 Microsoft Dynamics CRM 2016

Need to export more records to Excel? We’ve got you covered with the OrgDBOrgSettings Editor!

With Dynamics, the default maximum record count to export to Excel is 10,000.  While this may work for a lot smaller business without a lot of data, it won’t work for most organizations.  An instance of this came up recently where a client of ours kept hitting the 10,000 record limit though they had many more records to export.

Typically in the past, if the customer was CRM OnPremise, you would be able to access this setting (along with the other OrgDBOrgSettings) using direct SQL.  Updating these values with SQL definitely wasn’t supported, but at least you could have conversations of updating the settings if you had individuals that knew what they were doing, or you created a support ticket with Microsoft to help you out.

However, if you had CRM Online, these settings weren’t available to you through the UI or even through SQL since with Online, you don’t have direct SQL access to your database.  What can you do?

That’s where the OrgDBOrgSettings editor comes in to play.  You can download the managed solution from this link.  The process to get it installed and use it is pretty simple.  Download the managed solution from that link, import it in as a normal solution into your environment, and then open up the solution.

From the configuration page of the solution, you’ll see the different settings that you have access to, what the default value is, what the current value is, and what the maximum value is (there are some limitations – you cannot update the MaxRecordsForExportToExcel to 500,000,000).


To edit a value, either double click on a row, or click the Edit link in the row for that setting.  When you do so, you have the option to set a custom value, or revert back to the default.  A checkbox at the bottom of the configuration page can be set or unset which will display a prompt to confirm the change upon making an update.



If you try to set a value over the maximum, you’ll get a message stating the requested change wasn’t saved, and the value will remain as it currently is.


This is a great utility to make supported updates to the OrgDBOrgSettings without having to reach out to Microsoft Support.  For a full list of all the settings that can be updated and a description of what the setting drives, navigate to this link.  Also, for more explanation on how to use the tool and what it can be used for, see this post from Sean McNellis who created the solution.  While this solution has been available for some time now, we’re hoping this is a great refresher to let you know what tools are available for free to help you make changes on your own.

Topics: CRM Best Practices Microsoft Dynamics CRM Microsoft Dynamics CRM 2013 Microsoft Dynamics CRM 2015 Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online