Inbound calls
Have an agent answer your incoming calls - routing, setup, and how inbound differs from outbound, in plain language.
Most of this guide is about outbound calls - your agent dialing out to a list. Inbound is the mirror image: a customer picks up their phone and calls you, and instead of ringing a desk or a queue, one of your published agents answers. Same agent, same brain, same voice - just pointed the other way.
Think of it as putting your best-briefed teammate on reception, permanently. It picks up on the first ring, at 2am or on a public holiday, greets the caller, figures out what they want, answers from your real documents, and hands the tricky ones to a human. No hold music, no “your call is important to us.”
The good news: setup is genuinely quick, because the platform wires up almost all of the plumbing for you. There’s exactly one part that can be a one-time manual step depending on how your numbers are provisioned, and we’ll be honest about that below.
The one thing to understand first: inbound routing lives on the number, not on the agent. You don’t “turn inbound on” inside the agent - you tell a number which agent should answer it. That’s the whole switch.
How inbound works (the 30-second version)
- A customer dials one of your phone numbers.
- The platform sees that number is routed to an agent, drops the call into a fresh room, and wakes that agent up.
- The agent reads which number was dialed and who’s calling, greets them, and takes the call.
- If nothing is routed to that number, or the agent can’t be reached, the platform politely apologizes and hangs up - the caller never gets dead air.
Everything in steps 2–4 is automatic. Your only job is step-1-and-a-bit: have a published agent, and point a number at it.
Set it up
1. Publish an agent that’s built to answer
Inbound needs a published (active) agent - drafts can’t answer live calls, and they won’t even show up as an option when you go to route a number. So finish your agent and hit Publish first. See Create an agent.
Design it for someone who called you, not the other way around (there’s a whole section on this below). At minimum, give it a warm opening and, ideally, a knowledge base so it can actually answer questions.
2. Route a number to it
Go to Numbers. In the Numbers tab, each number you own has an “Answers with” column with a dropdown.
- Open the dropdown on the number you want to use for inbound.
- Pick the agent that should pick up. (Only your published agents appear here.)
- That’s it - the moment you select an agent, incoming calls to that number connect to it.
To stop a number answering, set it back to “Not routed.”
Where’s the toggle inside the agent builder? You may spot an “Inbound calling” card in the agent builder that reads “Let this outbound agent also answer calls that come back to your number.” It’s currently marked coming soon and is switched off - don’t rely on it. The working way to enable inbound today is the “Answers with” dropdown on the Numbers page. Routing a number is the on-switch.
- Tip: you need the numbers permission to change routing. If the dropdown is greyed out or shows plain text instead, ask a workspace admin - see Team & roles.
- Tip: you can keep using the same number as caller ID for outbound campaigns and route it to an agent for inbound. They don’t conflict.
3. (Maybe) the one-time telco step
This is the honest part. For a call to even reach the platform, the underlying phone number has to be pointed at our voice infrastructure at the carrier level (with Plivo, that’s a piece of carrier plumbing called a Zentrunk - a SIP trunk that forwards incoming calls to us). Two things can happen here:
- Fully managed (the common case): if your workspace’s numbers were provisioned through us, this trunk is created and your number is attached to it automatically the first time you route it to an agent. You do nothing.
- One-time manual attach: in some provisioning setups this last hop has to be done once, by hand, in the Plivo console - pointing the number at the inbound trunk. It’s a five-minute, once-per-number operation, and it’s the only manual step in the whole flow.
You’ll know which case you’re in: if you route a number, call it, and the agent doesn’t pick up, this trunk attach is almost always the missing piece.
In plain terms: the “smart” part - matching a call to the right agent, spinning up the conversation, billing, transcripts - is all automatic. The only thing that can need a human touch is the physical “make this phone number forward to us” wiring, and only once.
Design for inbound (it’s a different job)
An outbound agent interrupts someone’s day with a reason to call. An inbound agent greets someone who already has a reason. That flips how you brief it.
Open by welcoming, not pitching
Set a first message that greets a caller who dialed you - “Thanks for calling Acme, how can I help?” - not an outbound-style pitch. If you leave the opener blank, the agent falls back to a friendly built-in receptionist greeting (“Hello! Thank you for calling. How can I help you today?”) in the agent’s language, so it never opens cold. But writing your own is better - it’s your brand’s first impression.
Lead with “how can I help?” and branch
You don’t know why they called, so the agent has to listen first and route second - support, sales, a billing question, a complaint. If your calls fan out into a few distinct paths, this is exactly what the Prompt & flow builder is for: one agent, several branches.
Attach a knowledge base
Inbound callers ask real, specific questions (“what are your hours?”, “what’s your refund window?”). Give the agent a knowledge base so it answers from your actual content instead of guessing. For inbound, this is close to essential - it’s the difference between a receptionist and a shrug.
Add a warm transfer for the calls a bot shouldn’t finish
Some calls need a person. Add the Transfer to human tool so the agent can warm-transfer: it dials your teammate, briefs them on the call so far, then connects the caller - who never has to repeat themselves. If nobody answers, the agent stays on and keeps helping rather than dumping the caller. Warm transfers record the full call; cold transfers hand off immediately without recording the human’s part.
- Critical: a transfer only works if there’s an approved number and a real person behind it. Set up your transfer numbers and make sure someone’s actually on the rota, or the transfer dead-ends. See Tools & actions.
A good inbound agent looks like: warm greeting → “how can I help?” → answers from your knowledge base → warm-transfers anything it can’t close, with context.
How inbound differs from outbound
If you’ve set up campaigns, it helps to know what’s not the same:
- No calling list. Inbound is caller-initiated - there’s no CSV, no contacts to upload, no dialing schedule. The caller decides when to call. If they’re not already in your contacts, the platform creates a contact for them on the spot, keyed to their phone number.
- No campaign. Inbound calls aren’t part of a campaign; they’re attributed directly to the agent the number is routed to. You won’t see them under a campaign’s stats - you’ll see them in Calls.
- Calling-window and DND rules don’t gate it. The calling-time window, Do-Not-Disturb scrubbing, and contact-frequency caps in your compliance pack exist to protect people you dial. When they call you, those gates don’t apply - the caller chose this moment. (Opt-out is a different story; see below.)
- Not recorded by default. Outbound calls can be recorded (with the spoken notice); inbound calls currently are not recorded, and the agent won’t announce a recording notice on an inbound call. You still get the full transcript. Inbound recording is a planned addition.
- A receptionist greeting, not an opener. As above, inbound uses a welcome, not a pitch.
Everything else is shared: inbound calls are billed per minute from your wallet exactly like outbound, they respect your per-workspace concurrent-call limits, and they run the same AI-disclosure and opt-out handling.
Compliance on inbound
Inbound is not a compliance back door, and the platform is deliberate about this:
- Your workspace still has to be verified (KYB). If your business verification isn’t complete, inbound calls are declined just like outbound ones. Getting called doesn’t skip the checks that let you go live. See Compliance.
- Opt-out is always honored. If a caller asks not to be contacted, the agent records it - the same do-not-contact entry it would create on an outbound call. That request sticks for your future outreach.
- The AI disclosure still runs. Callers are told they’re speaking with an AI assistant, in line with your pack.
A note for regulated verticals
If your agent is set to a regulated vertical (lending, collections, financial services, debt recovery), it uses an identity-gated workflow on outbound - it verifies it’s speaking to the right person before revealing any account details.
Be aware: that automatic account-detail identity gate is built around the outbound collections flow and is not yet applied to inbound calls - an inbound regulated agent runs the normal conversational flow. So if you route a regulated agent to an inbound number, build your verification rules into the agent’s guardrails yourself (e.g. “Never share balance or account details until the caller confirms name and date of birth”), and lean on your knowledge base for the correct process. Full inbound identity-gating is on the roadmap; until then, treat the guardrails as your safety net.
Measuring inbound
Inbound calls land in Calls right alongside outbound, with full transcripts and dispositions, so you can see what people are calling about and how well the agent handled it. It’s one of the fastest ways to learn what your customers actually want - every inbound call is a free piece of research.
- Tip: skim inbound transcripts weekly. The questions people ask over and over are exactly the FAQs to add to your knowledge base - which makes the agent better, which means fewer transfers.
Next: Calls & transcripts →