Skip to content
TriedDocs
Deploy

Deploy your agent

The ways a Tried agent reaches people, and what each one needs before it goes live.

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
The Phone Numbers page with an inbound A/B split, an inbound webhook and country allow lists

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=1 so a workspace completes the business profile before it places outbound calls, sends SMS or buys numbers.