Automation field paths
A condition in a Flowboard automation reads one value from the event that started the run. The field path is the address of that value. This page lists every path each trigger sends.
Last updated 21 August 2026
How a field path works
- Every path starts with
trigger.and uses dots to go deeper, for exampletrigger.deal.value. - In the editor, the Field Path box on a condition is a list of exactly the paths the automation's trigger sends. Pick from it where you can. The question mark next to the label shows the same list without leaving the node.
- Choose Custom path only when the value is not in the list, which today means a form answer or a webhook payload.
- A path the trigger does not send is not an error. It reads as empty, the condition is false, and every run takes the No branch. If a condition never passes, check the path against the table for its trigger before anything else.
Deal won deal_won
A deal in the CRM moves to the Won stage.
| Path | What it holds | Type |
|---|---|---|
trigger.deal.id | Deal ID | string |
trigger.deal.title | Deal title | string |
trigger.deal.value | Deal value | number |
trigger.deal.contact_email | Contact email | string |
trigger.deal.client_id | Client ID | string |
trigger.workspace_id | Workspace ID | string |
Proposal accepted proposal_accepted
A client accepts a proposal from its public link.
| Path | What it holds | Type |
|---|---|---|
trigger.proposal.id | Proposal ID | string |
trigger.proposal.title | Proposal title | string |
trigger.proposal.total_value | Proposal total value | number |
trigger.proposal.client_id | Client ID | string |
trigger.workspace_id | Workspace ID | string |
Task status changed task_status_changed
A task changes status in any project, including to Done.
| Path | What it holds | Type |
|---|---|---|
trigger.task.id | Task ID | string |
trigger.task.title | Task title | string |
trigger.task.old_status | Previous status | string |
trigger.task.new_status | New status | string |
trigger.task.project_id | Project ID | string |
trigger.task.is_milestone | Is milestone | boolean |
trigger.workspace_id | Workspace ID | string |
Invoice paid invoice_paid
An invoice is paid through Stripe.
| Path | What it holds | Type |
|---|---|---|
trigger.invoice.id | Invoice ID | string |
trigger.invoice.client_id | Client ID | string |
trigger.invoice.amount | Invoice amount | number |
trigger.workspace_id | Workspace ID | string |
This fires on a Stripe payment. Marking an invoice as paid by hand does not fire it.
Form submitted form_submitted
Someone submits one of your forms.
| Path | What it holds | Type |
|---|---|---|
trigger.form.id | Form ID | string |
trigger.form.title | Form title | string |
trigger.submission.id | Submission ID | string |
trigger.submission.data | Submission data (object) | object |
trigger.submission.submitter_email | Submitter email | string |
trigger.submission.submitter_name | Submitter name | string |
trigger.workspace_id | Workspace ID | string |
Individual answers live under trigger.submission.data.<field>, where <field> is the key of the question on your form. Those depend on the form, so type them by hand using the Custom path option.
Booking created booking_created
A visitor books a slot on one of your booking pages.
| Path | What it holds | Type |
|---|---|---|
trigger.booking.id | Booking ID | string |
trigger.booking.visitor_name | Visitor name | string |
trigger.booking.visitor_email | Visitor email | string |
trigger.booking.starts_at | Starts at (ISO 8601) | string |
trigger.booking_page.id | Booking page ID | string |
trigger.booking_page.title | Booking page title | string |
trigger.workspace_id | Workspace ID | string |
Scheduled scheduled
The schedule you set on the automation comes due.
| Path | What it holds | Type |
|---|---|---|
trigger.scheduled | Scheduled run | boolean |
trigger.cron | Cron expression | string |
trigger.fired_at | Fired at (ISO 8601) | string |
A scheduled run carries no workspace_id and no record data. It tells you that the time came, not what changed.
Webhook webhook
An external system POSTs JSON to the automation's webhook URL.
The payload is whatever the caller sends, so there is no fixed list. Address any top-level key as trigger.<your-field>, and nested keys with dots, for example trigger.customer.email.
Project completed project_completed
Listed in the editor, not yet wired to an event.
Automations that start from this trigger do not run until it ships. The editor says so on the node.
Worked examples
Escalate big deals
Trigger: Deal won
trigger.deal.value greater than 5000
If the won deal is worth more than 5,000, take the Yes branch.
Only react to tasks reaching Done
Trigger: Task status changed
trigger.task.new_status equals done
The trigger fires on every status change. This condition keeps only the ones that land on Done.
Route form leads by budget
Trigger: Form submitted
trigger.submission.data.budget greater than 2000
budget is the key of the question on your form. Use the Custom path option to type it.
Where this list comes from
The app keeps one map of what each trigger sends. The editor's picker, the runtime, and this page all read from it, and a test in the build fails if a built-in template ever references a path that is not in the map. If you find a field that is sent but not listed here, tell us and we will correct the page.