Skip to main content
Someone calls your number and the agent picks up. It is the same agent you built for web and outbound, with the same prompt, tools, voice, and session record. How it works covers what happens inside the call. Turn on initialGreeting so the agent speaks first, the moment the caller is connected, with greetingInstructions like “Say salam, introduce the clinic, and ask how you can help.” Turn on backgroundNoise and noiseCancellation too. Greeting and sound says what each one does.

You need a number first

Today you need a number of your own to receive inbound calls. We assign one on request and route it to your assistant. Email founders@upliftai.org. A self-serve way is in the works. The same number can also be your caller ID on outbound calls, depending on your plan and setup. Once it is set, dials without a fromNumber go out from it. A live inbound call counts against your concurrency but is never rejected for being over the limit. It can hold back an outbound dial instead.

Write the prompt for someone who called you

The caller decides what the call is about, so the prompt must cover more than one reason. Say in the prompt that the person called you. Then list the likely reasons: an order question, a booking, a complaint, a wrong number. Give each branch its own steps and closing line, the way Voice prompting lays out a call flow. For anything else, have the agent promise a callback from a teammate, say goodbye, and call end_call.

During the call and after it

  • During the call, webhook tools let the agent look things up on your server and act on them.
  • After the call, webhooks tell you the call finished, was graded, or produced a conversion or callback. Inbound calls fire the same four events as every other call.
Each inbound call is a session with channel: telephony and direction: inbound. The caller’s number is its fromNumber. Filter by direction on list sessions to see only inbound.

Score them

I recommend a scorecard on the assistant. That is the only place inbound calls get graded, since campaign scorecards do not apply. Without one there is no score, no call.graded, and no conversions.

Where this is going

We are thinking about a webhook-based way to handle inbound. Any call on your dedicated number would hit your endpoint with details like the caller’s number. You would accept it, reject it, or pick which assistant answers. If you want this, email founders@upliftai.org.