Skip to main content













SLA time limits

With the Case Management framework, you can set and enforce service level agreement (SLA) resolution or response times at two levels. You can set and enforce SLA times with a case, or with a case's activity.

SLA time for a case

Setting and enforcing an SLA time with a case definition means that an end user must close a case instance before a set amount of time, otherwise an event is triggered.

You can set the start of the SLA time at the creation of a case instance or at the moment an end user picks up a case instance.

To enforce SLA time limits at the case level, you must also ensure an event is triggered when that SLA time limit runs out by setting the GenerateEvent input parameter as True in the Case_AssociateProcess action.

If the OverrideMinutesForCompletion parameter is set it will override any previously configured SLA for that process and this value will be used to calculate the SLA. An option to use a Calendar is also available with the CalendarId input parameter, if this input is set the SLA calculation will take into account the working days, working hours and holidays for that calendar.

Set default SLA at case creation

You can set the default SLA time limit for each case definition adding it to every case instance. To set up a default SLA time that starts counting when case instances are created, follow these steps:

  1. In <app-name>_Configuration, open Manage Dependencies, and add ProcessDefinitionSLA_CreateOrUpdate action from the CaseProcessConfigurations_API producer.

  2. In the Data tab, add a static entity named ProcessSLAConfiguration with the following attributes:

    • Id type text.
    • ResponseTimeInMinutes type integer.
    • IsActive type boolean.
  3. Create a new record in the static entity and set its Identifier. For example, if the SLA time is 5 days, set the Identifier as SLAFiveDays.

  4. Generate a GUID and paste that GUID into the value field of the Id attribute of the record.

    A Globally Unique IDentifier, or GUID, is used as a unique identifier to ensure integrity across environments.
    You can use an online GUID generator to create a GUID for each record.

    Check the RFC 4122 for more information on GUIDs and their format.

  5. Set the following attributes:

    • Set ResponseTimeInMinutes as the SLA time in minutes.
    • Set IsActive as True.
  6. In the Logic tab, open the Bootstrap_CaseConfigurations action, and drag the ProcessSLAConfiguration static entity before the End of the action flow.

  7. Set the aggregate's Max. Records as 1.

  8. Add a ProcessDefinitionSLA_CreateOrUpdate action after the aggregate.

  9. Set the action's input record, ProcessDefinitionSLARec, as the output of the aggregate, GetProcessSLAConfigurations.List.Current.ProcessSLAConfiguration.

  10. Set the following mappings:

    • Id = TextToIdentifier(GetProcessSLAConfigurations.List.Current.ProcessSLAConfiguration.Id)

    • ProcessDefinitionId = GetCaseDefinitionData.List.Current.Process_Definition.Id

    • ResponseTimeInMinutes = GetProcessSLAConfigurations.List.Current.ProcessSLAConfiguration.ResponseTimeInMinutes

    • IsActive = GetProcessSLAConfigurations.List.Current.ProcessSLAConfiguration.IsActive

  11. Publish the module by selecting 1-Click Publish.

After these steps the bootstrap timer runs adding th SLA time limit to the case definition.

Act on an overdue case SLA

Before starting this procedure ensure the GenerateEvent input parameter as True in the Case_AssociateProcess action. To act on overdue case SLA, follow these steps:

  1. In <app-name>_WF, open Manage Dependencies, and add ProcessEvent and ProcessEventType entities from the CM_ProcessEvent_CS producer.

  2. Open process associated with your case, drag a Conditional Start to the process flow, and name it ProcessSLAOverdue.

  3. Set the following Conditional Start properties:

    • Set the Start On property as a CreateProcessEvent entity action.
    • Set the ProcessId input as the ProcessId runtime property.
    • Set the ProcessEventTypeId input as SLAOverdue.
  4. Connect the conditional start to an End node.

  5. Add the logic to deal with an overdue case between the Conditional Start and the End. For example, if you would like to complete your case if the SLA is overdue. You could achieve this by:

    1. Select the Conditional Start, and set Terminate Process property as Yes.

    2. Add an Automatic Activity.

    3. Inside the Automatic Activity add a Case_Complete and set the properties to close the case.

  6. Publish the module by selecting 1-Click Publish.

  • Was this article helpful?