FormWork documentation
Step Settings
Detailed configuration reference for every core workflow step.
Use this page after choosing a step in Step Types. It lists every editor control while keeping the normal workflow path short.
Settings at a glance
| Step | Required starting point | Paths |
|---|---|---|
| Send Email | Recipient, subject, and content | Next |
| Generate PDF | Filename and content | Next |
| Condition | One or more rules | True, False |
| Calculation | One or more named formulas | Next |
| Create Entry or Row | Target form/table and field mappings | Next |
| Update Entry/Row | Target record/value and mappings | Next |
| Delete Entry or Row | Target record reference | Next |
| For Each Loop | List reference | Loop Body, After Loop |
| Extension Action | Enabled environment, action, and mappings | Next, Error |
Send Email
Configure addressing first:
- To Email Address — one address or a comma-separated list; fixed text, references, and template expressions are supported.
- CC Email Address and BCC Email Address — optional comma-separated recipients.
- Reply-To Email Address — optional reply destination.
- Subject Template — fixed text and/or references.
For Content, choose:
- Inline — write the Body Template directly in the step.
- Template — select a reusable project content template.
For Layout, choose:
- Default layout — wrap the content in FormWork’s default email presentation.
- No layout — send the rendered content without that wrapper.
- Template layout — select a reusable layout template.
When a selected content or layout template declares template.* tags, Template Data maps each tag to a fixed value, reference, template, formula, or compatible collection mapping. See Reusable Templates.
Under Attachments, add any number of references that resolve to FormWork file IDs. A Generate PDF step’s file_id is a common source. Empty or inaccessible references will prevent the email job from attaching the intended file, so verify them in the run before launch.
The step queues delivery and follows Next. delivery_status: queued means the message has been accepted for delivery; it does not guarantee final delivery.
Generate PDF
- Filename Template — fixed text and references; include a useful
.pdfname. - Content: Inline — enter HTML directly in the step.
- Content: Template — select a reusable content template.
- Layout: No layout — render the content as supplied.
- Layout: Default layout — apply FormWork’s default document wrapper.
- Layout: Template layout — select a reusable layout template.
- Template Data — appears for reusable content or layouts that declare merge tags.
- Generated File Access: Admin only — requires account-authorised access.
- Generated File Access: Admin and entry key — also permits the respondent entry session to access the generated file.
The file is stored on the current entry. Use its returned file_id for an email attachment or its authorised download_url where appropriate. Generated HTML and data can contain sensitive information, so choose the narrower access level unless the respondent needs the file.
Condition
Build one or more rule groups. At each level, choose All to require every child or Any to require at least one. Each rule has:
- A reference-aware left operand
- A type-compatible operator
- A comparison value when that operator needs one
Connect both True and False when work should continue in either case. An unconnected path simply has no downstream work. The available comparison controls are listed in Operators Reference.
Calculation
A Calculation step can contain several ordered calculations. For each one you can:
- Add, delete, or move it up/down
- Edit its stable calculation ID
- Enter an Excel-style formula containing fixed values and FormWork references
Each calculation ID becomes an output name. Later calculations in the same step and later reachable steps can use configured references where the picker permits them. Use durable lowercase IDs such as subtotal, tax, and total; changing an ID breaks references that use the old output name.
A calculation returns a number when its result is numeric, text for other non-empty results, and an empty value for an empty result. Validate formulas before publishing and test edge cases such as empty inputs, zero, and decimals.
Create Entry or Row
- Select the target Form or Data Table.
- Add Field mappings for the target answers or cells.
- Map every target value that the new record needs.
The schema explorer shows the destination’s available paths. A mapping can use a fixed value, reference, template, formula, or compatible array mapping; the choices narrow according to the target type and cardinality. The new record is created as a draft/row and the step returns created_id.
An entry created by this step does not start the target form’s Entry Created or Answer Updated workflows. Add any required follow-up work explicitly.
A run from a draft version prefers the target form’s draft, then falls back to its published/current version. A published run uses the target’s published/current version. This keeps draft-to-draft testing isolated when both forms have drafts.
Update Entry/Row
First choose one Target Entry/Row reference. It may point to:
- An entire entry or table row, followed by one or more field mappings
- An answer, metafield, cell, or repeatable instance selected by its full reference
The editor resolves the target schema and presents compatible mapping targets. Map only values that should change; unmapped values are left alone. When the current entry changes, subsequent steps read its refreshed data.
Updates made by this step do not start Answer Updated or Metafield Updated workflows. Connect the required follow-up work in the current workflow, or start another workflow through its API trigger when separation is needed.
Delete Entry or Row
Choose the single Entry or Row to Delete with a reference. There are no additional step settings.
The record is removed from active lists and references, and there is no restore control in the current interface. Prefer a status update when the record may be needed later.
For Each Loop
Choose Items to Loop Over, which must resolve to a list. Connect:
- Loop Body to the first per-item step.
- After Loop to work that runs once after the list is exhausted.
The step has no concurrency, batch-size, continue-on-error, or collected-output setting. Iterations run through the configured body, and a body failure fails the run. Continue to For Each Loops for iteration references and persistence patterns.
Extension Action
Select an enabled Environment. For a general API Connector action, also select its Integration and Action; a step created from a specific connector action already fixes that action and links back to its test screen.
The mapping editor can expose:
- Required and optional Path params
- Query params
- Headers that the action allows the workflow to supply
- Schema-aware Body mappings
Each mapping uses the same fixed/reference/template/formula/array sources when compatible. Required targets are marked, and the schema explorer can add known body paths. The raw mapping view is an advanced representation of the same configuration; use the structured controls for normal editing.
A completed 2xx response follows Next. A completed non-2xx response follows Error. Invalid configuration, missing references, and connection failures fail the run instead of following Error. Connector authentication and protected headers come from the selected environment and are not ordinary workflow mappings.
See API Connectors for action and environment settings, and Workflow Runs for request/response diagnostics.