Two agents, one flow
Authoring involves two distinct agents:- Interview agent — Runs in the chat. It clarifies your intent and produces a Requirement Brief: a versioned, structured statement of what you want (
draft → confirmed → superseded). It never builds the DAG itself. - Planner — A system-level control-plane agent. Once you confirm a brief, the Planner (and its build-time wrapper) compiles the brief into a DAG. The Planner only composes from already-registered platform agents — it never calls third-party tools directly, which keeps it from hallucinating tool calls.
Conversation order
A session follows a consistent flow:- Clarify goal and destination — The Interview agent confirms what outcome you want and where the result should land (e.g. a Notion page, an email, an Attio record, or a run detail view), then writes a Requirement Brief.
- Confirm the brief — You approve the brief; this is what advances to the build.
- Match available agents — The Planner inspects your team’s agent pool to see which platform agents can cover the required steps.
- Draft the plan — A proposed DAG is shown on the canvas. You can accept it or ask for changes in chat.
- Gate on blockers — Missing connections or unresolved delivery targets pause the build. See HITL pause points below.
- Deploy — You confirm and the workflow is created and queued for deployment.
How the pipeline works
Behind the build is a LangGraph pipeline with four logical nodes: intent (parse the brief into a structured request), match (find pool agents that cover the required capabilities), assemble (wire the steps into a DAG with bound inputs and output keys), and validate (check for missing connections, placeholder target IDs, and binding correctness). The pipeline produces one of three outcomes:draft_ready, needs_clarification, or validation_failed. Only draft_ready advances to deploy.
The graph uses real LangGraph interrupt with a Postgres checkpointer, so a build can genuinely pause for human input and resume where it left off.