MB2-712 – CRM 2016 customisation and configuration Hosk study notes

There is no end to education. It is not that you read a book, pass an examination, and finish with education. The whole of life, from the moment you are born to the moment you die, is a process of learning.

Jiddu Krishnamurti


I recently passed the MB2-712 – CRM 2016 customisation and configuration certification, you can read my thoughts on the MB2-712 – Microsoft Dynamics CRM 2016 Customization and Configuration certification

The certification covers a lot of big areas in Microsoft Dynamics CRM and you will need to make a lot of notes.  If you have taken earlier custom and config certifications a lot of this information can be found on my

I have some previous study notes for the CRM 2013 custom and config certification, much of which is still relevant (security, solutions, Business Rules, etc).  You can find those study notes on the link below

MB2-703 – CRM 2013 Customization and Configuration Certification Information

CRM 2016 Hosk study notes

The notes focus on CRM 2016 functionality which I hadn’t used, has been updated or I didn’t cover in my previous study notes.

These are just study notes, you will need to understand the functionality and use it before you take the certification.

If you are studying for the certification and you work for a Microsoft Dynamics partner make sure you check out the E-Learning online course – Microsoft Dynamics CRM Team – CRM 2016 Customization and Configuration 80729: Customization and Configuration in Microsoft Dynamics CRM 2016

A lot of the notes  from many excellent technet articles created by Microsoft, which shows they do a great job with their documentation.  Below is just parts I use to study but you should read the article to understand how the functionality works

Business rules

  • Condition is criteria/if statement
  • Action changes values/updates
  • You cannot set to business recommended – must use JavaScript
  • Actions occur when conditions evaluate to true, the AND/OR must be true
  • You can’t mix multiple conditions they are either AND or OR
  • Set scope to Entity if you want a business rule to run on the server, not just on the client side
  • Business rules are not triggered when you save a record
  • Business rules are triggered when a record is opened or when a field is changed which the rule conditions are set to check e.g Form OnLoad and Field OnChange
  • Business rules action will run only if condition is true
  • Business rules work at a field level – not triggered by tabs or sections
  • Scope – All forms is all forms including Quick Create
  • Scope – Entity runs on the server and client
  • Scope – single form – business rules only run for this form
  • If/Else is needed to show and hide fields
  • Nested IF/ELSE not available

Business rules actions can

  • Set field Value
    • Field
    • Value
    • Formula
    • Clear
  • Show error message
  • Set Visibility
  • Set default value

Business Process Flows

  • Enabled from the entity definition screen
  • Once Business process flow is enabled you cannot disable
  • A business flow has a primary entity but can span multiple
  • 3 out of box Business process flows enabled by default
  • 12 additional BPF’s which can be enabled via Settings à data management
  • Once enabled you have to disable each individually
  • One entity per stage
  • Stage category is just for reporting – it’s linked to a global option set (which you can change)
  • Step name = fields shown on the business process flow
  • Branches can be only 5 levels deep
  • Maximum 30 stages
  • Maximum 30 steps per stage
  • Relationships doesn’t need to exist between entities
  • Other entities must have Business process flow enabled
  • Relationships are 1:N
  • Security roles can be assigned, options will be disabled
  • Each entity can have no more than 10 activated business process flows
  • Each process flow has a maximum of 30 stages
  • Multi-entity process can use no more than five entities.
  • You can only run one business flow for each record
  • Current process and stage is a unique identifier. This allows the user to return to the process at a later time.
  • Business process flows can be associated with security roles, so only users with specific security roles will see the business rules.


  • Yammer is subscription based and requires an enterprise account
  • Once Yammer is enabled there is not an option to go back to activity feeds


  • Personal charts can be shared with users or team
  • Charts can be exported as a Chart XML file and imported (use XRMToolbox in real life)
  • With a Chart you can
    • Select the entity
    • Select fields you want to aggregate (sum, count)
    • Select chart type
  • Aggregate options
    • Count: All
    • Count: Non empty
    • Avg
    • Max
    • Min
    • Sum


  • You can display
    • Charts
    • Lists
    • Iframe
    • Web resources
    • Social insights (if you have Microsoft Social Engagement)
  • Dashboards can be made available for tablets
  • System Dashboards can specify security roles which can view each dashboard
  • In properties you can enable dashboard for tablets and individual sections for mobile

