Runs and run history
Every execution of a workflow produces a run. Runs have a status, a trace, and a retention window. The dashboard surfaces them in real time.
What's in a run
id— UUID assigned by the device, idempotent across upload retries.workflowIdandworkflowVersionId— what was running, and which version.deviceId— which paired phone produced it.status—queued,running,success,failed,cancelled.startedAt,endedAt— ISO-8601 timestamps in UTC.trace— an ordered list of trace events; one per node executed.errorMessage— populated when status isfailed.
Trace events
Each trace event records which node ran, what kind it was (e.g. action.tapByText), the outcome (ok / skipped / failed), an optional message, and the wall-clock duration.
Where runs are stored
Runs are written to a local Room database on the device first, then uploaded to the cloud via runs.report. That ordering is why runs survive a flat network — nothing is lost, it just arrives late.
Retention
Thirty days by default. Free caps at that window; Pro and Team keep runs for longer.
Real-time updates
The dashboard subscribes to run.updated via Server-Sent Events, so the run feed moves without a page refresh.