The Workflow AI Assistant is available in the composable workflow editor for v2 workflows. Legacy template workflows do not have this chat panel.
Where to Find It
Open a composable workflow at/workflows/v2/:id. The assistant lives in the right-side Chat panel next to the canvas. Agent edits are the same kind of in-memory editor changes you could make manually. They do not persist until you click Save.
When the agent is working, the editor may show:
- An animated busy ring around the canvas.
- An agent cursor over the node being edited.
- Tool-call rows in chat showing what changed.
What You Can Ask
The assistant can help with:- Build from scratch: “Create a weekly Slack digest of severe customer signals.”
- Edit a workflow: “Replace the webhook with a Slack message to #customer-alerts.”
- Explain a graph: “What does this workflow do?”
- Debug a failed run: “Why did the latest test fail?”
- Generate filters: “Only include external customer signals with negative sentiment from enterprise accounts.”
Tool Surface
The assistant uses a bounded tool set. Some tools run on the server, and others mutate the in-memory editor state in the browser.| Tool | What It Does |
|---|---|
list_block_types | Reads the server block registry, including block names, categories, output fields, and config schemas. |
get_recent_runs | Reads recent runs for the current workflow, optionally filtered by status. |
get_run | Reads detailed per-node output and errors for one run. |
get_workflow | Reads the current in-memory graph, name, and description. |
add_node | Adds a block from the catalog to the canvas. |
update_node_config | Sets one config field with a literal, ref, or template value. |
update_node_name | Renames a block. |
remove_node | Removes a block and its edges. |
connect_nodes | Adds an edge, rejecting cycles, duplicates, and self-loops. |
remove_edge | Removes a connection. |
auto_layout | Tidies the canvas after structural edits. |
generate_signal_filter | Converts a natural-language signal filter into the JSON filter envelope used by workflow signal blocks. |
Filters and Variables
For signal workflows, ask in plain language:Only high-severity churn risk signals from external customers this month.The assistant calls
generate_signal_filter, stores the returned filter as a literal config value, and the normal signal filter UI can render it later.
For other fields, the assistant uses:
- Refs for direct upstream values, such as a trigger’s
callId. - Templates for text with multiple values, such as a Slack message body.
- Resource literals for connected resources, such as a selected Slack channel.
Debugging Runs
Use Run History for visual inspection, or ask the assistant to inspect recent runs. It can read run status, run-level errors, node-level errors, and truncated node output. If you click Fix with agent from a run or node error, BuildBetter sends that failure context into the chat so the assistant can propose and apply graph edits.What the Assistant Will Not Do
- It will not save the workflow. You choose when to click Save.
- It will not enable or disable the workflow.
- It will not invent blocks outside the registered block catalog.
- It will not execute arbitrary JavaScript.
- It does not bypass integration requirements for Slack, webhooks, or external APIs.