Please rate how useful you found this document: 
Average: 1.5 (2 votes)

 Plugin Version: 3.1.0 Release Notes


The Service Level Agreement plugin offers a new level of control over unfinished tasks and processes. This will help users maintain strict control over tasks and processes executed by any user assigned to it, avoiding any possible delays sending important information - all during an active process. This plugin will also help follow up on unfinished tasks.

This plugin allows users to have workflow control within specific conditions set by an admin user. Penalties may also be defined depending on the time exceeded while executing a task or process. The admin user will have the possibility to generate reports based on the SLA information set for process. If a penalty was set for hours exceeded, it will be reflected on the report.


ProcessMaker Compatibility

This plugin is fully compatible with the following ProcessMaker versions:

  • v. 3.2 or later

Installation and Configuration

Follow these steps to complete the enterprise plugin installation.

1. Log in with a user, such as "admin", who has the PM_SETUP_ADVANCE permission in their role.

2. Go to ADMIN > Plugins > Enterprise Manager.

3. In the Enterprise Plugins tab, install the plugin doing one of the following:

  • Click Install from File and upload the plugin file.
  • Click the Service Level Agreement plugin's Install now or Upgrade now buttons in the list of available plugins.

For more information about plugin options, see Enterprise Manager Tool.

4. After installing the plugin, make sure that the plugin is enabled . If the plugin is not enabled, click the Enable button, as shown in the graphic below.

Configuring the Service Level Agreement

After the plugin was enabled, go to "ADMIN > Settings" and the option SLA will be added in the list at the left. Click on this option to view the SLA information:

It will list all processes in which SLA was applied to.

Creating a New Service Level Agreement

Click on "New" to create a new SLA; it is possible to create more than one SLA depending on the processes created in the specific workflow. This means it only takes into account the process created in the current environment where the SLA will be set.

The SLA form to be filled out will be:


SLA Information

  • Process: Process in which the SLA will be applied.
  • Name: SLA Name.
  • Description: Brief description of the SLA.
  • Status: Indicates the status of the SLA (Active or Inactive).

SLA Type

  • Type: Indicates SLA type, which include:
  • Entire Process: The SLA will be applied for the entire process.
  • Multiple Tasks: If this option is selected, the user is able to choose the range of tasks the SLA will be applied to. Set Task and To to specify range of the task.

  • Task: Select the task SLA will be applied to.
  • Duration: Define the maximum duration SLA will have. Expressed on Days and Hours.
  • Condition: Condition that must be accomplished to have the SLA executed.

Activate Penalty

If a penalty needs to be defined, enable this option by marking the checkbox Activate Penalty.

  • Penalty Value: The penalty value depends on the Enterprise rules, which determine whether the penalty is charged in dollars or points.
  • Penalty Time: These fields indicate the exceeded hours to take into account in applying the penalty.

Generating SLA Reports

As was mentioned before, the Simple Report Plugin must be enabled to generate SLA reports, otherwise the SLA reports can't be accessed. Once the SLA penalties are configured, and the cases are started, Cron must be executed in order to generate reports. Then, go to the Home tab and at the end of the cases list the Reports icon will be added (only if the Simple Reports plugin is enabled); by accessing this option a window will be loaded on the right side of the screen.

For the purpose of this document, the types of reports were divided into 4 sections, which will be explained as follows.

Section 1: Filters

Filters allow different search criteria to be set in order to generate a final report:


  • SLA: A list with all SLA created will display. It is possible to generate a report by choosing - All - SLA created.
  • Dates: Select the date(s) when SLA had been applied. By selecting an option from the list, a new field with a date picker will display and a specific date must be selected. Possible options to select:


    • Greater than: This filter will consider dates greater than the one selected in the field.
    • Greater or equal than: This filter will consider dates greater than or equal to the one selected in the field.
    • Less than: This filter will consider dates less than the one selected in the field.
    • Less or equal than: This filter will consider dates less than or equal to the one selected in the field.
    • Between: This filter will consider dates between the dates selected in the corresponding fields.
  • Exceeded: Select this option to search based on whether or not the set time for SLA was exceeded. Possible options to select:
    • Not Exceeded: Use this filter if the set time was not exceeded.
    • Exceeded by less than: Use this filter if the time exceeded was less than 1 or 2 hours.
    • Exceeded by more than: Use this filter if the time exceeded was more than 1 or 2 hours.

