AI Workflow Nodes: Inputs, Models, Tools, and Review Steps
An AI workflow is a graph of nodes, each with a job and a data contract. Understanding what each node type does, what it passes on, and where things go wrong makes workflows easier to build and debug.
Updated 6 min read
An AI workflow is a directed graph where each node has a specific job: receive an event, call a model, use a tool, make a decision, review an output, or deliver a result. Data flows from one node to the next, transformed at each step. Understanding what each node type does and what it passes to the next node makes the difference between a workflow you can debug and one you can only restart and hope.
Nodes execute the work. The tasks, decisions, and handoff records that govern the work belong somewhere persistent. Tools like fenbs hold the project context outside any workflow execution, so a new session or a new assistant starts from the current state rather than from a blank execution log.
The trigger node
Every workflow starts with a trigger. The trigger node listens for an event — a new record, a scheduled time, an incoming message, a webhook call — and passes the event data to the next node. The trigger determines what data is available downstream. Every other node in the workflow can only use what the trigger provides plus what subsequent nodes generate.
A common mistake is assuming the trigger provides more than it does. A "new email" trigger in an automation platform may provide the subject, sender, and body, but not attachments or thread history unless you add a separate step to retrieve them. Map the trigger's output schema before building downstream nodes.
If the trigger fires on partial data — a form submission where not all fields are required — add a validation node before the first model node. A model node that receives an empty required field produces a less useful output than one that receives a validation error and stops the execution cleanly.
The model node
The model node sends a prompt to an AI model and receives a completion. The prompt has two parts: a fixed instruction (what the model should do) and a variable part built from the data that arrived from the previous node. The model node outputs the completion text, and optionally a structured response if the model supports it.
Model nodes are where most workflow quality problems originate. The prompt instruction and the input data need to match. If the instruction says "summarize the following customer complaint" but the input is a product ID with no accompanying text, the model has nothing to summarize and will either fail or produce an unhelpful response.
Structured output — asking the model to respond in JSON with specific fields — makes downstream parsing more reliable. Without it, the next node has to parse natural language, which is brittle. Most current model APIs support structured output or function-calling schemas; check the documentation for the model you are using.
The tool node
A tool node calls an external service: reads from a database, queries an API, writes a record, sends a message, or calls a function. In an agentic workflow, the model node can decide which tool node to call based on its output. In a fixed workflow, the sequence is predetermined and the tool nodes are wired in a specific order.
Tool nodes carry the most risk in a workflow because they have side effects. A model node that produces a wrong response can be ignored; a tool node that writes the wrong response to a customer record or sends the wrong email cannot be easily undone. Add a confirmation step before any tool node that writes to or sends from a live system.
- Read tool nodes (search, query, lookup): safe to run without a review step; low side-effect risk.
- Write tool nodes (update a record, add a row, set a status): require confirmation that the model output is correct first.
- Send tool nodes (email, message, notification): should have a review step until you have measured error rates.
- Create tool nodes (new ticket, new record, new entry): review for correctness before the record is visible to others.
The router node
A router node examines the output from a previous node and directs the execution down one of several paths. It is the conditional logic of the workflow: if the classification is billing, go to the billing path; if it is technical, go to the technical path; if neither, go to the fallback path.
Every router should have a defined fallback path. If the input does not match any condition, the workflow should route to an error log or a human review queue rather than dropping the item silently. An item that disappears into an unhandled branch is harder to diagnose than one that lands in an explicit error state.
Routers are also where you implement confidence thresholds. If the model returns a classification with a low confidence score, route the item to manual review rather than passing it forward as if it were a certain result.
Keep the task and handoff record outside the execution graph
Workflow executions are transient. Add the task and its current state to fenbs before the session ends. Where we left off tells the next session which execution succeeded, which failed, and what the next step is — without digging through execution logs.
Create a free accountFree for one person · No credit card · Works with Claude, ChatGPT, Cursor and more
The review node
A review node pauses the workflow and waits for a person to approve, edit or reject the output before it continues. It is the human-in-the-loop checkpoint. In automation platforms, this is often implemented as a step that writes the pending item to a queue and waits for a webhook or a form submission before resuming.
Review nodes add latency. In a high-volume workflow, requiring human review of every item is not practical. Design the review node to activate only when the router node identifies low confidence, a high-risk output, or an exception case. The goal is to intercept the wrong items, not all items.
The output node
The output node delivers the workflow's result: writes to a database, sends a message, updates a record, returns a response to the caller. This is the final step where the workflow's value becomes visible. Everything before it either contributes to a correct output or it does not.
Log the output, not just the success or failure status. A log that records what the workflow produced, for which input, and at what time makes it possible to audit outputs, identify patterns in errors, and demonstrate the workflow's accuracy over time. Without a log, you only know that it ran.
Data contracts between nodes
Each node implicitly depends on the previous one providing the right shape of data. When that contract breaks — a field is renamed, a value changes type, a required field goes missing — the downstream node fails in ways that can be hard to trace back to the source. Write down the expected input and output of each node when you build it.
In practice, this means: document the fields each node uses, add validation for required fields, and test with edge cases (empty inputs, long inputs, inputs with special characters) before running the workflow on live data. Catching a contract violation in testing costs a few minutes; catching it in production after it has processed a thousand records is much more expensive.
How to do this with fenbs
- Create a free account. Add a project for the workflow with a description of its purpose, the trigger event, and the intended output.
- Add a task for each node type you are building. Record the expected input and output schema in the task plan.
- Record model choice, prompt versions and routing rules as decisions in Decisions and rules.
- Connect your AI app over MCP from Integrations. Ask it to read the project context before each build or debug session.
- After each test run, record what failed, what was changed, and the next step before the session ends.