SnapShot! for Dynamics CRM: The Ultimate Documentation Tool for Microsoft Dynamics CRM

Finally, the documentation tool that gives you a complete SnapShot!
of your Dynamics CRM Organization configuration
in only minutes.

Licensing and Pricing

SnapShot! has a variety of licensing options including single-organization, site, and partner licenses.

Produces a reduced set of reports including:
Entities, Fields, Relationships, Forms, Views, Templates, Connection Roles
Single Organization - 7 Day License
Covers all developers at a single firm
One CRM Organization
No renewal. No maintenance fees
License expires in 7 says
Single Organization License
Unlimited developers
One CRM Organization
Annual maintenance: $90, 1st year included
Site License
Covers all developers within a single firm
Unlimited CRM Organizations
Annual maintenance $360, 1st year included
Partner License
Covers multiple-office partner firms, all of their developers
Unlimited CRM Organizations
Annual maintenance $1,800, 1st year included


Frequently Asked Questions:

Here are a few ways SnapShot! can help:

Even though I have assigned the proper security roles to a user, they are still receiving security errors.
SnapShot! uses the Dynamics CRM SDK to extract all information from the system. When working with security roles, an SDK method is used that reports the security applied to a user, after all of their security has been applied. If you look at the User Privileges report for that user, you will see that they only have read-access to most fields. In all likelihood, this is caused by the License Type for the user being set to Read Only or Administrative.
I need to review all of the System Settings to ensure that the previous administrator has everything set correctly.
The System Settings report will show all settings within the system – both those on the System Settings page as well as the internal settings that are not displayed within the Dynamics CRM user interface.
I am new to the company, customer, or project and I need to know everything I can about the Dynamics CRM configuration.
No problem. Do these steps:
  1. Run SnapShot!
  2. Select all options.
  3. Check the Pack and Go checkbox on the ribbon.
  4. Click the Create button.
  5. Go get yourself a cup of coffee.
  6. When you get back, plus or minus a few minutes, your Dynamics CRM system will be fully documented and all of the files zipped for easy transport via email or thumb-drive.
I need a compete export of all Entity and Field schema information.
There are several reports that will help in this case: Entities, Fields, and Relationships.
I need to a complete list of supporting data: Business Units, Users, Teams, and Queues.
There are reports for each that contain the most relevant information about each entity type.
We have a huge JavaScript code-base and I need to get a handle on what is being used and where.
We have three reports for web resources:
  • The Web Resources report lists all web resources within the organization.
  • The JScript Library report lists the Entities and Forms where each JScript Library is used.
  • The JScript Function Reference report documents each Form Event within the organization and what function is being called for that event.
I need a complete list of all custom security roles.
Custom security roles and their privileges are documented and look exactly like the forms with Dynamics CRM – right down to the colored circles.
I have a problem with one user’s security and I don’t know what security she should actually have.
The User Privilege report shows the exact security the user has after all user and team security roles have been applied. Many people overlook the team security roles so sometimes unexpected privileges get applied. This report looks just like the Security Role report (colored circles) and shows the end result of all merged security roles. This is very useful for tracking down privilege issues.
I need a complete list of all of my System Views.
The Views report lists a summary of all views. In addition, should you wish, you can create additional documents that list the detail of each view which includes the display columns, filter criteria, and FetchXML statement used to perform the search.
I have a problem with option set values not showing the same values when a Lead is converted into a Contact.
The Option Set report shows all option sets, Entity-based and global, in a single list. This allows you to compare the numerical value with the display label to make sure values match across Entities.

That sounds exciting; please tell me more!


What would be a collection of documentation for a Dynamics CRM organization without metadata.  We have that and more:


All of the settings found on Entity definition page, including the Areas where the entity is displayed settings, are documented.


All of the settings found on the Field definition page are documented, along with some extra information:

  • Forms where this field is present
  • Minimum and maximum values (for numbers)
  • Minimum and maximum lengths (for strings)
  • Associated entity (for lookups)


All of the settings on the Relationships definition page are document including:

  • Relationship type
  • Field and Entity associated names.
  • Cascading relationship settings
  • Entity maps
  • Attribute maps


Views actually have two reports:

  • An overall summary which shows you the basic information regarding the view, the parent entity, and the columns being return
  • A detailed report lists all of the components that make up the query: Columns, Filter Criteria, FetchXml statement, and the Sorting definitions


