Binding a graph
A chat does not have to be a single model call. You can bind an agent graph to a chat so that, on every turn, your message runs through a full workflow you designed in the Studio — LLM calls, tools, panels, orchestrators, and more — instead of a plain completion.
What binding does
Section titled “What binding does”When a chat is bound to a graph, each message you send becomes the input to that graph. The graph executes, and its final output is returned as the chat response. This lets you reuse a polished agent workflow conversationally, with history, instead of running it manually in the Studio each time.
Exposed params
Section titled “Exposed params”A graph can mark certain node fields as exposed params — the knobs you want to adjust without editing the graph itself. Think of them as the graph’s public settings: a temperature here, a system instruction there, a top-k value for a retrieval node.
When you bind a graph to a chat, its exposed params surface as controls you can set for that chat.
How param overrides work
Section titled “How param overrides work”The values you set for the exposed params are stored as param_overrides — a flat map of
node_id.field → value. Before each run, these overrides are applied on top of the graph’s saved
configuration, so your per-chat settings take effect without changing the underlying graph. Every
override key corresponds to one exposed param.
Dashboard state persistence
Section titled “Dashboard state persistence”If your graph contains a Dashboard node, its widgets render in the chat and let you adjust values
interactively. Those values are kept in a persisted dashboard_state that survives across
turns — so a toggle you flip or a value you set on one turn is still there on the next, giving the
graph a lightweight, conversation-scoped memory of its UI state.
Watching per-node progress
Section titled “Watching per-node progress”Because a bound graph can run many nodes per turn, the ChatGraphProgress view shows execution as it happens: each node’s status updates live, so you can see which step is running, which have finished, and where output is being produced — right inside the chat.
-
Bind a graph to the chat.
-
Set any exposed params (and Dashboard widget values, if present).
-
Send a message — it flows through the graph as input.
-
Watch ChatGraphProgress track each node, and read the final output as the chat response.