Skip to content

SLA Configuration

A resource that says how long a topic may sit in a status before it is late. You fill in a warning time and a breach time per status, attach the configuration to a category or to individual topics, and a background evaluator paints each topic green, yellow or red.

The clock measures time in the current status, counted from the last transition into it. It is not the age of the topic, and it does not accumulate across statuses: moving a topic out of a status and back in starts the count again from zero. Creating a topic counts as a transition into its first status, so the clock is running from the moment it exists.

Attach it in one of two places. A category can point at one configuration, which then covers every topic in it. Individual topics are overridden with Assign SLA configuration to topics, and the topic's own setting wins over the category's. A configuration that nothing points at is inert; it costs nothing and does nothing.

Changing which configuration a category points at pushes the new one down onto that category's topics, and clears the colour they were showing. Topics that had been given a different configuration of their own are left alone.

time in the current status green yellow red Yellow Threshold 2D Red Threshold 5D last transition no row for this status and no [Default] row: never evaluated, the topic keeps its last colour. Red below Yellow: the topic goes straight to red and yellow is never shown.

Thresholds

The first section on the form. It holds a single grid.

Threshold Rules

One row per status, plus an optional catch-all row. Add on the grid toolbar appends a row and opens it for editing, Delete removes the selected row. The open row has its own Save and Cancel, and until you press Save the row does not count. Cancel on a newly added row removes it again.

A configuration you have never edited arrives with one row already in it: no status, two days for yellow, five days for red. Those starting values are a placeholder, not a recommendation.

Both times are required to leave the row editor, so the form will not let you Save a half-filled row. Rows that arrive some other way, from an import or a copied resource, are dropped without a message if either time is missing.

At least one complete row is required. Saving a configuration with none is refused with a message about needing at least one threshold.

Status

Which status the row applies to. One status per row, chosen from the picker, whose empty text reads All statuses.

Leave it blank and the row shows as [Default]. That row applies to every status that has no row of its own, which is how you cover a whole category with two numbers.

A status with its own row uses that row. The [Default] row is only consulted when there is no match.

A status that matches neither is never evaluated at all. The topic keeps whatever colour it had when it left the last monitored status, which reads as a stuck indicator rather than as "not monitored". Add a [Default] row unless you want that.

Adding two rows for the same status keeps only the lower one of the two.

Yellow Threshold

How long the topic may sit in the status before it turns yellow. Required on every row you intend to keep.

The format is a number followed by an optional unit letter, case-insensitive:

Written Means
2D 2 days
36H 36 hours
90M 90 minutes
30S 30 seconds
4 4 hours

A bare number is hours. Anything the format does not cover, including 2 days, 1.5D and 48h30m, is refused when you save the resource, with a message naming the value it could not read.

Red Threshold

Same format, same rules. The point at which the topic is treated as breached.

Nothing stops you entering a red time below the yellow time, and nothing warns you. The effect is that the topic jumps from green to red and never shows yellow, because the breach check is applied last and overrules the warning check.

Scopes

The second section. It narrows which topics this configuration will be evaluated for, on top of whatever is attached to it.

Only for Projects

Pick the projects whose topics this configuration should cover. Multi-select, and optional.

Empty means every project, which is the usual setting. Filling it in is a second filter, not a way to attach the configuration: a topic in a listed project is still only evaluated if its category or the topic itself points at this configuration.

A topic attached to the configuration but sitting outside the listed projects is passed over by the background evaluator, silently. That is the most common reason a configuration appears to have been applied and then does nothing. The list is not consulted when a topic is saved, so editing such a topic does give it a state, which makes the symptom look intermittent.

The resource also carries category and status scopes that this form does not show. They keep whatever values they had, so a configuration brought in from an export can be narrower than the form suggests.

Resource fields

Above the two sections the standard resource fields apply. Name is required and is what you pick from when attaching the configuration to a category or a topic, and it is also what a ${var} placeholder is matched against in Assign SLA configuration to topics. Moniker is the optional short name, matched the same way. Clearing Active does not stop evaluation; remove the attachment instead.

How the state is applied

Evaluation runs in the background on a timer, by default every 60 seconds across 50 topics per pass, so a new threshold takes effect within a cycle or two rather than at once. Saving a topic recalculates that one topic immediately, outside the timer.

The background pass only ever moves a topic up the scale. It picks up topics that have crossed a threshold they are not yet showing, which means a topic that has gone red is never selected again. Widening a threshold does not bring it back on the next cycle; the state only comes down when the topic is saved or when its status changes.

Topics in a closed or final status are never picked up by the background pass, and neither are topics in statuses marked inactive. Closing a topic is itself a status change, though, so a red topic that gets closed goes green on the way out and stays there.

Each change of colour is recorded on the topic's timeline and raises an event you can send notifications from. The first colour a topic is given is not recorded, whatever it is, so a topic that has always been healthy generates no entries.

Assign SLA configuration to topics pushes a configuration onto specific topics from inside a rule.

Change Topic Status resets the clock and puts the topic back to green on the spot, because every threshold is measured from the last transition. A rule that bounces a topic through an intermediate status clears a red state it had earned.

Get topics that matches conditions can gather the topics to hand to the assignment op, and IF var condition THEN can branch on a topic field before deciding which configuration to apply.

Examples

A general configuration for a support category: everything warns after two days and breaches after five, except the status where work is actively happening.

Thresholds
  [Default]        2D    5D
  In Progress      8H    24H

Scopes
  Only for Projects   (empty)

A short-fuse configuration for critical incidents, scoped to two projects so the same category behaves normally elsewhere.

Thresholds
  [Default]        30M   2H
  Waiting          4H    8H

Scopes
  Only for Projects   foo, bar

A configuration that watches one status only. Any other status is left unmonitored on purpose, so there is no default row.

Thresholds
  Pending Approval   1D    3D

Scopes
  Only for Projects   (empty)