Track transactions
Transaction tracking is applied at the Business Process (BP) level. It is possible to track only specific or multiple steps or exclude them from tracking. The feature enables collecting Service-Level Agreement (SLA) and Straight-Through Processing (STP) metrics and getting them displayed.
See how tracking works
The figures below illustrate the data shown in BP workflows and on the Tableau-based Process dashboard, depending on whether transaction tracking is enabled or disabled.
Tracking enabled
If transaction tracking is enabled, the following happens:
- Transactions are tracked as business entities, despite any split-join steps. Therefore, the processing time from end to end is calculated properly, and you can also apply the SLA by time.
- Only transactions as business entities are counted to measure the volume of processed work, so you can apply the SLA by volume.
BP workflow

Process dashboard

Tracking disabled
If transaction tracking is disabled, only those records are counted that do not correspond to business entities. In this case, the information is more technical than business-related.
BP workflow

Process dashboard

Enable transaction tracking
To enable transaction tracking for STP and SLA metrics calculation in a BP, follow the steps below:
In Control Tower, choose a BP in the draft state and go to the Workflow tab.
Right-click a step, select Transaction Tracking, and click Start tracking transactions. The step is marked as Transactions: Tracking started.

After transaction tracking is enabled, every input record to this step is counted as an independent transaction, and its movement through the process is saved to the database.
If steps with tracked records are split, all its child steps are tracked as parts of the parent record as described above.
Transactions may not appear on the first step of a process because input data might contain a link to the storage with documents intended for processing. Thus, transaction tracking can be started only on the next step when the documents are retrieved. However, it is recommended to avoid such BP designs unless you are sure that the behavior is required.
To mark a document as a transaction to be tracked, set tracking to start from the step where every record input corresponds to a single document.
You can enable tracking on multiple steps. It will not affect already tracked records but allows tracking any new independent records passing through the step.
Consider limitations
Mind the tracking constraints related to the following:
Stateless execution
Transaction tracking doesn't work if stateless execution is enabled. With the feature on, Control Tower does not collect intermediate data into the database, and transaction information is not available in the Analytics dashboards.
Behavior on split rules
When a tracked transaction passes a split rule, all records from the rule outcomes are tracked as part of the original record.
The tracking behavior is slightly different for different split rules when two records created from one parent meet in one of the next steps.
If records are produced by split_rule and joined by join_rule, only one record for the business entity is created in the log. In the case of the split_data rule, after two parts meet in some step, a log record is created for each part of the original record.
Sub-processes
Tracking on a sub-process works as if it were part of the original process: enable tracking on any step inside the sub-process, and transactions will be tracked until the end of the parent process. Alternatively, you can activate it before a sub-BP, and transactions will be tracked inside the sub-BP as usual.
To track incoming records, expand the BP and enable transaction tracking on the first step.
Exclude step from Straight-Through Processing
You can exclude some steps in a BP from the STP rate calculation. Step exclusion will not affect how the entity is logged into the database. Every step will still be recorded.
That option will only affect the statistics calculation. The excluded steps will not be counted in STP-related metrics.
To exclude a step from the STP, follow the steps below:
In Control Tower, go to the required draft BP and navigate to the Workflow tab.
Right-click a step.
From the sub-menu, select Transaction Tracking >Exclude Step from STP.

See sample process
The below process has the following steps:
The bot step checks the input data provided for the process with enabled transaction tracking.
On the manual step, information is added that is Excluded from STP.
On the manual step, more information is added that is Excluded from STP.
The bot step adds data to the table with transaction tracking disabled.

Track Service-Level Agreement metrics
Service-Level Agreement (SLA) defines whether transaction processing meets preset completion thresholds.
SLA is available only if Transaction Tracking is enabled. Otherwise, all transactions are calculated based on HitSubmissionDataItem.originalItemId and are considered to meet SLA by default.
There two SLA types:
Transaction Cycle time defines the transaction processing time. It is calculated as
max(AwsHit.completionDate)minusmin(AwsHit.creationTime), accounting for all joins used for defining transactions (ink). If the cycle time of a transaction is more or equal to the SLA value, the transaction meets SLA. Otherwise, it doesn't.Volume of transactions defines the number of transactions to be processed per day (
AwsHit.completionDate). If the volume of transactions per day (AwsHit.completionDate) is more or equal to the SLA value, all transactions meet SLA. Any transactions below the SLA value are marked as not meeting the SLA.
Sample SQL for getting SLA info for each BP execution
SELECT r.rootRunUUID
, r.sla_type
, r.sla_value
FROM Run r
where r.sla_type is not null
and r.status<>'DRAFT'
and r.status<>'DELETED'
Enable SLA tracking
- You can configure SLA only for BPs with enabled transaction tracking.
- You can enable and configure SLA for process executions only.
To enable SLA tracking, do as follows:
In Control Tower, go to the required BP.
Navigate to the Run tab and open Advanced Options. Switch on the Track if transactions meet service-level agreement (SLA) toggle. Mind that the toggle is active only if tracking is enabled.

Choose Cycle time or Number of transactions:
Cycle time verifies if every separate transaction is processed over the defined amount of seconds.

Number of transactions traces whether overall transactions processed per day will meet SLA if a certain amount of transactions is processed by the particular process execution.

Schedule Business Process with SLA
You can apply SLA to process executions launched by the scheduler.
To schedule a BP with enabled SLA, do as follows:
Go to Control Tower > Advanced > Schedules.

Click Create.
On the Create Schedule page, choose the required BP with enabled Transaction Tracking.
Select the checkbox for SLA tracking.

Configure the Cycle time and Number of transactions as described for Advanced Options as in the Enable SLA tracking section (Step 3).
The SLA will apply to all process executions launched by the scheduler. There is no way to edit the scheduler, only to replace it with a new one.
Mind SLA constraints
Mind the SLA setting constraints related to the following:
Exporting a BP package
During the export of a BP package with configured SLA, the SLA settings are not exported and need to be re-configured.
Copying a process execution
After copying a process execution, SLA settings need to be re-configured as they are not saved with the BP package. However, this does not affect the process executions that are already running.
BP migration
Transaction tracking becomes part of a BP package. So, you can migrate the settings between environments, for example, from Dev to Prod. However, SLA settings are not saved with the BP package.