ThunderPhone 2.0 is live.Self-serve, from 2¢/min.Read the announcement

Using the dashboard

Get outbound calls answered

Keep your numbers from being labeled spam and get more people to pick up, for calls placed through the API and through campaigns.

Carriers decide whether your call shows your business name, a plain number or "Spam Likely". People decide whether to pick up. The label depends mostly on how each number calls, so most of what helps is in your hands.

How carriers judge a number

Three analytics companies score US calls for the big carriers: Hiya for AT&T, TNS for Verizon and First Orion for T-Mobile. They don't publish their scores, but they weigh the same signals:

  • How many calls a number places a day, and whether they come in bursts.
  • How many calls end within seconds, and how often a person answers.
  • Complaints from the people you call.
  • The STIR/SHAKEN attestation on each call, and whether the number is registered with them.
  • Whether the number takes calls back.

Whether someone picks up also depends on a local area code, a name they recognize, knowing you'll call, the time of day, and getting past iPhone Call Screening and Pixel Call Screen.

Which levers apply to your calls

Some protections apply to every outbound call, whether you place it with POST /v1/call or run a campaign. Others are campaign settings, and with the API you do the same thing in your own code.

LeverCalls through POST /v1/callCampaigns
14-second minimum ringAutomaticAutomatic
Who answered (answered_by) and number healthYesYes
Callbacks reach an agent with contextYesYes
Caller name and carrier registrationYes, per numberYes, per number
Voicemail handlingAgent settingAgent setting
Call screener handlingAutomaticAutomatic
Local area codeYou choose the from_numberThe pool picks one per contact
Calls per number per dayYou pace your own volumeCalls per number per day, with warm-up
Contact's local calling hoursYou scheduleCall in each contact's local time
Retries on other days and timesYou scheduleSpread across days and times of day
One quick redial after a ring-outYou redialCall twice when there's no answer
A heads-up textSend with POST /v1/smsText before calling

Keep each number's daily volume low

Volume per number is the signal you control most directly. Spread your calls across several numbers instead of pushing them all through one, and make each of them a number people can trust: caller name set, registered, and taking callbacks. A large pool of bare numbers reads as evasion.

  • Number health marks a number Watch at over 50 calls on its busiest day and At risk at over 100, so a number used near the campaign default of 75 shows Watch.
  • Campaigns cap each number at 75 calls in any 24 hours by default (Calls per number per day, 1–500). The count includes every outbound call from that number in your organization, API calls too. When every number is at its limit, contacts wait; nothing fails.
  • A ThunderPhone number new to outbound calling warms up in campaigns: 20 calls on its first day, rising to the full limit by day 7.
  • No per-number cap applies to API calls. Count calls per from_number over the last 24 hours and stop well before 100. Don't send a whole list from one number in a few minutes.

Size the pool to the list so each number stays under the limit. See number pools.

Call from a local number

People answer a familiar area code more often than a distant one.

  • Campaigns call a new contact from a pool number with the contact's area code, else one in the same time zone, else the least used number. Retries come from the number that called before.
  • With the API, keep numbers in the area codes you call most, choose the from_number that matches the contact, and use the same number for every call to that person.

Show who's calling

Find these on Phone Numbers, in the Caller ID and spam registration section. They are free. See Caller ID and spam registration for the steps.

  • Caller name (CNAM). ThunderPhone numbers show your organization's caller name automatically, up to 15 letters, numbers and spaces, once your organization has a real name (not the generated "…'s Team"). Numbers in your own Twilio or Telnyx account get one when an admin registers them. Carriers take 1 to 3 days, and landlines show it more reliably than mobile phones. Caller names work on US local numbers only, not toll-free.
  • Verified caller ID (STIR/SHAKEN). Carriers sign each call A when they know you own the number. Lower attestation gets labeled spam more often. Calls from ThunderPhone numbers are signed A. On Twilio, registering a number for verified caller ID gets its calls signed A. On a manual SIP trunk, ask your carrier for A attestation. Each number's health panel shows the attestation to expect.
  • Spam-filter registration. On Twilio, an admin can have ThunderPhone register numbers with the carriers' spam analytics through Twilio Voice Integrity; it needs an approved Primary Business Profile. For any other number, register it yourself at freecallerregistry.com, the free registry Hiya, TNS and First Orion share.

Tell people you're going to call

A person who expects your call is more likely to pick up. A short text a few minutes before the call, from a number they can see is yours, does that. Only text people who agreed to it: texts fall under the same consent rules as calls.

  • Campaigns can text each contact before the first call. Turn on Text before calling, pick one of your Twilio or Telnyx numbers, and set the minutes before the call (1–60, default 2). Retries are never texted, and a text that fails never holds up the call. See Text before you call.
  • With the API, send the text with POST /v1/sms from your Twilio or Telnyx number, then place the call.

