CRM 2016 Online (Update 1) now provides the ability to set an SLA on entities other than case. This is something I have wanted for a long time. J
The enhanced SLA on the case is a great feature but I have previously wanted to have an SLA on custom entities and on leads.
Have you ever known a sales person to be given a lead and sit on it so long that its stone cold before they attempt that difficult first phone call? Leads are hard to come by, so some sales managers want to be confident EVERY lead is progressed in a timely manner.
Because of this I’ve known companies want to enforce rules that newly created leads must be called within “n” days and qualified in “n” days. A lead SLA would be perfect for this. In one company I even saw a rule that if the lead hadn’t been contacted in “n” days it would be allocated to another sales person.
So how easy would it be to create this type of functionality. Let’s take a look ….
Enable Lead for SLAs
First of all, you will need to enable the lead entity for SLAs. This is easy, simply open the lead in customizations and select the new Enable for SLA option. This will be found in the Communication & Collaboration section of the Lead’s entity definition.
You can now enable SLA on activities, accounts, contacts, invoices, incidents, opportunities, quotes, leads and sales orders. Plus, any customer entity.
Note: Once set the “Enable for SLA” option you can’t change it!
Create Relationships to Support SLA
Before I could start to create an SLA I needed to create the SLA KPIs. For cases these exist out of the box as “first response by” and “resolved by”. But I needed something different for Leads. To do this I needed to create a couple of relationships between Lead and SLA KPI Instance.
From the Lead, I created two N:1 relationships between Lead and SLA KPI Instance. One called “First Response In” and one called “Qualify In”.
Obviously you may decide to have slight different KPIs for leads. Also you are not limited to two relationships, you could have more. Maybe one for each of the stages in your business process flow. (I believe I read somewhere that 7 was the maximum but I haven’t confirmed that theory!)
Create the SLA
Now my lead has been enabled for SLAs I can create an SLA. The creation of the SLA is still done in settings under service management. And is essentially the same process as for cases.
When you create an SLA you’ll see a new option to pick the entity. As I have enabled Lead for SLA it is now available. (FYI: I had published all my changes by this point!)
I then created an enhanced SLA in the same way as I normally would with a case. I didn’t waste time creating business hours correctly! I simply picked an out of the box working calendar. Obviously in a real situation you will need to define your companies working hours.
Once created I could then add SLA details for first contact and qualification.
As this was “just” a test I kept the definition of my SLA’s simple. First contact needed to be completed within 3 days and the lead qualified by 5 days. I also planned to send a warning after one day if first contact wasn’t completed and 3 days if the lead hadn’t been qualified.
As this was just a test I didn’t add any failure, warn or success actions. If this had been a real change I might have sent an email to the owner of the lead when the warning was reached. And then maybe sent an email to their manager if the failure point had been reached. The exact actions will obviously vary depending on specific business needs.
Next I activated and set the SLA. And then set it as default.
Setting the SLA as Default
Each entity can have an SLA set as default. To achieve this you need to first activate the SLA and the select the set as default option.
One thing to be aware of here is that the default option needs to be reset is if ever deactivate the SLA to amend it.
Also back on my Lead you don’t see the name of the default SLA in the SLA field. This is actually useful, if you only have one SLA and it applies to all leads there will be no need to add the SLA field to the form. Below you can see I have an SLA active but the SLA field is blank, this is because the default SLA was applied.
Changes on Lead Form
All done? Not quite! Finally, I needed to make some changes on my Lead form to show the SLA detail. Back in customizations on the lead I added a new tab called SLA. And added some fields / quick view forms. My completed tab looked like this ….
Notice I am showing the SLA in a sub grid and as timers. I also included an SLA field.
Note: the SLA field won’t be needed if you only have one SLA and set it as default.
In the form editor my completed tab looked like this …
The details of my sub grid are shown below. Notice that I’m only showing related records, the entity is SLA KPI instances and I have selected the All SLA KPI Instances view.
I also added two new quick view forms, on the SLA KPI Instance entity. One for the first contact in timer and another for the qualify in timer.
Note: Two quick view forms already existed that I could have reused. Those being Resolve By SLA and First Response SLA. (i.e. The quick view forms used on case.) I wanted to have slightly different headings so I created two additional forms. You could re-use the existing ones if you’d prefer.
My “first contact in” quick view form looked like this …..
The form contained a timer, use the insert ribbon and select timer to add this. Then set the values as shown below.
My “qualify in” quick create form was pretty much exactly the same format as my first contact in form. Except the name was qualify in.
The new quick view forms on the SLA KPI Instance entity were then added to the Lead form. The details I used for the first contact are shown below. Qualify in was almost the same, except the name and that it used the lookup field of “Qualify In”.
Obviously after making all these changes I did a publish all before creating some new leads to see what happened.
This change sounds complicated but if you break it down into steps it is actually quite straight forward. And required no coding. Which is nice! J
Hopefully this has given you some ideas and also I hope you can see how this concept could be adapted for other entities.