Basic information regarding the forms, their parent Entity, and the security roles that may use the form are documented.


Both global and entity-specific OptionSets are documented.


Is broken down into several reports:

  • Field Security Profiles
  • Field Permissions
  • Security Roles
  • User Permissions

The  Security Roles and User Permissions reports consist of two sets of files.

  1. Detailed information showing the security configuration as you would see it within Dynamics CRM (with the circles).
  2. Raw data – which is the data directly as it comes out of the database. This is useful when performing comparisons.

The User Permissions report is the final permissions that have been applied to a user after their: Licensing, personal Security Roles, and team Security Roles have been assigned.


By automation we mean anything that has been added to the system to add additional business logic functionality or which will automate any existing business processes. These reports include:

  • Plugin assemblies
  • Plugin steps
  • Custom workflow activities
  • Processes

In addition the Automation Testing Matrix report shows all of the plugins, workflows, and JavaScript events that are executed in the system. This list is grouped by Entity and function so you can verify your testing processes cover each of the possible data paths.

JavaScript and Web Resources

There are a number of JavaScript-related reports, including:

Web Resources summary

This report contains a dump of all web resources, their type and the solution that are contained within.

JScript Library usage

This report contains a list of JScript web resources and on what entity and form they are referenced.

JScript Function reference

This report is taken from the form event configuration dialogs and contains the following information:

  • Entity Name
  • Form Name
  • Field Name
  • Event Name
  • Enabled
  • Library Name
  • Function Name
  • Pass Execution Context
  • Parameters

Email Settings

This report gives you a list of all of the email settings related to your users so you can see both system-level and personal email settings. This report was created as a result of having to debug some very strange email-related issues.  Since many of the personal settings related to email have a major affect on how email is processed, it is valuable to have all email settings in a single report.

Email Server Profiles

Lists information for the Email Servers configured in Dynamics CRM 2013 and 2015.


Lists information for the Mailboxes configured in Dynamics CRM 2013 and 2015.

Business Administration

We completely document the following:

  • Business units
  • Users
  • Teams
  • Queues
  • Team membership


Now that most of the major categories have been reported, we still have a few reports remaining:

  • System settings
  • User settings
  • Solutions
  • Templates
  • Connection roles

There is even an extra Auditing report that consolidates all of the auditing information for both Entities and Attributes.

For Developers

There are a handful or reports that were created specifically for the developers in your organization.

JavaScript Function Reference

Lists all of the JavaScript functions found in your JScript web resources.

JavaScript Event List

Dynamics CRM 2011 and 2013 allows you to define OnSave and OnChange events using either configuration or code. Normally, most developers use the configuration to attach events, but occasionally, it is more efficient to  define your events in code.

This  report actually extracts the events from the configuration and creates the equivalent in code.

Empty JavaScript Event Handlers

You are upgrading your Dynamics CRM system from CRM 2011 to CRM 2013 or 2015 and you have a lot of JavaScript still in the Dynamics CRM 4.0 object model.  That means that you cannot upgrade to CRM 2013 because it will not pass the pre-upgrade checks.

You need to verify the physical upgrade process in your test environment to make sure that everything will work in production, but you have not fully completed the JavaScript upgrade. ( Something that Transformer! is really go at.)

This new feature will create empty JavaScript functions for each Event Handler found on a form.  This allows you to temporarily replace the actual web resources with a web resource consisting of these empty functions, commonly called “stubs.”

This will allow you to verify the upgrade process because you have removed all of the CRM 4.0 JavaScript, and since the functions actually exist within the web resources, your forms will function as they always have and you will not receive “object not found” messages as you would see had you just removed the contents of the web resource entirely. (which is the other option).

Custom Code Validation

The Dynamics CRM team at Microsoft released the Microsoft Dynamics CRM 2013 Custom Code Validation Tool to allow an organization to scan their JavaScript for issues that would either not work in different browsers or not work in Dynamics CRM 2013. The only drawback is that you could only review the output one web resource at a time.

I have taken the technique used by the Code Validation Tool and created a single report that shows all of the code issues for the entire organization


Need More Detail?

More detailed information may be found on the Details page.

Sample Report

You may download a sample report from one of my developer organizations here.

The report was generated from the Contoso demo organization but has had additional commercial and custom solutions added to it, as many typical Dynamics CRM organizations have. This should give you a good feel for the data being extracted.

Did We Miss Anything?

Do you have a documentation problem not address by SnapShot! If so, please let us know.