ThunderPhone numbers cannot send texts. A US local number needs A2P 10DLC registration before it can text.

Ask people to save your number. iPhone Call Screening and Silence Unknown Callers skip numbers in the contact list.

Call when people pick up

  • Call in the contact's local hours. Campaigns do it by default: Call in each contact's local time runs the window by each contact's area code. With the API, work out the contact's time zone and schedule the call yourself. US marketing calls must fall between 8am and 9pm local time; see outbound calling compliance.
  • Retry on another day at another time. Someone who missed a 10am call may be free mid-afternoon. Campaigns spread retries this way by default (Retry timing → Spread across days and times of day). With the API, don't redial an unanswered number on a fixed short loop.
  • Redial once, quickly, after a ring-out. On iPhone, a second call from the same number within three minutes rings through Do Not Disturb when Allow Repeated Calls is on. Campaigns do this with Call twice when there's no answer. Never redial more than once, and never after a declined call or voicemail.

Make every call look like a real call

Carriers read short rings and very short calls as robocalls.

  • Let it ring. Outbound calls ring for at least 14 seconds, whatever the agent's Ring duration. A call that rings once and drops is what one-ring scams do. A shorter setting applies to transfers only, and the builder says so.
  • Avoid very short calls. Number health counts answered calls under 10 seconds. Have the agent speak first (the default) and open with who is calling and why, so the person stays on the line.
  • Leave a voicemail. People call back numbers that leave a message, and callbacks help the number's standing. Under When voicemail answers, Let the agent decide (the default) leaves a short message written from your prompt unless the prompt says not to, and Leave a message, then hang up plays the message you set. Hang up silently leaves nothing, and the builder warns about it. See voicemail handling.
  • Get past call screeners. When iPhone Call Screening or Pixel Call Screen answers, the agent states its name and the reason for the call in a sentence, then waits for the person. Put your business name and the purpose of the call near the top of the prompt so the agent has both.

Take calls back

A number that takes calls back looks like a real business, and a returning caller is your warmest lead.

When someone calls back a number that called them in the last 30 days, the answering agent gets a short note on the earlier call: when, which agent and what happened. If the number has no inbound agent and no webhook answers, the call goes to the agent that placed the earlier call instead of ending. This works for API and campaign calls alike.

Give every outbound number an inbound agent or a route you choose. Caller ID can be faked, so the earlier call's summary and variables are shared only if an admin turns on Share the earlier call's details under Organization → General → Callbacks. See callbacks to your outbound calls.

Watch each number's health

On Phone Numbers, each number that placed outbound calls in the last 30 days shows Healthy, Watch or At risk. Open Outbound health for calls per day, how often a person answered, voicemail rate, short calls and short rings over the last day, week and month, with the reasons in plain English. The status covers the last 7 days, and needs at least 20 calls before it judges the answer rate and 10 before it judges short calls or short rings. The same data is at GET /v1/phone-numbers/health.

ReasonWatchAt risk
Calls a day from one numberOver 50Over 100
Calls that reach a personFewer than 1 in 5Fewer than 1 in 10
Answered calls under 10 secondsOver 30%Over half
Unanswered calls that ring under 12 secondsOver half—

Each outbound call also records who answered as answered_by: human, voicemail, screener, ivr or unknown. It is on the call, in the completion webhook and under Answered by in call history.

Health reads the same signals carriers use from your own calls. It is a guide, not any carrier's actual label.

When a number gets labeled spam

You'll usually see it first as a falling answer rate, a number marked At risk, or people telling you their phone showed "Spam Likely".

  1. Slow down or stop calling from it. Lower its daily volume, or take it out of the campaign pool.
  2. Fix the cause. Check its health reasons: too many calls a day, too many short calls, or too few people answering.
  3. Register it. Set a caller name and register the number with the spam filters as above, or at freecallerregistry.com. If the label stays, ask the analytics company behind that carrier (Hiya, TNS or First Orion) to review the number.
  4. Retire it if the label stays. Once you've fixed the cause, release the number and replace it, and call from the new one at a pace that keeps it healthy.

Don't rotate fresh numbers in to hide a labeled one. A pool is for pacing and local area codes, not for dodging labels. New numbers that call the same way get labeled the same way.

Stay within the law

Consent, calling hours and do-not-call rules apply to every outbound call and text. Read outbound calling compliance and talk to your counsel about your calling program.


Next steps