Search documentation

Search docs pages by title or description

Join the waitlist
Browse documentation

Workflows

Workflows are your app's automation: when something happens, run up to ten steps — write data, send email, call a webhook, generate a PDF, notify people. They run server-side against the published app.

Triggers

SettingWhat it does
Row eventFires when rows of a table change, with an optional condition expression so only matching rows trigger.
ScheduleRuns on the clock in your chosen timezone. “For each row” mode runs once per row matching a filter — daily reminders for every overdue task.
ManualFires from a Run workflow action — automation on demand for the clicked row.

Steps

SettingWhat it does
Update rowWrite computed values to the triggering record — or to every record a Find records step matched.
Create rowInsert a computed row into any table.
Send emailTemplated subject and body with record values — plain text or a branded email template with variables; optional reply-to; attach up to 3 files generated earlier in the run.
Call webhookReach any external system, with custom headers (secret values supported) and a templated body.
Send notificationIn-app inbox + web push to an audience expression — see Notifications.
Generate PDFFill a PDF template with record values; save the file URL to a field or attach it to an email.
Generate CSVRender a CSV template (typed columns, delimiter, header row) over a filtered list of rows — e.g. one customer's orders; save the file URL to a field or attach it to an email.
Find recordsLook up rows anywhere in the app — later steps use STEP("name", "count"), STEP("name", "rows") and STEPFIRST("name", "Field") in their formulas; optionally stop the run when nothing matched.
Ask EmberOne AI call over a formula-built prompt; the answer becomes STEP("name", "text") and can be saved to a text field. Counts against the workspace's monthly Ember allowance.
Add commentPost a templated comment on the triggering record, authored as “Automation”.
Run workflowRun a manual workflow on the same record, inline — reusable sub-automations. Chains stop after 3 levels.
Delete recordDelete the triggering record (later steps can't use it anymore) — or every record a Find records step matched.
If / else branchOne condition splits the run into a “Then” and an “Otherwise” arm of steps — nest up to three levels for multi-way logic. The run history shows which arm ran.

Every step takes an optional Run if condition, so one workflow can branch — email the customer only when [Notify] = TRUE.

Chaining is opt-in

By default, rows written by a workflow do notfire other workflows — no accidental loops. Each workflow has a "triggers other workflows" toggle to opt into chaining, and even then depth and volume guards bound the cascade.

Workflows fire from the published app; a settings toggle can extend row-event triggers to draft-mode edits while you test.