The canvas
The Flow Builder is a visual canvas where you design routing logic by placing and connecting nodes. Think of it as a flowchart that actually executes. Each node represents an operation -- a trigger, a decision, an assignment, or a side effect like sending a notification.
The canvas supports standard interactions: pan by clicking and dragging the background, zoom with the scroll wheel or pinch gesture, and select nodes by clicking them. Multi-select is available by holding Shift and clicking, or by drawing a selection box.
Node types
FlowRouter provides purpose-built nodes for common routing operations.
Trigger nodes
Every flow starts with a trigger node. Triggers define when the flow runs. Available triggers include:
- New Contact: Fires when a contact is created in HubSpot
- Form Submission: Fires when a specific HubSpot form is submitted
- Property Change: Fires when a specified property value changes on a record
- Deal Stage Change: Fires when a deal moves to a specific pipeline stage
- Manual: Triggered via API call or bulk action from the FlowRouter dashboard
Filter nodes
Filter nodes evaluate a condition and route records down the Yes or No branch. You configure filters using HubSpot properties and standard operators (equals, contains, greater than, is known, etc.). Filters can include multiple conditions combined with AND/OR logic.
Territory nodes
Territory nodes assign records based on geographic or segment rules. You define territories by mapping property values (country, state, industry, company size) to specific owners or teams. When a record enters the territory node, it is evaluated against the rules in priority order and routed to the first matching territory.
Round Robin nodes
Round Robin nodes distribute records evenly across a pool of owners. Configuration options include:
- Weighted distribution: Assign different weights to pool members (e.g., senior reps get 2x the leads)
- Capacity limits: Set maximum active assignments per rep
- Availability: Respect out-of-office status and working hours from HubSpot
- Sticky assignment: Keep leads from the same company assigned to the same rep
Account Matching nodes
Account Matching nodes check whether an inbound record belongs to an existing account. Matching criteria include email domain matching (with exclusions for generic domains), fuzzy company name matching, and custom property matching. Matched records follow the "matched" branch; unmatched records follow the "unmatched" branch.
Assignment nodes
Assignment nodes set the owner property on a HubSpot record. You can assign to a specific user, a HubSpot team, or dynamically based on a value from an upstream node (such as a territory match or round-robin result).
Notification nodes
Notification nodes send alerts when a record reaches a specific point in the flow. Supported channels include email, Slack, and HubSpot in-app notifications. Notifications can include dynamic properties from the routed record.
Edges and branching
Nodes are connected by edges -- the lines drawn between them. Each node has output ports that you drag from to create an edge to the next node's input port. Some nodes have a single output (e.g., Assignment), while others have multiple named outputs (e.g., Filter has "Yes" and "No", Account Matching has "Matched" and "Unmatched").
Flows can branch and merge. A single trigger can lead to multiple parallel paths, and paths can converge back to a single node downstream.
Testing and deployment
Flows have two states: Draft and Deployed.
In Draft mode, you can edit the flow freely and use Test Mode to simulate execution with sample records. Test Mode shows the path each record would take and the resulting assignment without modifying your HubSpot data.
When you deploy a flow, it becomes active and begins processing records that match the trigger criteria. Deployed flows can be paused, which stops execution without losing the configuration. You can edit a deployed flow by creating a new draft version -- your changes will not take effect until you redeploy.