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
| Setting | Options | What it does |
|---|---|---|
| Row event | create / update / delete | Fires when rows of a table change, with an optional condition expression so only matching rows trigger. |
| Schedule | every 15 min / hourly / daily / weekly | Runs on the clock in your chosen timezone. “For each row” mode runs once per row matching a filter — daily reminders for every overdue task. |
| Manual | — | Fires from a Run workflow action — automation on demand for the clicked row. |
Steps
| Setting | Options | What it does |
|---|---|---|
| Update row | up to 10 fields | Write computed values to the triggering row. |
| Create row | up to 10 fields | Insert a computed row into any table. |
| Send email | — | Templated subject and body with record values; attach up to 3 files generated earlier in the run. |
| Call webhook | GET / POST / PUT | Reach any external system, with custom headers (secret values supported) and a templated body. |
| Send notification | — | In-app inbox + web push to an audience expression — see Notifications. |
| Generate PDF | — | Fill a PDF template with record values; save the file URL to a field or attach it to an email. |
| Generate CSV | — | Render 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. |
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.