GATHER / CONFIRM
GATHER suspends execution and presents a form to the end-user. When submitted, execution resumes with the collected values. CONFIRM presents an approve/reject prompt. Both produce a gather_url for the form.
| Construct | Description |
|---|---|
GATHER OPEN NEST field ... CLOSE NEST | Suspend and collect input. Execution resumes at the next step after the user submits. |
FORMAT EMAIL AS "label" | Email field |
FORMAT TEXT AS "label" | Text input |
FORMAT NUMBER AS "label" | Number input |
FORMAT DATE AS "label" | Date picker |
FORMAT BOOLEAN AS "label" | Checkbox |
FORMAT REQUIRED AS "label" | Required marker on any field |
Collect user input
GATHER
OPEN NEST
?name FORMAT TEXT AS "Your name"
AND ?email FORMAT EMAIL AS "Email address" FORMAT REQUIRED
AND ?amount FORMAT NUMBER AS "Amount"
CLOSE NEST
AFTER INSERT ?payment_record INTO "payments" FROM "app" SET ?id
AFTER EMIT "Saved: " & ?id
The initial API response returns
status: "suspended" and a gather_url. Redirect the user to that URL. When they submit the form, a second call resumes execution.CONFIRM — approval flow
(* Payment approval — suspends and waits for approve/reject *)
CALCULATE "150.00" SET ?amount
CONFIRM "Approve payment of $" & ?amount & " to vendor X?"
AFTER EMIT "Payment approved — processing..."
OR EMIT "Payment rejected"
CONFIRM is a two-branch OR: the first branch runs on approval, the OR branch on rejection.