What you get
At the end of this page a real phone number rings, an agent answers it, and you can read the transcript. Everything here happens in the dashboard. The context for inbound routing does not include a public API for number assignment, so do not look for one.
Total time is about 15 minutes. Carrier registration is not part of that and is not needed for inbound.
Before you start
You need:
- A Finn account.
- A phone number you can call from (your own mobile is fine).
- A rough answer to "what should this agent do when someone calls?"
You do not need contact lists or a campaign. Those belong to outbound.
1. Create the agent
Sidebar, then Create New Finn. Fill in these fields and leave the rest at defaults:
| Field | What to put |
|---|---|
| Name | Internal label only. Inbound — Front Desk beats Test 3. |
| Voice | Pick one from the library and listen to the sample first. Premium voices add a few hundred milliseconds of latency. |
| Language | The language your callers actually speak. It drives speech recognition, not just output. |
| Time Zone | Where your callers live, not where you live. Business-hours routing reads this. |
| Identity | Who the agent is. "You are Maya, a receptionist at Acme Dental in San Francisco. You help patients book, reschedule, and cancel appointments." |
| Welcome Message | Set dynamic for inbound. Defined scripts are for compliance-sensitive openings. |
Save. Nothing is live yet.
Vague identity produces vague behavior. That is the single most common cause of a bad first call. See agents-prompting for the Style and Guardrails field, which is where you stop the model from improvising into pricing claims.
2. Get a number
Settings → Phone numbers → Buy Number. Pick a country and area code, filter for voice capability, choose from the list, confirm. Provisioning takes seconds.
Rental cost from the platform's published rates:
| Number type | Monthly |
|---|---|
| US local | $1 |
| UK local | $1.50 |
| India local | $3 |
| Toll-free | Typically 3-5x the local rate |
Per-minute telephony is billed separately. Numbers are available in 60+ countries. Regulated countries including India, France, and Germany require KYC or business verification before the number is provisioned, and the buy flow will ask for uploads. If you already own a number elsewhere, port it or SIP-trunk it instead. See phone-numbers and byoc-sip.
3. Point the number at the agent
Settings → Phone numbers → [Number] → Default Inbound Finn. Select the agent you just made.
That single setting is inbound routing in its simplest form. When the number rings, that agent answers. No deployment object is involved, which is the main structural difference from outbound.
4. Call it
Dial the number from your phone. Talk to it like a caller would, not like the person who built it. Interrupt it. Ask something off-topic. Ask for a human.
You can also use Test on Call from the agent page, which makes the agent ring your phone. That exercises the agent config but not the number routing, so do the real inbound dial at least once.
5. Read what happened
Live Deployments shows the call while it is active. After it ends, open the call in analytics and click through to the transcript, the audio recording, latency, and duration. See call-logs.
Structured extraction is off until you define fields. Add them under the Post-Call Analysis tab, for example appointment_booked as a boolean, and every subsequent call gets an LLM pass that fills them. See post-call-analysis.
What goes wrong on a first inbound call
| Symptom | Cause |
|---|---|
| Straight to voicemail | No agent assigned to the number, or a business-hours routing rule is active outside hours. |
| Five to ten seconds of silence after connect | SIP trunk codec mismatch. Only applies if you brought your own number. |
| Agent loops or guesses | Knowledge base gap. Audit it against your top 20 caller questions. See agents-knowledge-base. |
| Caller hangs up immediately | Some callers hang up as soon as they hear AI. Soften the welcome message and give an obvious path to a human. |
| Escalation fails | Transfer destination did not answer and no fallback was set. |
Expect 15-30% of receptionist-style calls to transfer to a human. Set handoff_number in Call Settings before you route real traffic, or those calls have nowhere to go. See tools-transfer.
Next
- inbound-routing for time-of-day, caller-ID, and dialed-number rules.
- concepts for how agents, deployments, and numbers relate.
- webhooks to push call results to your own systems.