Three phases. One engine. Real automation.
Every automation runs the same way — a trigger, a decision, and an action — and that decision can lean on your sensor history, not just what's happening right now. Scroll through a run, phase by phase.
How a run starts
Reaches the platform
A live sensor reading arrives, or a scheduled time you've set is reached — either way, the platform picks it up and a run begins.
What gets checked before anything happens
Checks the current value
The live reading that triggered it — or from any other sensor you point it at, not just the one that fired.
Checks the stored history
The average, minimum, maximum, or count of a sensor's readings over a time window you choose — real analytics on stored telemetry, not just a snapshot in time.
What actually happens
Commands go out
To one device, or several at once — the same command path a person triggering it manually would use.
Devices confirm
The platform waits to hear back that every command actually landed, not just that it was sent.
The run is recorded
What ran, what it checked, and what it did — always on the record, on that automation and in your account's full activity log.
Your automations get smarter the more data you have.
Every reading your sensors have ever sent stays queryable. The Execution phase can lean on that entire history, not just the value that just came in.
Compare against trends, not just the moment
A condition can check the average, minimum, maximum, or count of a sensor's readings over a time window you choose — not just what it reads right now.
Conditions aren't limited to the trigger
An automation triggered by one sensor can check its condition against a completely different sensor — comparing readings across your fleet, not just in isolation.
If this, then that — else something else
Automations aren't a single straight line. A condition branches into different actions depending on what's actually true, node by node.
Chain commands, with waits in between
One automation can dispatch multiple commands in sequence, pausing between them for as long as you need — a real multi-stage workflow, not one trigger and done.
All of it is built visually — dragging and connecting nodes on a canvas, not writing code.