Tag Archives: Leo

New in CRM Online Spring ‘14 / Service Pack 1 / Leo: Entitlements

The Spring ‘14  / SP1 / Leo release for Microsoft Dynamics CRM 2013 gives us the ability to configure Service Entitlements for Customers and manage Customer Service incident volumes against those Entitlements.  Here’s exactly what you get:

Prior to the release of this new Entitlement feature we had Service Contracts.   Service Contracts allowed you to define for a customer and predetermined number of hours or number of Cases that the Customer was entitled to.   And then, by referencing this Contract against the Cases you logged against the Customer that allocation was automatically decremented.   This feature makes sense in the software industry for example where the purchase of a license or a support agreement might include a predefined amount of support that the customer can then draw down upon.   I have never heard of anyone actually deploying this feature so it is curious to see Microsoft invest in extending it. 

Entitlements offers similar functionality but now it allows you to get more specific around when the Customer is entitled to Support.  You can now define the support allocation for a particular channel (e.g. 100 hours of  email support vs. 50 hours of phone support).   You can also bind the support entitlement to a particular Product or Contact so that the Customer Service team provides support for the right things / to the right people.

Let’s step through this and see it in action.  Firstly, let’s start with the broadest possible entitlement.  

Generic Entitlements

From the Account form we will add a new Entitlement record:


The key information required here is the start and end date, the allocation type (number of cases, or hours) and the allocation:


There is also a “Restrict based on entitlement terms” field which if set to “Yes” will block  the logging of new Cases once the entitlement runs out.

Once you save the Entitlement record you need to Activate it:


You will then see it listed against the Account:


To see this Entitlement in action we jump over to the Customer record and add a new Case.  For the Case to count against the Entitlement the relevant Entitlement record must be referenced on the Case.  You would likely me this a required field in scenarios where Entitlements were utilized.   Once the Case is resolved you will then see the Entitlement balance reduced:


From the Entitlement record you can see the Original Balance (“Total Terms”) and the Balance Remaining (Remaining Terms):


And the Associated View will list all Cases that have been linked to the Entitlement:


Once a customer has used up their allotment the user will receive an error when selecting the Entitlement:


Channel-specific Entitlements

Now, let’s create an Entitlement for specific Channels.  Back on the Entitlement form simply add child records into the “Entitlement Channel” sub-grid:


A couple of interesting things to point out here… 

One, this is an editable grid (great to see more of these popping up in the CRM UI!).  

Two, the “Total Terms” field we were using before is not tied to the child records in the grid.  These won’t reconcile unless you do update them manually.  Perhaps you are meant to use one or the other and then hide the other.  Maybe this is just a deficiency in my pre-release version:


Anyway, to see this in action we Activate the Entitlement and then create a Case against the Customer and reference the Entitlement on the Case:


If a Channel is not specified on the Case then the Remaining Terms at the Entitlement level will be reduced, but the balance at the Entitlement Channel level will be unaffected.  Again, you probably need to make the Channel field mandatory on the Case if this how you intend to run Entitlements:


Coding a Case to both the Entitlement and the Channel will see the Entitlement Channel balance drop:


Contact and Product Specific Entitlements

Back on the Entitlement record we also have the ability to specify Products and/or Contacts.  You can’t enter an allocation against each Product/Contact but what this does is create a rule as to when the Entitlement applies.

Here’s an example:

Against my Entitlement record I associate Product X.   This is me saying: “this entitlement is for support incidents that relate to Product X”:


Now, when we log a Case for this Customer, if we specify Product X the Entitlement can be selected:


If a different Product that is no listed on the Entitlement is selected, we can’t select the Entitlement:


The behavior is the same for Contacts.  If you leave the Product / Contact field blank on the Case you can still select the Entitlement.  So the way to think of this is: “Once a Product/Contact is associated to an Entitlement, that Entitlement will no longer be selectable on the Case when any other Products/Contacts are specified on the Case”.  Again, if this behavior is what you are after you will probably want to make the Product / Contact field mandatory on the Case form.

New in CRM Online Spring ‘14 / Service Pack 1 / Leo: SLAs

