How Inbound Calling Works
When someone dials a Truedy phone number assigned to your account, the following happens automatically:Agent answers
The agent answers the call and delivers its opening greeting. The conversation begins immediately — there is no hold music or menu system unless you build one into the agent’s prompt.
Conversation recorded
The call is transcribed and recorded in real time. A call object is created with
direction: "inbound".Setup: Step by Step
Obtain a phone number
You need a Truedy phone number to receive inbound calls. You can purchase a new number directly in the dashboard under Settings → Phone Numbers, or import an existing number by porting it to Truedy.Numbers are available in the US, Canada, UK, and a growing list of countries. Choose a number in the same country as your callers to avoid international charges on their end.See Buying Phone Numbers for a step-by-step walkthrough.
Assign the number to an agent
Navigate to Settings → Phone Numbers in the dashboard. Find the number you want to use for inbound, click the assignment dropdown, and select the agent that should handle calls on this number.Each phone number can be assigned to exactly one agent. A single agent can be assigned to multiple numbers (e.g. a toll-free number and a local number that both route to the same agent).You can also manage this via the API — use
POST /telephony/numbers/assign with assignment_type: "inbound":Configure your agent for inbound
Your agent’s prompt should be written with inbound context in mind. Unlike outbound calls where your agent speaks first with a specific goal, inbound callers may arrive for a variety of reasons and have their own agenda.See the Inbound Prompt Best Practices section below.
Inbound Prompt Best Practices
Writing a great inbound prompt is slightly different from outbound. Keep these principles in mind.Establish context in the system prompt
Your agent does not know why someone is calling when the call begins. Set the scene clearly:Use a natural greeting
Inbound callers expect to be greeted immediately. Your opening line should orient the caller quickly:Handle unknown intent gracefully
Unlike outbound calls where the agent drives toward a specific goal, inbound agents must be flexible. Include guidance for handling unexpected questions:Collect identifying information early
If your workflow requires knowing who is calling, ask early in the conversation:Unlike outbound calls, you cannot inject
variables into an inbound call at the moment it arrives — you don’t know who is calling until they tell you. Design your prompt so the agent collects any necessary context during the conversation itself.Passing Context to Inbound Calls
Inbound calls are initiated by the caller, so there is no API request at call-start where you can injectvariables. However, there are patterns you can use to provide context to the agent:
- Collect during the call
- Multiple numbers per intent
- Webhook + lookup
The most straightforward approach. Design your agent’s prompt to ask the caller for identifying information — name, account number, email address — early in the conversation. The agent can then use that information in subsequent turns.
Webhook Events for Inbound Calls
Truedy fires the same webhook events for inbound calls as for outbound. Configure your endpoints under Settings → Webhooks in the dashboard.| Event | When it fires |
|---|---|
call.started | The caller has been connected and the agent begins speaking. Includes the from_number of the caller. |
call.ended | The call has completed. Includes the full call object with duration and outcome. |
call.analyzed | Post-call analysis has finished. Includes transcript, summary, and outcome label. |
Concurrency and Capacity
Inbound calls consume from your account’s concurrent call limit just like outbound calls. If your limit is 5 concurrent calls and 5 calls are already active, the 6th inbound call will receive a busy signal. To estimate the concurrency you need:- Determine your expected peak calls per hour
- Estimate average call duration in minutes
- Apply Little’s Law:
concurrency needed = (calls per hour × avg duration in minutes) / 60
Caller ID and Privacy
When an inbound call arrives, thephone_number field on the call object contains the caller’s number as reported by the carrier. Note:
- Callers who have blocked their number will show as
anonymousorunknown - VoIP callers may show inaccurate or spoofed numbers
- Numbers are stored in E.164 format
Next Steps
Calls Overview
Understand call statuses, directions, and lifecycle
Webhooks Overview
Receive real-time events for call activity
Prompting Basics
Learn how to write effective agent prompts
Call Management
Retrieve and filter your inbound call history

