Two ways to place a call
- A campaign. Upload contacts, create a campaign with a goal, and launch it. We handle the scheduling and the retries, so you focus on the agent and the script. Set a calling window on the campaign, or it dials around the clock.
- One call, right now, through the API. Dispatch a call from the assistant with the number to dial. See variables and per-call instructions for how to personalize an API call.
Write the agent for one job
Outbound agents work when the goal is narrow and the edge cases are written down. Give one call too many jobs and the agent fumbles all of them. Voice prompting is the guide to writing one, and Build, refine & simulate gets you a first draft from a brief and lets you read it against a persona before you dial anyone.- Confirm the person first. Open with the name: “کیا میری بات احمد صاحب سے ہو رہی ہے؟”. If it is the wrong person, apologize and end the call.
- Handle the common objections. “ابھی مصروف ہوں”, “پہلے ہی ادا کر دیا”, “مجھے یاد نہیں”. Write each one into the prompt with the reply you want.
- Take no for an answer. Thank them and end the call. Never argue.
- Send anything unrelated to a callback. Say a teammate will call back, agree on a time, and end the call.
- Name the hangup. Tell the prompt when to call
end_call. See End call.
Before you dial
- Greet first, with room tone and noise cancellation on. Turn on
initialGreeting,backgroundNoise, andnoiseCancellation, and give the greeting one line that confirms the person by name. See Greeting and sound. - Send an
Idempotency-Keywhen your code might retry. It fixes the call id, so a retried request can never dial twice.
What to expect
- We dial from a pool. A random Pakistani number each call. For a dedicated number, see Phone numbers & concurrency.
- Concurrency caps both paths. Over your account’s limit, or when our pool is full, the API returns 429. See Phone numbers & concurrency.
- Each number takes one call at a time. A second dial to someone already on a call gets 409
number_busy. Retry once that call ends. - Running out of credits stops the dial. On a direct call you get 402 before anything rings. A campaign pauses instead.
dispatcheddoes not mean answered. It means the carrier accepted the call. Poll the session status for ringing, the answer, and the end reason.