The Spring 2013 / SP1 / Leo release for Microsoft Dynamics CRM 2013 provides new functionality for Service Level Agreements (SLAs).  The SLAs are configurable to your requirements and provide not only deadline monitoring but also automated warnings and escalations.

In this post I walk through the setup process and show the functionality in action.   Invest 5 minutes here and walk away up to speed on this new feature.

Configuration of SLAs

Here’s the logical flow for configuring SLAs:

1 Define your Organization’s holiday schedule (the exception days when CRM should stop the clock on its SLA calculations)
2 Define your Organization’s customer service hours (e.g. it might be 9 to 5, Mon to Fri or it might be 24 x 7 x 365)
3 Create an SLA ‘agreement’ for each Customer Service Offering your Organization provides
4 Define the SLA detail for each agreement.   You can create general rules for each SLA Type (First Response, Case Resolution, Follow Up) or you might want to create specific rules for e.g. P1 vs. P2 Cases.

The sub-steps here are:
– Define which Cases / Customers this applies to
– Define when the SLA should be considered in danger of being missed and the actions that should occur when that happens
– Define when the SLA should be considered missed and the actions that should occur when that happens

5 Activate the SLA agreement
6 Associate an SLA to an Entitlement
7 Associate the Entitlement to your Customer records
8 Start referencing the Entitlement on your Customer Cases (you could do this automatically via code or workflow)
9 If Cases are created that reference the Entitlement tied to the SLA and which meet the applicability criteria defined on the SLA then you will see the SLA take effect. 
CRM will check for SLA applicability both on create and on update of the Case so if the attributes on the Case changes and the applicability criteria is suddenly met (e.g the Case was bumped from P2 to P1)  then the SLA will be triggered and the countdown initiated.

Working with SLAs as an End User

When an SLA is triggered you will see the applicable SLA due dates populated on the Case form.  In the example below I created a Case at 1pm on a Saturday for a Customer whose SLA dictates first response within 1 hour and resolution within 4 hours.   The agreed customer service hours are 8 to 5, Monday to Friday.  CRM calculate the first response as being due at 9am on Monday (1 hr after the customer service schedule commences) and puts the resolution deadline at 12pm Monday:


The default way of informing CRM that first response has been provided appears to be a new field on the Case record: “First Response Sent”.   As an end user I inform CRM that I have completed first response by updating “First Response Sent” to “Yes”.    There is no immediate alert on the Case that the SLA has been met.   But once the SLA deadline is hit CRM will see that the expected action had been completed in time and no warning or escalation will be triggered.

You could also implement a Workflow to set this field for the User, based on say the entry of an outbound phone call against the Case.

And you don’t have to use this field as your success indicator.  In the SLA definition you can define whatever you like:


Behind the Scenes – SLA Workflows

Microsoft have used CRM’s workflow engine to orchestrate the SLA monitoring.   This is transparent, you can call up the SLA workflow via the Background Processes associated view:


Here is the workflow that was executed for my earlier example.  You will see the workflow is sitting in a timeout state, waiting for the SLA deadline.  Once that time is hit it evaluates the success criteria that was defined in the SLA rule and then either exits out (if met), otherwise it performs the escalation/warning actions that were defined:


Adding Visibility to the SLA Deadline – the new Timer Control

SLAs are more effective if the end user has visibility of the deadline.   CRM provides date time fields for each  SLA type:  First Response By, Resolve By, Follow Up By.   But better still, Microsoft have released a new Timer control we can add to our forms to provide an actual countdown and success/failure indicator.

To add this control, jump into the form editor, and insert it via the INSERT tab on the ribbon:


Selecting the Timer control will pop a dialog window asking for property values for the control:


Here you connect the Timer’s properties to the fields that you are using for the SLA.    The end result is the below.  Here I have a Case that I created at 5:45pm that has a 15 minute SLA (based on 24 x 7 support) for First Response, with a warning triggered after 5 minutes:


Once the 5 minute market is hit the timer changes in appearance to the below:


And then once the SLA deadline is hit and the SLA not met, the timer becomes red and switches to counting up, giving you how long over the SLA you are:


