Skip to main content
Before your first call routes to your Speech Pipe, complete these four steps once.

1. Pick a Voice Profile

Copy a profile_id (vp_...) for step 2. See Voice Profiles for filtering and fields.

2. Create a Speech Pipe

agent_id vs pipe.pipe_id
  • pipe.pipe_id - ID assigned by Unpod, used in REST API calls
  • agent_id - string name you choose; must exactly match AgentRunner(agent_id=...)
These are different. Mismatching them is the most common first-run failure.
Other pipe options (recording, max_call_duration_s, agent_endpoint) are in Speech Pipe.

3. Attach a Phone Number

attach() takes the number’s number_id (num_...) and the pipe_id.
No numbers yet, or bringing your own carrier? See Phone Numbers and Trunks.

4. Start Your Runner

Full Setup Script

Then start your runner in a separate process:

Environment Variables

Which URL setting to use

  • UNPOD_BASE_URL - management API and runner share one host.
  • UNPOD_SERVICE_BASE_URL - management REST override only.
  • UNPOD_ORCHESTRATOR_URL - runner WebSocket override only.
  • base_url= / orchestrator_base_url= in code - one script or test overrides .env.
Production values and the serve-transport extras: Deploy.