Skip to main content
A workflow is a sequence of automated steps that FormFlows.ai runs in response to form events. Instead of manually checking for new submissions and copying data to other tools, you define the logic once and the platform handles execution every time the triggering event occurs. Workflows connect your forms to your broader tooling — email providers, spreadsheets, Slack channels, internal APIs, and more — without writing any code.

Triggers

Every workflow starts with a trigger: the event that kicks off execution.
Fires whenever a respondent successfully submits a form. This is the most common trigger. You can scope it to a specific form or to all forms in a folder.
Fires only when a new submission satisfies a condition you define — for example, when the “Department” field equals “Sales” or when a numeric score exceeds a threshold. Use this trigger to create branching automation paths without building multiple separate workflows.
Fires when a form transitions from draft to published. Useful for notifying teammates, creating a tracking record, or running a pre-launch checklist.
Fires when a form is archived. Use this to send a final summary, close a connected task, or update a status field in an external system.
Fires on a recurring schedule — hourly, daily, weekly, or on a custom cron expression. Useful for digest emails, periodic data exports, or reminder campaigns that reference submission data.
A single form can have multiple workflows attached to it. Each workflow runs independently, so a new submission can simultaneously trigger a Slack notification, a Google Sheets update, and a confirmation email.

Actions

After a trigger fires, the workflow executes one or more actions in the order you define.

Notifications and messaging

ActionWhat it does
Send emailSends a formatted email to one or more recipients. You can address it to a fixed address, to the respondent’s email field, or to a dynamic list.
Post to SlackPosts a message to a Slack channel or sends a direct message to a user. Supports field value interpolation so submissions surface inline.
Send SMSSends a text message via your connected SMS provider.

Data operations

ActionWhat it does
Add row to Google SheetsAppends a new row to a connected spreadsheet, mapping form fields to columns.
Update Google Sheets rowUpdates an existing row matched by a lookup value, useful for editing records rather than appending.
Create record in AirtableAdds a new record to a connected Airtable base.
Update record in AirtableUpdates a matched record in Airtable.

Integrations

ActionWhat it does
Call webhookMakes an HTTP request (GET, POST, PUT, or PATCH) to any URL, with full control over headers and request body. Use this to connect to any tool not natively integrated.
Trigger Zapier ZapFires a Zapier webhook trigger, giving you access to thousands of apps through your existing Zapier account.
Create task in Asana / TrelloCreates a task or card in a connected project management workspace.

Workflow control

ActionWhat it does
DelayPauses workflow execution for a set duration (minutes, hours, or days) before continuing to the next step.
Conditional branchEvaluates a condition and routes execution to one of two paths, similar to an if/else statement.
StopHalts the workflow immediately. Useful as the final step of a conditional branch that should take no further action.

Conditions and branching

You can attach conditions to any action step, not just to the trigger. An action only executes if its condition evaluates to true. This lets you write a single workflow with multiple branches rather than maintaining several near-identical workflows. Example: A contact form workflow that sends a high-priority Slack alert when the “Urgency” field is “Critical”, sends a standard email for all other values, and always appends a row to Google Sheets regardless of urgency.
Trigger: New submission (Contact Form)

├── Action: Add row to Google Sheets          [always]
├── Action: Post to Slack (#support-critical) [if Urgency = "Critical"]
└── Action: Send email ([email protected])     [if Urgency ≠ "Critical"]

Execution order and reliability

Workflow steps execute sequentially in the order you define them. If you add a Delay step, subsequent steps are queued and resume automatically after the delay period — you don’t need to keep the app open.
Workflow execution is asynchronous. After a respondent submits a form, they see the thank-you screen immediately. Workflow steps run in the background and do not delay the respondent’s experience.

Retries

If an action fails — for example, a webhook endpoint returns a 5xx error — FormFlows.ai automatically retries up to three times with exponential back-off. If all retries fail, the workflow logs the error and sends you an email notification.

Execution history

Every workflow run is logged. In the Workflow history panel, you can see:
  • The timestamp and trigger event that started each run
  • The status of every step (success, failed, skipped)
  • The full request and response payload for webhook and API calls
  • Any error messages returned by external services
Use the execution history log to debug integrations. If a webhook call fails, you can inspect the exact payload FormFlows.ai sent and the response your server returned.

Passing data between steps

Each step in a workflow can reference data from the triggering submission or the output of earlier steps. Use the variable picker in any text field to insert dynamic values:
  • {{submission.field_id}} — the value of a specific form field
  • {{submission.submitted_at}} — the ISO 8601 timestamp of the submission
  • {{submission.id}} — the unique submission ID
  • {{form.name}} — the name of the form
  • {{step.N.output}} — the response body from step N (useful after a webhook call)

Building your first workflow

1

Open the Workflow Builder

From your form’s dashboard, click Workflows, then New workflow.
2

Choose a trigger

Select the event that should start the workflow. For most use cases, start with New submission.
3

Add actions

Click Add step and choose an action from the panel. Configure each step — select connected accounts, map fields, and write message copy.
4

Add conditions (optional)

Click the condition toggle on any step to restrict when it runs. Build the condition using the field picker and comparison operators.
5

Test the workflow

Use Test workflow to simulate a submission with sample data. Review the execution log to confirm each step behaved as expected.
6

Activate

Toggle the workflow to Active. It will now run automatically for every matching event.

Next steps

Workflow Builder guide

Detailed walkthrough of the workflow builder interface.

Triggers reference

Full reference for every available trigger type and its configuration options.

Integrations

Connect FormFlows.ai to Zapier, Slack, Google Sheets, and more.

Data flows

Learn how submission data moves through the system after it is captured.