A couple of limitations of the Timer:

  • You can’t add it the form header or footer, only the body
  • The timer is not a field so it can’t be added to CRM views.  It is only effective on the CRM form.  On views, users must leverage the date time fields instead.  Some color-coded SLA identifiers would have been useful in the views. I guess you can do that via conditional formatting rules if using the Outlook Client
  • Each Timer control is bound to a set of fields.  This means if you want a Timer that overs First Response that then switches over to Resolve By you will need 2 Timers and some JavaScript to show/hide the Timers.

In summary, a cool new feature.   I especially like the configurability offered to automate any number of actions at the warning  and again at the deadline.

New in CRM Online Spring ‘14 / Service Pack 1 / Leo: Case Hierarchies

The Spring 2013 / SP1 / Leo release for Microsoft Dynamics CRM 2013 gives us the ability to link multiple Cases under a Parent Case..  Here’s exactly what you get:

Configurable Options

System-wide options can be configured under: Settings –> Service Management –> Parent and Child case settings

You can opt to have fields map down from the Parent when you add a new Child Case:


And you can determine how Case Closure should be controlled / automated:


Adding a New Child Case to an Existing Case

From the Case form a Command Bar now provides a means of adding a Child Case:


This pops the Quick Create Case form, with fields auto-populated based on the inheritance rules you configured:


Clicking Ok generates the Child Case, closes the Quick Create form and returns you to the Parent Case.  You can see the Child Case listed in a new sub-grid on the form:


Now, if your Parent Case is already a Child Case of another Parent you won’t be able to do any of this.  Grandparent relationships are not yet supported.   If you are not seeing the “Create Child Case” button that will be why.

I tried disabling the Case entity for Quick Create to see if the “Create Child Case” button could pop the the ‘full’ Case form.   This didn’t seem to work, things just spun.  I expect this is a quirk of the pre-release software I am using.

I also tried adding a Child Case via the Sub-Grid rather than the Command Bar button and found that does the same thing as the button.

Parenting an Existing Case to another Case

You can also pick up an existing Case and then Parent it.  You just need to populate the lookup field on the Child Case.  This works fine.  In this scenario, the inheritance does not fire though (which make sense).  So, it is a similar experience to what we know with mapping rules on relationships.

Closing a Case

The process for resolving a Case remains unchanged.  If you configured Child Cases to auto-close they seamlessly close in background without notification.   If you configure it so that the Child Cases must be closed before the Parent can be you will get a helpful error when you try to break that rule:


Bulk Associate Cases to a Parent

One last feature. Say you have a bunch of Cases reported from Customers that all relate to the same issue.  You might like to link those all under the first reported Case for that Issue to drive your reporting.   From the Case view you can do this by bulk-selecting your Cases and clicking the “Associate Child Cases” button:


You need to select not only the Child Cases but also the one you want to be the Parent.   You will be prompted to identify the Parent:


And CRM pops a little confirmation dialog to let you know its all done:


Parent–Child Case Views and Attributes

To support parent-child relationships there is obviously a new “Parent Case” lookup field on the Case entity.   Microsoft has also kindly provided a “Child Cases” field that gives you the count of Child Cases attached to a Parent.   This was a nice surprise to see. 

You will also see a couple of new System Views that isolate Cases that are either Child Cases or Parent Cases (filtering on Cases that have one of these two fields populated):


Ok, what have I missed?  Please share anything via the Comments and I’ll add into this Post.


What’s New in the Spring ‘14 Release / Service Pack 1

The “Leo” release for Microsoft Dynamics CRM 2013 has just been released and there is some new functionality to learn.   If you are CRM Online customer the release is known as “Microsoft Dynamics CRM Online Spring ‘14”.  If you are a CRM On Premise customer it is simply being called “Service Pack 1” (SP1). 

Whatever you want to call it, here’s what you get!

Customer Service Enhancements

Case Hierarchies

  • The ability to associate Cases under a Parent Case.    
  • Fields can be configured to auto map down.
  • Case closure can be configured to cascade down or be prevented until all Child Cases are closed.
      • One level of hierarchy only
        • Maximum of 100 child Cases
  • Read more…

