Runtime Modes
Conduet runs your agent in one of two runtime modes. The mode is decided by the project's framework and shapes everything about how a conversation flows — what the model sees on each turn, where state lives, how branching works, and what kinds of products fit naturally.
Pick the right mode for your product
Agentic mode
framework: "agentic"
One LLM, one persona, one tool-calling loop per user turn. You configure phases — each with its own instructions, tool allowlist, and exit condition — and the model decides what to do within those guardrails.
Best for:
- Conversational products where users can say anything at any point
- Customer-support agents that need to switch between topics
- Sales / quoting / triage flows where the user is mostly free-typing
- Anything where "the model figures it out" is acceptable behaviour
Conversation-flow mode
framework: "conversation-flow"
A directed graph of typed steps you assemble on a canvas. Each step has a job — ask a question, branch on a value, call an API, run an LLM — and the runtime walks the graph turn by turn.
Best for:
- Scripted dialogs that follow a fixed sequence (KYC, multi-form capture)
- Flows where every path needs to be visible and auditable
- Multi-LLM patterns (extractor + responder, parallel branches)
- Anywhere you need step types beyond "model + tools" — code, parallelism, post-processing
The decision in one paragraph
If your product is closer to "a chatbot that talks like a person", agentic mode will feel natural — the user can ask questions out of order, jump topics, or interrupt without breaking anything. If your product is closer to "a guided form" or "a deterministic decision tree", conversation flow will give you the visibility and predictability you want. Both modes share the same knowledge base, the same tools, the same widget, and the same APIs — you can build a project in either mode and switch later.
Side-by-side comparison
How a turn flows in each mode
Agentic — a turn
- Read active phase from session state
- Apply any button-tap state writes (immediate)
- Run phase-enter side-effects: KB context injection, declarative buttons
- Build prompt: persona + project instructions + phase instructions
- Filter tools by phase allowlist
- Run a single tool-calling loop until the model produces a final reply (max 12 rounds)
- Evaluate exitWhen; if true, advance phase and fire enter side-effects same turn
- Persist state, increment turn
Conversation-flow — a turn
- Read current step id from the session's stack frame
- Execute that step (LLM call, branch, set variable, API, …)
- Resolve next step from connections / step output
- Repeat until a step waits for input, ends, or hits the step limit
- A single user turn can run many steps — and many LLM calls
- Pause at listen / buttons / end
- Persist state, increment turn
Switching modes after launch
The runtime mode is decided per project by the framework field. You can change it later via the project settings or the persist API — the API surface, channels, knowledge base, and widget all stay the same. Changing modes does not migrate your existing canvas or phases automatically; the conversation-flow canvas and the agentic phases are independent configuration surfaces. Launch in the mode that best fits your product, and switch later if your needs evolve.
Next
- Agentic mode reference — phases, exit conditions, snapshot keys, UI builtins.
- Canvas & Workflows — building conversation-flow projects.
- Tools & Integrations — what your agent can call in either mode.