Rollup fields

  • Rollup fields recalculate once an hour
  • Rollup fields supported – Whole Number, Date and Time
  • Rollup fields not supported – Option set and Lookup
  • Aggregate value of records related to a specific record
  • Rollups fields are asynchronous, they don’t run in real time
  • Rollup fields can be run by workflows or business rules
  • Read Microsoft Dynamcis CRM 2015 Rollup Fields: The Gotchas
  • Rollup fields can be refreshed manually or triggered by a workflow CalculateRollupField message
  • Changes to rollup fields DO NOT trigger a workflow processes

Available Functions

  • Sum
  • Count
  • Min
  • Max
  • Avg
  • Rollup Fields are automatically rolled up 12 hours after they are created.
  • You can manually Rollup a field at any time by clicking the Refresh button on the rollup field.
  • You can only have a maximum of 10 rollups per entity, and 100 per organization.
    • This is configurable for on premise deployments, but be aware of potential performance implications
  • A rollup field can’t be included in other rollup fields
  • Data from Rollup field are not stored by CRM auditing, so there is no real way to store historical values of a rollup field.


  • Access to rollup data can be secured using regular field security permission to ensure that it is only available to authorized users if needed.
  • When a rollup field is created on any entity, the platform automatically creates two other fields to store metadata for the field calculation timestamp and status of last operation. These are suffixed with “_date” and “_status” accordingly.
  • “_date” stores a timestamp when the rollup field was last recalculated and “_status” shows result of operation in numeric value, these statuses reflect:
    • Not Calculated
    • Calculated
    • Overflow Error
    • Other Error
    • Retry Limit Exceeded
    • Hierarchical Recursion Limit Reached
    • Loop Detected


  • Seamless integration with the user interface. You can include the rollup fields in forms, views, charts and reports.
  • Rollup fields are solution components. You can easily transport the rollup fields as components between organizations and distribute them in solutions.
  • Rollup fields and the calculated fields are complementary to each other. You can use a rollup field as a part of the calculated field, and vice versa.

The text below comes from this technet article

Rollup calculations

  • Mass Calculate Rollup Field is a recurring job, created per a rollup field. It runs once, after you created or updated a rollup field. The job recalculates the specified rollup field value in all existing records that contain this field. By default, the job will run 12 hours after you created or updated a field. After the job completes, it is automatically scheduled to run in the distant future, approximately, in 10 years. If the field is modified, the job resets to run again in 12 hours after the the update. The 12 hour delay is needed to assure that the Mass Calculate Rollup Field runs during the non-operational hours of the organization. It is recommended that an administrator adjusts the start time of a Mass Calculate Rollup Field job after the rollup field is created or modified, in such a way that it runs during non-operational hours. For example, midnight would be a good time to run the job to assure efficient processing of the rollup fields.
  • Calculate Rollup Field is a recurring job that does incremental calculations of all rollup fields in the existing records for a specified entity. There is only one Calculate Rollup Field job per entity. The incremental calculations mean that the Calculate Rollup Field job processes the records that were created, updated or deleted after the last Mass Calculate Rollup Field job finished execution. The default maximum recurrence setting is one hour. The job is automatically created when the first rollup field on an entity is created and deleted when the last rollup field is deleted.
  • Online recalculation option. If you hover over the rollup field on the form, you can see the time of the last rollup and you can refresh the rollup value by choosing the Refresh icon next to the field, as shown below:

Rollup field considerations

  • A workflow can’t be triggered by the rollup field updates.
  • A workflow wait condition cannot use a rollup field.
  • A rollup can’t reference a calculated field that uses another calculated field, even if all the fields of the other calculated field are on the current entity.

Calculated Field

  • Calculated fields are not simple fields – they are Field Type – Calculated
  • You can’t convert a simple field into a complex field
  • You can calculate value on the entity and related parent entity
  • You cannot calculate related records
  • You cannot change the field type after initial save
  • You can always change the calculated expression/formula

Hierarchy security

