Conditions, incidents and escalation
Conditions, incidents and escalation
Rules about your machines, the incidents they open, and who gets paged.
Permissions: The Conditions and Escalation screen (/shop-floor/settings/escalation) and the PA announcements screen (/shop-floor/settings/pa) need the Shop Floor license feature and the DataMagik - Builder role. Acknowledging and resolving an incident is also open to DataMagik - Viewer, so whoever is at the machine can answer a page.
How it fits together
A condition is a rule about a machine, such as "down for more than 40 minutes with no reason logged". When it becomes true an incident opens (one per episode, not one per check), and the condition's escalation ladder of rungs decides who hears about it and when. Nothing is watched until you arm a rule, and a condition with no ladder pages nobody.
Caution: Conditions are evaluated only for a site whose Live Plex reads setting is on (under /shop-floor/settings/sites). When it is off, the escalation screen shows No condition is being evaluated and nothing fires until it is switched on.
Add a condition
- Open
/shop-floor/settings/escalationand go to Add a condition. - Choose What kind of rule:
- Status and dwell: set Minutes in status, and optionally Only this status and Only this event (picked from the site's synced Plex statuses and reasons). Only statuses the plant classified as downtime and Only when nobody has logged a reason are on by default.
- Pace: set Units behind target. Only when every block could be priced is on by default.
- Tag value: pick Which signal (a mapped OPC-UA signal), how it Reads (above, at or above, below, at or below, exactly) and This value. Signals come from PLC tag mapping.
- Scrap: set Scrap rate above (%) and Only after this many produced. Tick Count scrap nobody gave a reason for if you want unattributed scrap included.
- Give it a Name and a Severity:
info,warn(the default) orcritical. Incidents inherit it, and PA zones use it to decide whether to announce. - Choose Which machines: every machine on the site, every machine of a workcenter type, or one machine (which overrides a type rule). Sites with equipment can also target equipment by kind or one piece.
- Set Must stay true for (minutes, 0 = at once). This is the hold time before an incident opens.
- Press Arm this condition. It appears under Conditions, read back in plain words.
Each card can change severity, Arm/Disarm or Delete the rule; incidents it raised are kept.
Build the escalation ladder
Every condition card has an Add a rung section (open by default while the condition has no ladder). For each rung:
- After (minutes): when this rung fires. Delays are measured from when the incident opened, not from the previous rung, so a ladder of 0, 5 and 15 pages at the start, at 5 minutes and at 15 minutes.
- Reaching: this address, or whoever is on shift. For an address, choose By: webhook (Teams or Slack) with a Webhook URL, the plant PA with a PA zone, or phone push to people with People to notify. For a shift role, pick Role, as the roster names it.
- And it: just pages, runs a script (pick a Script to run from your active scripts), sets a Plex status (pick Set the Plex status to and optionally With the event from the site's synced statuses and reasons), or, if your company has AI Agents, hands it to an agent.
- Falling back to: nothing, email or a Teams or Slack webhook, used when the main send fails or is refused.
- Press Add rung. Saved rungs can be moved up or down, disarmed or deleted.
Caution: A rung that runs a script, sets a Plex status or hands off to an agent acts automatically, with nobody in the loop, as soon as it is saved. A Plex status write goes through the same write outbox as other Plex writes (see Writing to Plex). Press Dry run first to read exactly what the rung would do.
Test a rung before you rely on it
- Dry run says when the rung would fire and what it would do, and sends nothing.
- Send a test is the drill: after you confirm, it sends a real message to the rung's actual destination, clearly marked as a drill, and shows what each destination answered, including any fallback.
Who a role reaches
A rung that names a role is resolved against the roster when the page is sent, using the shift the calendar says is running. Fill the roster under Who a role reaches: a Role, how it is Reached by (webhook, email, the plant PA or phone push) and the matching address, zone or person, On shift (0 = any), then Save contact.
Above the conditions, the Who these ladders reach now bar shows the running shift and who each ladder reaches. Pick a Plant time and press Preview, or press 02:00 Sunday, to check who is reached when nobody is watching.
Answer an incident
Live incidents lead the escalation screen under Open now, each with its age, severity and a timeline of every page sent, including failures.
- Acknowledge pauses the ladder. The incident stays open.
- Resolve closes it. An optional note goes on the timeline.
- Mute webhook silences only the webhook channel for this incident; unmute reverses it.
- Where a rung set a Plex status, the timeline offers undo this when the machine's previous status is known.
An incident also closes itself when its condition stops matching, for example when the machine comes back. A resolved incident never reopens.
When many machines go down together, one page is sent for the group and the screen shows one card; Answer this storm acknowledges them all.
The acknowledge link
Pages include an Acknowledge link. Opening it shows a confirm page and changes nothing, so mail scanners cannot acknowledge for you. Type Your name, for the timeline and press Acknowledge; no sign-in is needed. Links expire a few hours after they are sent and work once.
Phone push notifications
On the escalation screen, the Notify this device card turns on notifications for the phone or computer you are using. Press Enable notifications, allow them, then Send a test. On iPhone and iPad this works only from DataMagik added to the Home Screen.
PA announcements
A PA zone is a speaker played by a connector agent. Set zones up at /shop-floor/settings/pa; the plant must be linked to a connector site first.
- Under Add a zone, enter a Zone name, choose the Connector, press List devices and pick an Audio device.
- Under Voice, choose Speaks with (The company's default AI voice or The speaker PC's own voice), the Language, Announce incidents at (info and above, warn and above, or critical only) and At most, per 10 minutes. Tick On and press Save zone.
- Press Test to hear it. A test ignores the zone's on/off switch, severity minimum and cap, and does not count against the cap.
- In a rung, choose By the plant PA and pick the zone. An announcement the zone refuses (below its minimum, over its cap) or that cannot reach the agent takes the rung's fallback.