Loading

Waits and Timers

Two steps deal with time. A Wait pauses a run for a period or until a date. An SLA timer works out a deadline, optionally in working hours, and stores it on a record without pausing. Used together they give you "chase it if it is not done by the deadline".

Where to find it

Architect Panel → Automation:

  • Workflow Builder — Wait and SLA timer are in the Timing group of the Steps palette
  • Workflow Run History — shows waiting runs and warns when the resume task is off

Architect Panel → Data:

  • Business Hours Calendars — the working hours an SLA timer can count

The Wait step

  1. Add a Wait step where the run should pause.
  2. Either enter a length of time in Days, Hours and Minutes (decimals are allowed), or fill in Or until with a date and time (2026-12-31 09:00) or a placeholder holding one, such as {{due_date}}. If you give both, the date wins.
  3. Tick A person may skip this step while it is waiting if somebody should be able to release the run early. A skip asks for a reason and records it.
  4. Connect its Next port to what happens afterwards.

A waiting run holds nothing open. It records when it is due and stops; the task Workflow Resume (waits and SLA timers) carries it on. When the run wakes, later steps read the record afresh, so a change made during the wait is seen.

The SLA timer step

  1. Add an SLA timer step.
  2. Enter Time allowed (minutes): 480 for one eight-hour day, 2880 for two days.
  3. Choose Count working time from: a business hours calendar, or "Every minute counts (no calendar)". With a calendar, evenings, weekends and closed days are not counted. See Business Hours Calendars.
  4. Choose Stamp the deadline on: this record, or another record (a task a Create record step has just made, say), named by datastore and record ID.
  5. Choose Store the due date in: a date field of that record.

The SLA timer does not pause the run and has a single Next port: it calculates the deadline, writes it, and the run carries straight on. Later steps can use the deadline as {{sla.step.due}}; pick it from the { } value list rather than typing it.

Chasing a deadline

  1. SLA timer: set the deadline and store it on the record.
  2. Wait: Or until the deadline, chosen from the value list.
  3. Condition: is the record still open?
  4. Yes: Update record (raise the priority) and Notify the escalation contact. No: End.

This is exactly what the SLA escalation template builds; see General Templates.

The Workflow Resume task must be on

The resume task is installed switched off and in preview mode, and runs every 5 minutes once on. Until an architect turns it on from the Tasks screen, no Wait ever ends. The Wait step's panel says when it is not installed, turned off or in preview mode, with an Open Tasks button, and Validate warns on any workflow with a Wait. Workflow Run History shows a banner too, and counts waiting runs that are past their time. See Tasks.

The same task clears runs whose process was killed: a run left Running with no progress for over 30 minutes is marked Failed, so it can be retried.

What goes wrong

  • Runs sit at Waiting long after their time. The resume task is off or in preview mode.
  • A before-save workflow with a Wait. A workflow that runs before the save cannot wait. Use an after-save workflow.
  • An approval that is never answered. The Approval step has no timeout of its own. Put a Parallel step in front of it, with the Approval on one branch and a Wait plus Notify reminder on the other.
  • The deadline lands on a weekend. No calendar was chosen, so every minute counted.

Testing with short waits

Simulate does not pause at a Wait; it describes it and carries on, so you see the whole path at once. For a real test run, set a few minutes first and the real duration before you publish.

Worked example

A support desk promises a first response within four working hours. Its workflow starts when a ticket is added, runs an SLA timer of 240 minutes against the office calendar, stamps the deadline in the ticket's Response due field, waits until {{sla.n2.due}}, then checks whether the ticket's status is still New. A ticket logged at 4pm on Friday gets a deadline of 12 noon on Monday, not 8pm on Friday.

Recommendations

  • Turn on the Workflow Resume task before publishing any workflow with a Wait.
  • Use a calendar for any deadline a person has to meet.
  • Re-check the record after a long wait with a Condition before acting.
  • Make waits for people skippable so an administrator can release a stuck run.
  • Chase approvals with a parallel reminder rather than leaving them open-ended.