Case Merging

  • The ability to merge 2 or more Cases
  • Duplicates are canceled, child records are re-parented
    • Can merge up to 10 at a time through the UI
    • Can merge only 2 at a time via SDK


  • Next evolution of Service Contracts (pre-purchased Incidents or Hours, decremented automatically)
  • Ability to define multiple Entitlements per Customer
  • Can specify Entitlements per Channel
  • Can associate Contacts and Products
  • Read more…

Service Level Agreements (SLAs)

  • Define “First Response”, “Case Resolution” and “Follow Up” SLAs
  • Define Warning timing and Failure deadlines
  • Define automated actions to occur at Warning and Failure points
  • Define customer service schedules (e.g. 9 to 5 PST, Mon to Fri) and business holidays for business hours based SLAs
  • Uses Workflow engine for execution
  • New “Timer Control” can be added to CRM forms to communicate Target SLA to user, with red, amber, green alerting.
  • Read more…

Queue Enhancements

  • Private Queues, where you get to dictate who can see which queues
  • Improved filtering of the Queues lists, so the default queues for each User, Team and BU appear less commonly
  • New calculated field on the Queue record indicating the count of items in the Queue (to assist with load balancing)
  • More intuitive buttons for end users when interacting with queue items

Case Routing Rules

  • Define rules that will route new Cases automatically to Users, Teams or Queues
  • Triggered automatically and able  to be run manually

Email to Case

  • Configurable rules for automatically generating Cases from inbound Emails as they hit CRM (via Email Router or Server Side Sync)
  • Chose when the rule should apply and how the Case fields should be defaulted
  • Can be associate to an Email Queue
  • Smarts to handle automatic Contact creation (when applicable)
  • Smarts to associate follow up emails to an Existing active Case
  • Auto-responder logic using email templates

Status Reason Transitions

  • The ability to define for each Status Reason value a constrained list of ‘Next’ Status Reasons
  • Case and custom entities only

Misc. Enhancements

Social Profiles and Social Activities

  • New entities added to the data model
  • Added to support integrations with social applications (not yet enabled for end users)

Target CRM Version

  • When exporting a Solution you can select the target version of CRM you wish to support and CRM will remove any offending items that would prevent a successful import

Command Bar Display

  • The number of buttons that will display on the form has been increased from 5 to 7

Workflow Conditions

  • You can now use the familiar “And” and “Or” groups that you are used to from Advanced Find when defining Conditions in your Workflow rules

Real-time Duplicate Detection

  • The return of the feature that we used to have in CRM 2011 (even with the same confusing UI)

Lync Presence

  • Now available in Lookup fields and Activity Feeds

New SharePoint Integration Architecture

  • New for integration scenarios between (only) CRM Online and SharePoint Online
  • Documents are represented as Document records in CRM (new entity) and the SharePoint iframe is replaced by a Documents sub-grid

Sandbox Environments for CRM Online

  • Provisioning tool for creating Sandbox environments by copying a production CRM Online instance
  • Supports ‘Minimal Copy’ (schema and customizations only) or ‘Full Copy’ (everything)
  • Ability to reset and snapshot

New Compatibility

Added support for:

  • Windows 8.1
  • Internet Explorer 11
  • iOS7 Safari on iPad (web application)
  • iPad Air using Safari (web application)
  • Windows Server 2012 R2 (CRM server)
  • iPad Air using CRM for Tablets


  • Native integration to Insideview (CRM Online only) for real-time industry information on Contacts and Organizations
  • Read more…

Tablet Client

  • Cases now editable on the Tablet
  • Added support for Android Tablets
  • Can now sign out as one user and sign in as another
  • Can now reconfigure the App to point to another CRM Organization without having to reinstall
  • New Windows 8.1 App (provides the cached offline experience for CRM On Premise customers that was previously not available)

New Products!

And the Spring release schedule also sees the release of the below companion applications:

  • Microsoft Dynamics Marketing (the acquired product “Marketing Pilot”, now absorbed into the Microsoft CRM suite and available for an additional license fee)
  • Microsoft Social Listening (the acquired product “NetBreeze”, now absorbed into the Microsoft CRM suite and available for an additional license fee)
  • Unified Service Desktop (USD) (the latest evolution of the Customer Care Accelerator, releasing fully later in the year)