An agent you build in the dashboard does nothing until you connect it to a channel. Tried has five channels: phone numbers (inbound and outbound), batch calls, browser web calls, the website chat widget and SMS. All of them use the same agent configuration and the same Retell-compatible API, so a front end or backend written for Retell switches by changing the base URL and key.
This section covers each channel from the dashboard and from the API. The Telephony section covers the SIP layer underneath phone numbers: trunks, carriers, headers, caller ID and recordings.
Channels at a glance#
| Channel | Dashboard | API | What it needs |
|---|---|---|---|
| Inbound phone calls | Phone Numbers, Inbound Call Agent | PATCH /update-phone-number/:n with inbound_agents |
A connected number and an agent |
| Outbound phone calls | Phone Numbers, Make an outbound call | POST /v2/create-phone-call |
A number with outbound_agents (or override_agent_id) and credit |
| Batch calls | Batch Call, Create a batch call | POST /create-batch-call |
A number with an outbound agent and a CSV of recipients |
| Web calls | Agent builder Test Audio, Voice Orb share links | POST /v3/create-web-call |
An agent; your page joins with the returned access_token |
| Chat widget | Chat Agents, Website widget tab | POST /public-keys |
A chat agent and a public key with allowed domains |
| SMS | Phone Numbers, Advanced Add-Ons, SMS | POST /send-sms, POST /create-sms-chat |
A number on a messaging-capable carrier |
How a phone call reaches an agent#
Every phone number in Tried is a SIP endpoint on LiveKit SIP. When you connect or buy a number, the API creates the LiveKit inbound trunk, outbound trunk and dispatch rule for it in code. You do not run lk sip commands by hand.
Connect a number#
Bring your own number over SIP trunking (Twilio or any carrier or PBX), or buy one through the API from Telnyx or Twilio. See Get a phone number and Custom telephony.
Assign agents#
Pick an Inbound Call Agent and an Outbound Call Agent on the number. Turn on A/B Testing to split calls across several agents by weight. See A/B testing.
Pin a version#
Point the number at an environment tag such as prod or at a fixed published version under Agent version, so editing the draft does not change live calls. See Environments.
Check capacity#
Your workspace has a concurrency limit (20 by default) shared by inbound, outbound, web and batch calls. See Concurrency.
Mock mode and vendor keys#
Tried runs end to end with no vendor keys. When a provider key is unset (or TRIED_MOCK_PROVIDERS=1), that provider runs in mock mode: number purchases return fake numbers, SIP provisioning is recorded in the provider operation log (GET /telephony/operations) instead of being sent, and recordings are short generated WAV files. Each provider leaves mock mode on its own once its key is set.
Features that only work against a real vendor are marked Needs keys in these pages, with the provider named. Infrastructure items such as static SIP IPs or an SBC are marked Deployment step.
| Provider | Keys | Used for |
|---|---|---|
| LiveKit Cloud or self-hosted LiveKit | LIVEKIT_URL, LIVEKIT_API_KEY, LIVEKIT_API_SECRET, LIVEKIT_SIP_URI |
All calls, SIP trunks, recordings (egress) |
| Telnyx | TELNYX_API_KEY, TELNYX_SIP_USERNAME, TELNYX_SIP_PASSWORD |
Buying numbers, SMS, branded caller ID |
| Twilio | TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN |
Buying Twilio numbers through the platform account |
| S3-compatible storage | S3_BUCKET, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY |
Recording files |
| Google reCAPTCHA | RECAPTCHA_SECRET, RECAPTCHA_SITE_KEY |
Chat widget and public key abuse protection |
Bring-your-own Twilio numbers do not need platform Twilio keys: they use your own Twilio Elastic SIP trunk. See Twilio.
Before you go live#
- Publish the agent and bind each number to a tag or version. An unbound number uses the agent's latest draft unless the weights pin a version.
- Set a Fallback number on inbound numbers so callers reach a person when every slot is busy.
- Reserve inbound slots if you run outbound campaigns on the same workspace.
- Set allowed inbound and outbound countries on each number to limit toll fraud.
- Add credit. Outbound calls return HTTP 402 when the credit balance is zero.
- In production, keep
TRIED_KYC_REQUIRED=1so a workspace completes the business profile before it places outbound calls, sends SMS or buys numbers.