Triggers
Triggers define when your flow runs. Every flow must have exactly one trigger.
Trigger Types
Creates a unique URL that triggers your flow when it receives data. Perfect for integrating with external services and building APIs.
Best for:
- Real-time integrations with external services
- Processing data from third-party apps
- GitHub, Stripe, or other service webhooks
- Custom API endpoints
Configuration Options:
- Method: POST only (JSON or form-urlencoded body)
- Response: Default success JSON, or a custom response via the "Webhook Response" utility
Webhook Response: Use the "Webhook Response" utility to customize what data is returned to the caller. Without it, the webhook returns a default success response.
There is no separate secret/auth field - the unguessable URL token is the security boundary. Keep your webhook URL private; anyone with the URL can trigger your flow.
Automatically run your flow based on a schedule - every minute, hour, day, or using custom cron expressions.
Best for:
- Daily/weekly reports
- Regular data syncs
- Scheduled notifications
- Cleanup and maintenance tasks
Configuration Options:
- Preset: Common schedules (every 5/15/30 min, hourly, daily, weekly, etc.) that fill in a cron expression for you
- Cron Expression: Edit directly for full control (minute hour day month weekday)
- Timezone: Uses your profile timezone
Example: Run every day at 9:00 AM to send a daily summary email.
Automatically triggers when rows are created, updated, or deleted in your Base tables. Perfect for building reactive automations.
Best for:
- Reacting to new rows (e.g., new customer signup)
- Processing updates (e.g., status change triggers notification)
- Cleanup on deletion (e.g., archive related data)
- Data validation and enrichment
Configuration Options:
- Table: Select which table to watch
- Event Type: Row Created, Row Updated, Row Deleted, Column Changed, Status Changed To, Form Submitted, Date Arrives, Date Approaching, or Date Passed (pick one)
- View (optional): Limit the trigger to a specific view
- Watch Fields: For "Column Changed", pick which fields to watch
Trigger Data: The trigger output includes the full row data, plus metadata like which columns changed (for updates) and the previous values.
Manually trigger your flow whenever you want by clicking the Run button. Perfect for testing, one-off tasks, and flows you want to control directly.
Best for:
- Testing and debugging flows
- One-off data processing tasks
- Flows you want to run on-demand
- Development and prototyping
How it works:
- Run Button: Click "Run" in the flow editor to execute
- Pinned Data: Use pinned test data as trigger input
- No External Events: Only runs when you manually trigger it
Tip: Pin sample data on the manual trigger to simulate real inputs when testing your flow. This data will be used as the trigger output.
A row added, changed or deleted in a base (by you in the grid, by the chat, by an AI agent, by your own AI, by the API, by another flow or by an import), a file in Drive, a flow or agent run, a site event (a form submitted, a member signed up), a payment, a connector, or your own custom event. The event is raised on the server, so nothing depends on a browser.
Narrow it to the exact thing:
- Which base, which table, only when one of these fields changes, only rows where (e.g. Status is Paid)
- Which flow, AI agent, function, site, folder, mail trigger, connector or channel
- Any other property of the event: is, is not, contains, greater than, is set, is empty
In later steps:
{{#1.event}}the event name, e.g. base.row_updated{{#1.subject.name}}what it is about (the row, the file, the run){{#1.row.Customer}}the event's properties, flattened
Same trigger everywhere: an AI agent and a function have the same “Event (when something happens)” row on their Triggers tab. Automations → All triggers lists every trigger in the account.
How Triggers Work
Event Occurs
Webhook receives a request, schedule time arrives, or table row changes
Trigger Outputs Data
The trigger produces output data (webhook body, schedule timestamp, or row data)
Flow Executes
Connected nodes run in sequence, using the trigger's output data via {{#1.field}}
Tips
One trigger per flow
Each flow can only have one trigger. If you need multiple entry points, create separate flows.
Test with pinned data
When building a flow, you can "pin" sample data on the trigger to test downstream nodes without waiting for real events.
Trigger is always node #1
The trigger is always sequence number #1, so access its data with {{#1.fieldName}}.