It’s in addition to your current security.  It extends the current security model.  This works on top of your existing security levels

  • You can choose managerial or position but not both.
  • It works at a position level or managerial level


  • A manager must reside in the same business unit or the parent business unit of the person they manage
  • Manager is defined on the user record
  • The manager must have read access enabled on entities


  • You must set the managers
  • Managers have read, write, update, append and append-to for direct reports. NOT DELETE
  • Non – Direct reports – have only read only access data. (you can only see it)
  • It works within the business unit structure


  • Does not use the direct report model
  • It works beyond business units, e.g. it position spans business units
  • Spans business units
  • The more levels can effect performance for the higher
  • Optimal performance is around 4 levels, maybe 5
  • You can set individual entities to be used in the hierarchy management
  • Position hierarchy can span business units.

Videos on Hierarchy security


Technet/msdn articles on hierarchy security

App for Outlook

Works in a server level – works with outlook or OWA (exchange service)


  • Tablet
    • Dashboards
    • Offline Drafts – create new records
    • Open in a default browser
    • Offline search
  • Phone
    • Hide from phone (similar)
    • Fields, sections, tabs and lists

Dynamics CRM license options

  • Essential – no access to sales or marketing functionality
  • Basic – access base CRM functionality – Account, contract, lead, cases
  • Professional – access sales, services, marketing
  • Enterprise – Everything + MDM, Parature etc

These notes are from the Slides

Email – Mailboxes

  • Each user/queue enabled for email has a mailbox record
  • Mailbox record defines email synchronisation for the user
  • Incoming, outgoing, and appointments. Contacts & tasks
  • Each mailbox must be approved and enabled before emails can be sent
  • You can check the status of mailboxes in the Server-Side Synchronisation monitoring
  • System Settings – Email sets the default synchronization and emails settings

Dynamics CRM 2016 supports a few different methods for processing email:

  • CRM for Outlook
  • The Dynamics CRM Email Router
  • Server Side Syncing

Multi-Entity Quick Search

  • Out the box, this new search feature will search across the following entities:
  • You can select up to 10 entities for a quick search
  • You can choose any of the 90 visible entities
  • Any custom entities
  • It uses the Quick Find Search settings for each entity
  • Default entities – Account, Contact, Lead, Opportunity, User, Competitor, Activity, Case
  • Out of box, the multi-entity quick find is defaulted to search seven entities in Dynamics CRM:
    • Accounts
    • Contacts
    • Leads
    • Opportunities
    • Users
    • Competitors
    • Activities

It’s hidden in Settings à Administration à System Settings à General tab and there is a button Quick find


  • The default theme is called CRM Default Theme
  • The default theme is type System and Default Theme = Yes
  • Themes cannot be included in Solutions.  This means you need to export and import them between organisation.
  • After importing a theme you must publish it.
  • When you publish a theme, previously published theme will become unpublished

This technet page has some good limitations

What can you change or adjust with themes?

  • Logo
  • Logo tooltip
  • Navigation bar color
  • Navigation bar shelf color
  • Header color
  • Global link color
  • Selected link effect
  • Hover link effect
  • Process control color
  • Default entity color
  • Default custom entity color
  • Control shade
  • Control border

Theme limitations below are from the technet article

  • Even though the theme colors are applied globally throughout the application, some legacy UI areas, such as gradient buttons, will retain the default colors.
  • Certain areas must use dark or light colors to contrast with the default icon colors. The icon color isn’t customizable.
  • An entity can’t be displayed in different colors under different Sitemap nodes.
  • The Sitemap nodes colors aren’t customizable.

Solutions Patches

Technet – Use segmented solutions and patches to simplify solution updates

  • A patch represents an incremental minor update to the parent solution. A patch can add or update components and assets in the parent solution when installed on the target system, but it can’t delete any components or assets from the parent solution.
  • A patch can have only one parent solution, but a parent solution can have one or more patches.
  • A patch is created for unmanaged solution. You can’t create a patch for a managed solution.
  • When you export a patch to a target system, you should export it as a managed patch. Don’t use unmanaged patches in production environments.
  • The parent solution must be present in the target system to install a patch.
  • You can delete or update a patch.
  • If you delete a parent solution, all child patches are also deleted. The system gives you a warning message that you can’t undo the delete operation. The deletion is performed in a single transaction. If one of the patches or the parent solution fails to delete, the entire transaction is rolled back.
  • After you have created the first patch for a parent solution, the solution becomes locked, and you can’t make any changes in this solution or export it. However, if you delete all of its child patches, the parent solution becomes unlocked.
  • When you clone a base solution, all child patches are rolled up into the base solution and it becomes a new version. You can add, edit, or delete components and assets in the cloned solution.
  • A cloned solution represents a replacement of the base solution when it’s installed on the target system as a managed solution. Typically, you use a cloned solution to ship a major update to the preceding solution.
  • Version numbers are compared when solutions are imported.
    • Newer versions will replace existing versions of the solution.
  • Version Number
    • Up to four numbers separated by decimals
    • Appended to solution name to create exported filename

