Concept

How agents run

Understand where your agent runs, what you host, and how a new version reaches callers.

Every call runs on VoiceLayer's own pool of workers, behind its safety checks. You choose how to build the agent, and that choice decides what, if anything, you host.

Two ways to build, one place to run

Flow builderVoice agent SDK
Who runs the callVoiceLayerVoiceLayer
What you hostNothingA small worker that serves your code: tools, hooks, a brain
Provider keysSaved under Settings → Provider accounts, never in your codeSaved under Settings → Provider accounts, never in your process
Custom logicTool steps call your HTTP APIAny code you write, on your own network
VoiceLayer numbersYesYes
PlaygroundYesYes
Text channels (SMS, Discord, chat widget)YesNot yet

Start with the flow builder: it covers most agents and has nothing to operate. You do not need the SDK for custom logic such as a database lookup or creating a ticket: add a Call an API step or register a tool that points at an endpoint you host. Reach for the SDK when you need logic the canvas cannot express. You can mix them: a flow can call your API for the hard parts.

Putting a flow live

  1. Save. The flow is a draft. Nothing runs.
  2. Publish. An immutable version is saved and checked. Errors block publishing; warnings do not.
  3. Go live. Saves, publishes and points the shared runtime at the new version in one step. The agent appears under Agents.
  4. Attach a number. Inbound calls to it run this version. See Phone numbers.

You can keep editing the draft while the live version answers calls.

Rolling out a new version

Each published version is immutable. New calls use the version that is live when they start; calls already in progress finish on the version they started with, so publishing never cuts a call off.

An agent's Versions tab holds its draft and live configurations. You can promote a draft to live, split new calls between two versions, and see every published version.

Code agents

An SDK agent adds a worker you run. It opens one outbound connection to VoiceLayer and holds a worker key, never a provider key or a key to the call infrastructure. How to deploy it, roll workers and roll back is in Voice agent SDK.

Next steps

On this page