Skip to content

Workflow Engine

Every Scroll workflow is a sequence of typed steps executed in order by the engine. A run moves through the steps, pausing at any human-approval gate, and finishes by sealing a tamper-proof record.


Step types

Type What it does
analysis Calls the AI to read documents, extract data, check compliance, or draft text. Uses PII redaction for client data and live web search for current rules/fees. Output is stored as structured data + a human-readable summary.
gate Creates a human-approval checkpoint (a Authorisation Layer escalation) and pauses the run until someone approves or rejects.
submission Fires a government connector to file the application, only runs after the gate is approved. See Submission & Connectors.
seal Appends a tamper-proof entry to the Provenance Vault.
coordination Notifies an external party (e.g. a webhook or email).

A typical submission workflow looks like:

analysis → analysis → gate → submission → seal
(read & check)  (prepare)  (approve)  (file)    (record)

Analysis-only workflows (e.g. document review) simply end after their analysis steps and a seal.


Run lifecycle

A run moves through these statuses:

Status Meaning
running The engine is executing analysis/preparation steps.
waiting_approval Paused at a gate, waiting for a human to approve or reject.
completed All steps done; sealed in the Vault.
failed A step errored; the reason is recorded and the team is alerted.

The run view shows each step live (✓ done, ● running, ○ waiting) and expands to reveal the AI's output for each completed step.


Inputs

Each workflow defines an input schema, the fields and documents it needs (e.g. licence number, business name, a PDF). Inputs can be provided:

Required fields that are missing are highlighted, and you can request exactly those from the client in one click.


Background execution

Steps run asynchronously, so long AI or submission steps never block the UI. The run view polls for updates and reflects each transition in real time. If a step fails, the run is marked failed, the error is captured, and a notification is sent.