Build the conversation, then test it before anyone calls
November 4, 2026 · release
Most agents start as a long function full of if statements. It works until someone asks what happens when the user says something unexpected, and you have to read the code to answer.
Projects created from the flow-agent template now have a Flow tab. You add steps on a canvas: say something, wait for the user, route on what they said, call an HTTPS endpoint or an MCP tool, ask a model, end the session. Each node is checked as you type, and Save stays off until the errors are gone. If a teammate saved first, you get a conflict notice instead of overwriting their work. The same flow runs in a voice call and in a text chat or data-only session.
The simulator runs the flow on mock data. Nothing is sent anywhere and no model is billed. You write the answers each node should return, including error cases, or let the generator draft them. Step shows the run one node at a time, Continue runs to the next breakpoint, and a right-click sets one.
When something goes wrong in a real session, open it from the list and watch its path light up on the canvas. The replay reads the last 200 log lines, and it says so when a session was longer.
The flow lives in your repo as voicethere.flow.json, next to a mocks file and an agent.ts that imports it. A build with an invalid flow fails with invalid flow <path>: and one line per problem. The CLI moves the file in and out with voicethere flow export and voicethere flow import, which need @voicethere/cli 0.20.0 or later. Route and llm nodes call the model with your own LLM key, stored as a project secret.
Try it
- Docs: Flow builder
- Dashboard: create a project from the flow-agent template and open the Flow tab