Conversational AI Platform overview
Updated
Learn how the Conversational AI Platform works, what you can build with it, and which path to follow.
Preview documentation
The Conversational AI Platform lets you build voice agents that talk to your users in apps and over the phone. You save an agent's configuration once in your project, then run it in as many conversations as you need.
The Conversational AI Platform is in Preview. During the Preview, agent sessions run in North America (US). Geofencing isn't supported.
How the Platform works
The Platform separates setting up an agent from when and where you run it. In your project, you save agent configurations and the secrets they use, such as API keys for your ASR, LLM, and TTS providers. You also import the phone numbers that agents call from and answer. Then you start sessions and campaigns that run your agents.
The Platform has five building blocks, each scoped to a single Agora project:
- Agents: An agent is a saved configuration that defines how your voice agent behaves: its instructions, greeting, variables, and the models that power it. A project can have many agents, for example one for support and one for sales. You create an agent once, then use it to start sessions and campaigns, and to answer calls to your phone numbers.
- Secrets: A secret set stores provider API keys and other credentials. Instead of embedding a key in an agent's configuration, you refer to it by name. The API never returns secret values.
- Sessions: A session is a single conversation. It runs an agent in an RTC channel in your app, or in a phone call. To test a configuration without saving it, you can start an ephemeral session with the agent configuration in the request.
- Phone numbers: A phone number connects your agents to the phone network. Agents place calls from your numbers and answer calls made to them. You import numbers that your carrier assigned to you, with their SIP trunk settings, and choose which agent answers each number.
- Campaigns: You create a campaign to call a list of contacts with a saved agent, right away or on a schedule. Each call starts a phone session.
Together, these building blocks let one agent handle conversations across your app and the phone network. For example, a support team might store its LLM key in a secret set, create a support agent that references it, and assign the agent to its support phone number. The same agent then answers inbound calls, talks to customers in the team's app through RTC sessions, and calls customers back through a campaign.
Key capabilities
With the Platform, you can:
- Personalize every conversation: Declare variables in an agent, such as a customer's name, and use them in its instructions and greeting. You pass the values when you start a session, or for each contact in a campaign.
- Use managed mode or BYOK: Use managed mode to let Agora provide access to supported ASR, LLM, and TTS models, or bring your own key to use your provider account. Store your keys in secret sets.
- Update agents safely: When you update an agent, every subsequent session uses the new configuration. Sessions that are already running keep the configuration they started with.
- Control conversation data: For each session, choose whether Agora retains its conversation data or discards it.
Choose your path
Choose the path that matches where your users talk to your agent:
In apps
Create an agent, then start and stop sessions that run it in an RTC channel or in telephony.
Phone calls
Import a phone number, route inbound calls to an agent, and place outbound calls and campaigns.
Python SDK reference
Save agents and run sessions from Python, and manage secrets, phone numbers, and campaigns.
TypeScript SDK reference
Save agents and run sessions from Node.js, and manage secrets, phone numbers, and campaigns.
Go SDK reference
Save agents and run sessions from Go, and manage secrets, phone numbers, and campaigns.
REST API reference
Explore every Platform endpoint, with request and response examples.
