Service Level Agreement rules in Pega
One of the more valuable features of the Pega CRM platform is the notion of service level agreements. These Service Level type rules (SLA for short) allow you to easily configure goals and deadlines within your case management process. The ultimate objective here is to help your task force handle each time-sensitive matter on time, i.e. a follow-up by calling back a customer or any other critical assignment.
The PRPC engine monitors each of the SLA rules on takes care of firing off the appropriate event actions that you´ve configured on that specific rule. An SLA can also adjust the urgency associated with the task at hand by increasing the urgency number. This could make the task stand out in the employee´s work basket since it happens to need attention — that is assuming the default sorting of tasks in the portal.
A service-level agreement defines intervals of time, such as a goal and deadline, that are used to standardize how you resolve work in your application. You can apply a service-level agreement to cases, stages, steps, flows, and assignments.
Rules of Engagement
A single SLA rule can be defined on each Assignment, but also on Flow, Step and Stage level within your process as well as the Case as a whole. See the relations depicted in the class diagram below. Similar to the Send Mail flow shape, the default notification actions (pyNotifyAssigneeOnGoal/DeadlineTime and pyNotifyManagerOnGoal/DeadlineTime) are bound to the Participants (work parties) you have listed in your case instance. However, you can write your own SLA actions in the form of Activity rules. Apart from activity type escalation one can also define one or more Data Transforms, Call or Advance another Flow or just Transfer to someone´s Worklist or Work Basket destination.
Before any of the define escalations is triggered you need to set appropriate timelines as the SLA´s Goal, Deadline or Late (Passed deadline) scenario. These are nothing but timestamp properties.
Remember: timelines need to be known before starting the time-boxed business rule, since you are effectively setting time-stamps being read by one of PRPC´s agent processes.
Once these timelines are set and in effect by checking-in (Service Level rules execute server-side) Pega will start providing SLA status feedback to case workers in the form of a green info, yellow warning or red error banner at the top of the harness. SLA rules also have the notion of Urgency, which in PRPC is commonly a number in the range of [0,100]. Escalation can be guarded by When rules as usual. The classes and its properties are depicted in the following UML below.
Let´s take a closer look how to set-up an SLA with a deadline set by the current operator and remind the customer with some notification e-mail 7 days in advance; that is before the deadline (.DeliveryDeadline).
The two most important settings regarding SLA configuration are the suggested resolution time (Goal) and the required resolution time (Deadline). If Calculate service levels is "Set to the value of a property" the name of this property is stored in an element named pyEscalationProperty. This allows for more flexibility than a static interval configured by selecting "Interval from when assignment is ready". Assignment ready in its turn can be set to "Immediately", by some property or timed.
Next, define a Data Transform to set the property .DeliveryGoal to an expression to calculate the reminder timestamp:
@addToDate(.DeliveryDeadline,"-" + @getDataSystemSetting("APP","Delivery/ReminderInDays"),0,0,0)
where the dynamic system setting Delivery/ReminderInDays is set to 7. Or alternatively using a business calendar configured for office hours with 5 days hard coded:
Tip: If you don’t want a goal, but only a deadline, short-circuit the timestamps by settings the same property in the SLA rule and leave out the actions for either the Goal or Deadline panel.
Inspecting the Service Level Queue
The wait queue for Service Level items can be easily inspected through Pega´s System Management Application (SMA). A hyperlink to SMA can be found in DesignerStudio > System > Operations.
- Open SMA and navigate to the Agent Management > System Queue Management.
- Select the Scheduled Status and click the Details button to view these records.
- Now, look for scheduled records of class System-Queue-ServiceLevel, select and click View to inspect the XML output.
@edgarverburgTweets by @edgarverburg
Edgar is a software engineer with experience in TIBCO Middleware and Pega Case Managemement. He holds a master's degree in Computer Science with a specialization in Data Visualization & Computer Graphics.