Entity Assets

  • Specify exactly what should be included in the solution
  • Includes tabs to select specific,
    forms, views, charts, fields,
    relationships, messages,
    Business rules and Hierarchy
  • Assets can be can be added later
  • Must be defined for every
    entity added to the solution

Technet – Create patches to simplify solution updates

Read this on solutions segmentation

Types of Solutions

  • System solution: – The default solution, when you go to customization.
  • Unmanaged solutions: Editable solutions which act as a contrainer for customizations Container for unmanaged customizations. Deleting an unmanaged solution doesn’t delete customisations or data.  You can export an unmanaged solution.  When you import an unmanaged solution you must publish it.
  • Managed solutions: non editable.  Deleting a managed solution delete customisations and data.
    • Created by exporting an unmanaged solution (you cannot export a managed solution).
    • Can’t change the customisations inside a managed solution
  • Managed Patches: Updates and fixes that can be pushed out to Managed solutions that allow updated specific components and not having to overwrite the entire contents of an existing solution.

Quick Create forms

  • you can define multiple quick create forms, only one quick create form can be used by everyone
  • The form everyone will use is set using the form order.
  • Quick create forms cannot be assigned to security roles
  • You cannot switch quick create forms
  • You can disable quick create forms by unticking the Allow Quick Create option on entity settings

The following controls cannot be added to quick create forms:

  • Sub-grids
  • Quick View Forms
  • Web resources
  • Notes
  • Bing Maps

Quick View Form

Technet info – https://technet.microsoft.com/en-us/library/dn531145.aspx

  • Allows you to view information about a related entity from within a form of another record. E.g. see a contact details on an account.
  • You add a quick view control to an entity
  • It can be for lookup fields which exist on the entity
  • You must save and publish the main form before the quick view control changes will be visible
  • You can only view the information not edit with a quick view control
  • Multiple sections are allowed
  • Only one tab

Status Reason Transitions

if you add Status reason transitions, you must include one inactive status for each status.


Actions that Trigger Cascading Behaviour for 1 to many relationships

  • Assign
  • Share
  • Unshare
  • Re-parent
  • Merge
  • Delete


  • 1 to Many relationship creates a native hidden intersect entity
  • Intersect entity is managed by CRM, cannot view or customize.
  • If you want to record information in the many to many relationship entity then you need to create a new entity, which you can edit/add fields/report on.
  • Native = CRM creating intersect entity
  • Manual = creating a new entity


  • Ad Hoc relationships – do not need relationships to be created
  • Allows you to connect records
  • Connections can be used in queries and reports
  • Connection role provides a description


  • Tabs
    • Can have one to three columns
    • Must contain at least one section
  • Section
    • Contains one to four columns
    • Can show
      • Fields
      • Sub Grids (lists or charts)
      • Notes
      • Iframes
      • Web resources
      • Bing maps
      • Spacers (blank space)

Additional components

  • Spacers
  • Timer
  • Knowledge base search
  • Social insights

Sub-grid for Access Teams (must enable entity for access teams)

Multiple forms

  • Enable specific security roles to access forms
  • Can remove security roles from forms
  • Form order determines which form a user sees
  • Enable for fallback is the form for users who security role is not assigned to any form.

CRM Mobile

  • Only first 5 tabs or 75 fields/10 lists appear on mobile client
  • Set available on Phone checkbox to show/hide tabs in mobile
  • Collapsed tabs still count
  • Only 5 tabs will show even if it’s less than 75 fields
  • You have to put fields in the first five tabs for them to appear in a mobile client
  • Mobile can have specific mobile only controls (sliders)