Workflows
Delays, pauses and SLAs
Wait for a duration or a date without holding a process, set SLAs on runs, and react when they are at risk.
Pause for Duration
A Pause for Duration (delay) node waits for duration unit (seconds, minutes, hours or days).
- Waits of up to 30 seconds happen inline.
- Longer waits pause the run: its status becomes
waiting_for_event, nothing is held in memory, and adelay_resumejob on the queue continues the run atresume_at. The node's output recordsdelay_msandresume_at.
Pause Until Date
Pause Until Date (pause_until) works the same way with an absolute date or expression, for example {{=ADD_DAYS(invoice_due, -3)}}.
Timed resumes are picked up by the queue processor, which pg_cron calls every minute. On a self-hosted install without the Vault secrets, paused runs wait until the processor is called. See Scheduled jobs.
Waiting for an external event
A run can also wait for something outside UserTasks. Resume it with the event id it is waiting on:
usertasks events complete <event-id> --set return_variables:='{"payment_status":"settled"}'SLAs
Set SLA gives the run a deadline (relative, like 3 days, or an exact time) and an optional warning threshold. The SLA sweep (every 5 minutes) emits workflow.run.sla_warning and workflow.run.sla_breached events, fires Workflow SLA triggers, and SLA state shows in run lists and reports.
Task SLAs (due dates, reminders, escalations) are separate and covered in Assignment and SLAs.
Schedules
Schedule triggers start new runs on a timetable; see Triggers.