Workflow Builder
Use the visual workflow builder to define your Flow's AI logic.
Workflow Builder
The workflow builder is the heart of every FormWise Flow. It is a visual editor where you define what your Flow actually does - how it processes input, what AI models it uses, how it branches, and how it produces output.
You will find the workflow builder in the Design tab of any Flow.
[Screenshot: The workflow builder canvas with a Start node connected to an Agent node]
How it works
Think of a workflow as a flowchart. Data enters at the top, flows through a series of steps (called nodes), and produces a result at the end. Each node does something specific - send a prompt to an AI model, make a decision, transform data, or call an external service.
Nodes are connected by edges (the lines between them). Edges define the order in which steps run and how data moves from one step to the next.
Workflows in FormWise are fixed-layout - nodes snap into a clean top-to-bottom structure. You do not have to manually position anything; the editor keeps the graph tidy as you build.
The canvas
The canvas is the large open area where you build your workflow.
Moving around
- Pan by clicking and dragging on empty space.
- Zoom with your scroll wheel, or use the zoom controls in the toolbar.
- Fit to view by clicking the maximize icon in the toolbar - handy after building a long workflow.
- Select a node by clicking it.
- Move nodes by dragging (in fixed-layout mode the editor auto-positions them; you mostly do not need to).
The viewport toolbar
A floating toolbar in the corner of the canvas gives you quick controls:
- Zoom in / Zoom out and a percentage readout of the current zoom level.
- Fit to view - re-centers and scales the whole workflow into view.
- Undo / Redo - step backward or forward through your recent changes.
Save state
Changes save automatically as you work. A small indicator near the top of the editor shows whether your draft is synced, syncing, or errored. If syncing fails, your changes stay safe locally until the connection recovers.
The Start node
Every workflow begins with a Start node. This is the entry point - it defines the input variables that your workflow receives.
- For Form Flows, the Start node automatically includes the variables from your form questions.
- For Chatbot Flows, the Start node includes the user's message and conversation history.
- You can also add custom input variables to the Start node if your workflow needs additional data (for example, from an API integration).
The Start node cannot be deleted. There is exactly one per workflow.
Adding nodes
There are a few ways to add a new node:
From an edge (the most common)
- Hover over the line connecting two nodes.
- Click the + button that appears on the edge.
- Choose the node type from the dropdown.
- The new node is inserted between the two existing nodes automatically.
Each node type in the menu shows its icon, label, and a short tooltip explaining what it does. A few labels differ slightly from the node's name on the Node Types page - the Agent node is labeled AI Prompt, and the Parallel node is labeled Multi Run. The rest match: If / Else, Classify, Webhook, and so on.
From a node's add handle
Hover over any node to reveal a + handle below it. Click to add a follow-up node directly after it.
Inside groups and branches
For nodes that contain other nodes (like Parallel, If/Else, or Classify), use the + inside each branch slot to add nodes to that specific branch. Group nodes like the Questions or Conversation Starters slots under the Start node auto-add the correct child type when you click their +.
[Screenshot: The node picker dropdown showing the available node types with icons]
Connecting nodes
In the fixed-layout editor, edges are created automatically when you add a node from an existing edge or handle - you do not draw connections by hand. The result is a graph that is always valid by construction.
A few rules worth knowing:
- Branching nodes - If/Else and Classify produce multiple downstream branches. Each branch becomes its own column in the canvas, and you can add nodes inside any branch independently.
- Parallel and Join - a Parallel node opens multiple lanes that run at the same time. The matching Join node waits for all lanes to finish before the workflow continues.
- Invalid graphs are blocked - you cannot create disconnected nodes, orphan branches, or cycles. If something is missing (like an empty branch), the editor flags it visually.
To remove a node, select it and press Delete or Backspace, or use the trash button in the node's settings panel. Edges into and out of the deleted node are reconnected automatically.
Configuring a node
- Click any node on the canvas.
- The settings panel slides in from the right.
- Fill in the node's settings - the available fields depend on the node type. An Agent node asks for a model, prompt, and output settings; an If/Else node asks for conditions; a Webhook node asks for a destination URL and what data to send (or, in Advanced mode, a method, custom headers, and body).
- Changes save automatically as you make them.
For a detailed walkthrough of the most common node type, see Configuring Agent Nodes. For every node type and what it does, see Node Types.
[Screenshot: The settings panel open for an Agent node, showing model picker and prompt editor]
Required fields
Most node types have at least one required setting - a model, a prompt, a condition, a URL. If a required field is empty, the node shows a warning marker on the canvas and the evaluator will refuse to run until it is filled in.
Variables flow between nodes
Every node can read data from the nodes that came before it. That is how a workflow does meaningful work - one node's output becomes another node's input.
Inside any text field that accepts variables (system instructions, prompts, conditions, webhook bodies), you can reference:
- Input variables from the Start node (form answers or chat message).
- Predecessor outputs from any upstream Agent, Skill, or Webhook node.
- State variables stored by Set State nodes.
- Classification results from upstream Classify nodes.
The variable picker in any compatible field shows you exactly what is available at that point in the workflow. For the full story, see Variables and Data.
Testing from the canvas
You can test your workflow at any time without publishing it:
- Click the Preview button at the top of the workflow builder.
- A side-by-side panel opens with your Flow's runtime UI on one side and a live trace on the other.
- Fill in the form (or send a chat message, depending on the Flow style) and submit.
- Watch each node execute in real time. Click any node in the trace to see what input it received and what output it produced.
The preview always runs your unsaved draft - you do not need to commit a version to test changes.
For structured, repeatable testing across many inputs, use the Quality tab instead.
AI workflow assistant
Not sure where to start? FormWise includes an AI workflow assistant that builds a workflow from a plain-language description.
- Click the AI Assistant button in the workflow builder.
- Describe what you want your Flow to do - "Take a blog topic and generate an outline, then write the full post."
- The assistant generates a workflow with the right nodes, connections, and starter prompts.
- Review the generated workflow, tweak settings to taste, and you are good to go.
The assistant is great for first drafts. You can always modify the generated workflow afterward.
Saving, versioning, and publishing
Drafts save continuously, but a published version is a frozen snapshot of your workflow that real users actually run.
- When your workflow is working the way you want, run the evaluator to catch any regressions.
- Click Publish (or Save Version) to commit the current draft as a new version.
- The new version becomes the live one your users run.
- Older versions stay available so you can roll back if needed.
See Versioning for the full story on snapshots, rollback, and side-by-side comparison.
Troubleshooting
Common issues and how to fix them:
- "Required field missing" - a node has an empty setting that must be filled in. Click the node and check the settings panel for highlighted fields.
- "Variable not found" - a prompt or condition references a variable that does not exist anymore (often because the upstream node was renamed or deleted). Open the variable picker and re-insert the correct reference.
- Preview runs but produces wrong output - open the per-node trace in the preview panel to see exactly where things diverged. Often a prompt is missing context, or a Classify node is routing to the wrong branch.
- Webhook node fails - check the URL, method, and headers. The trace shows the exact request that was sent and the response that came back.
- Workflow seems stuck - if a node uses an external service (Webhook, an integration, a slow model), it may be waiting on a response. The trace shows the in-progress node.
If you are still stuck, see Troubleshooting or open Execution History to inspect recent runs in detail.
Next steps
To learn about every node type you can add, see Node Types. To dive deeper into the Agent node specifically, check out Configuring Agent Nodes. To understand how data moves through your workflow, see Variables and Data.