What you’re building
The PyAI stack for this build
Build order
1
Get a key and say hello
An instant sandbox key includes the
omni:session scope.
Open the socket and send one configure frame with a voice and a persona;
the browser voice agent guide gets you
talking to it from your machine in about ten minutes.2
Give it your business knowledge
Point
kb_endpoint at your own HTTP endpoint (hours, pricing, policies,
FAQs) and Omni grounds its answers in it per turn. The session_label on
the connect URL is echoed to your endpoint so you can branch per business
or location.3
Wire booking and lookups as tools
Declare functions in the
configure frame (check availability, book a
slot, look up an account); PyAI calls your signed webhook when the agent
invokes one. Hosted tools (web search, datetime, math, and more) need no
setup at all. See the Omni tools guide.4
Set the greeting and the rules of escalation
Store
greeting and consent_line on an agent profile so every call
opens correctly and discloses recording. Decide when the agent hands off:
transfer_to_human is built into the engine. The
agent greeting guide covers profiles.5
Put a phone number on it
Provision a managed number and route it to the agent, or point your
existing Twilio trunk at the same session. This is the moment the phone
actually rings.
6
Watch every call
Recap summarizes each call when it ends; Trace scores it against
compliance packs. Both are in the console with no extra wiring.
No code? Agents Beta builds the same
receptionist from the console: configure, test, and connect a number without
writing the WebSocket client yourself.
FAQ
Can a PyAI receptionist book into my calendar or CRM?
Yes. Declare a booking function in the session’stools and PyAI calls your
signed webhook when the agent invokes it, so the agent can check real
availability and write real appointments into any system you can reach over
HTTP.
What happens when the agent does not know an answer?
You control the fallback in the persona and tools: offer to take a message, or transfer to a human with the built-intransfer_to_human call control.
Trace and Recap records let you review every call where it happened.