Preview and debug a graph
Dry-run an Agent graph, follow its live node events, and correct preview validation failures.
Start a ghost-mode preview to test the graph currently on the canvas without creating a persisted execution. You can follow live node and edge activity, inspect the terminal status, and correct structural or input failures before a real run.
Before you begin
You must be signed in, have access to the skill and its selected version, and have a graph open on the canvas. The graph needs START and END nodes with valid connections. Prepare synthetic input that matches the skill version's input schema.
Run the preview
Trace the workflow from START through its work and decision nodes to END. Remove stale edges or reconnect them to node IDs that still exist. Use Graph nodes and validation reference to check supported node types and field limits.
The preview request rejects an incomplete graph before it allocates a preview ID.
In the execution input area, select ↻ Sample to reload the schema sample, or select Raw and enter a JSON object. For example:
{
"ticket": "A customer cannot access the example workspace",
"priority": "normal"
}The top-level value must be an object, not an array, string, number, or null. Select Expand JSON when you need the full-screen editor. Agent Studio checks the object against the selected skill version before starting the preview.
Select Ghost Preview. Agent Studio validates the graph, confirms that the skill version exists and belongs to a skill you can access, validates the input, and registers a temporary preview.
On success, a notification reports Ghost preview started and explains that the graph is dry-running without persistence. The canvas opens the trace against the returned preview-… ID.
Keep the trace connected while the workflow runs. The first SSE subscriber starts the dry-run, and the stream then reports node starts and ends, traversed edges, execution status, router decisions, loop iterations, and other node-specific details produced by the workflow.
Use the sequence to find the first divergence: a node that fails, a router that chooses the wrong label, a loop that reaches an unexpected iteration, or an edge that never receives a traversal event. The stream sends a heartbeat every 15 seconds to keep the connection active.
Wait for an execution:status event. The stream closes when the preview reaches COMPLETED, FAILED, CANCELLED, STEP_LIMIT_EXCEEDED, or PAUSED_FOR_APPROVAL.
COMPLETED confirms that this input reached a successful terminal status. The other statuses identify the class of interruption; inspect the immediately preceding node and edge events for the point of failure or pause.
Select BACK TO EDIT after you have recorded the failing node, route, and status. Correct the graph, prompt, tool configuration, or input, then start a new Ghost Preview.
A new preview is the reliable way to retest. After a preview finishes, its temporary session is deleted, so reconnecting does not replay missed events.
Verify the graph
COMPLETED.Repeat the preview with at least one input for each consequential router branch. A single successful input confirms only the path it exercised.
Troubleshooting
After the preview covers the important branches, run and find the execution to create a persisted run you can inspect later.