For the last two options, a new field will display next to the dropdown where the hour will be selected.

  • Status: Filter by case status. Possible statuses to select: open, completed or -All-.

Once the filters are set, click on Generate Report button. If the filters need to be reset and set again, click on the Clear Filter button.

Section 2: SLA Summary

If the Generate Report button was clicked, a summary of the report will generate and open in a new tab:

The summary will detail:

  • All calculations are based in cron: All penalties will be calculated as soon as cron is executed. So, the time shown in this section is the time of the cron execution.
  • SLA Name: Name of the SLA given when it was created.
  • Cases executed : Number of cases executed per SLA created.
  • Total Duration: Total process duration.

    Warning: As of ProcessMaker 3.6.0, the Total Duration is not the same as the Duration time in the Case List. The Total Duration is the SLA working hours through the calendar and the Duration is the case duration.

  • Time planned: Time planned to start counting penalties.
  • Time exceeded: This is based on the duration of the task or process, depending the SLA configuration.
  • Average exceeded: Time exceeded, based on the duration of the task or process.
  • Penalty rate: Penalty rate defined when the SLA was created.
  • Penalty: Based on the penalty value. This value will be calculated according to time exceeded.

This report is available to export in PDF or XLS format. It's worth mentioning that the report will be generated based on the general information displayed on the current page.

Section 3: SLA Detailed Report

By clicking on one of the SLA generated in Section 2, the report will be detailed according to each case executed for the process or task where SLA was set. This will open a new tab:

As you can see, each case is calculated individually; moreover, it shows the status of the case or if the case hasn't started yet. This report can be also generated as an XLS or PDF file.

Section 4: SLA Cases

When the report mentioned in Section 3 is generated, click on a specific case to check its detailed information. This will be opened in a new tab:

Example: Purchase Request Using SLA

To further explain this plugin, an example of the Purchase Request process has been included in this section. The Process Map for purchase requests shown below:

Follow the steps below in order to create a SLA policy:

Step 1: Go to Admin > Settings and click on the SLA option. Configure the penalties to be applied as follows:


According to the information in the image above, the penailty will be applied to the entire Purchase Request process. The process will have an estimated duration of 1 hour. If the time was exceeded and the process has not been completed, a penalty of 2 dollars will be charged for every hour exceeded.

Step 2: Start a case and fill the information into the first DynaForm; at this point do not route the case.

Step 3: Let's pretend the user has not completed this task, and it is stored in Draft folder; also, 10 days have passed since this task was started. Next, the cron should be executed to generate the report.

Step 4: Once the cron is executed, go to Home and at the end of the cases List, the Reports option will be displayed. Click on that option to check the report generated, and in the Filter, select the name of the SLA created to see a more specific report:

Step 5: Click on Generate Report to see the final report. The summary will open in a new tab:

The summary will detail:

  • SLA: Name of the SLA given when it was created. "SLA Purchase Request" in the example.
  • Times Executed: 26 cases, for this specific example.
  • Total duration: 617 H, 34 min based on total time penalty .
  • Time planned: 1 H, 0 min based on total time penalty .
  • Time exceeded: 594H 7 min, based on the duration of the task set for one day.
  • Average exceeded: 22H 51 min.
  • Penalty: Based on the Penalty rate. In the example, it is $2/hr exceeded.

Step 6: If the user doesn't need to print a detailed report, just click on the Excel or PDF icon to generate a report of the current page.

If the user needs a specific report, double-click on the report and a new window will open with a detailed report listed by case. At this point it is recommended to know the case number of the user to whom the penalty will be applied. In the last column, the case status can be verified. Finally, this report can be exported as a PDF and/or DOC file.