Learn

Resources

Use Cases

Outbound Campaigns

— Outbound Campaigns

Outbound call center services across every channel

Dial at scale, detect voicemail before you waste a message, and follow up by text, all from one platform. Add an AI agent to the call flow when contacts have opted in, or keep every call human, the choice is yours.

SW-UseCase-OutboundCampaigns

The hard part

One platform for every outbound call and text

Voice and SMS campaigns, answering machine detection, and AI agents all built on the same carrier-grade infrastructure.

SignalWire gives you one platform to place the call or send the text, detect voicemail, record, translate, and track the result. Add SMS follow-ups or an AI agent without stitching together vendors and creating a compliance headache.

How it works

Auto dialing, answering machine detection, and outbound calling at scale

Your backend or dialer logic places the call, SignalWire detects whether a person or a machine answered, and you decide what happens next: connect to an agent, play a message, or send a text.

01

Auto dialer at your pace

Place outbound calls at the volume and pacing your code controls, no separate dialer vendor.

02

Answering machine detection

Know whether a person or a voicemail picked up before you waste the call.

03

Outbound SMS follow-up

Pair a missed or unanswered call with a text from the same platform and number.

04

AI outbound calling

For opted-in contacts, route the conversation to an AI agent, or keep it fully human.

05

Full call and consent logging

Every dial, outcome, and opt-out tracked from one event log.

01

Auto dialer at your pace

Place outbound calls at the volume and pacing your code controls, no separate dialer vendor.

02

Answering machine detection

Know whether a person or a voicemail picked up before you waste the call.

03

Outbound SMS follow-up

Pair a missed or unanswered call with a text from the same platform and number.

04

AI outbound calling

For opted-in contacts, route the conversation to an AI agent, or keep it fully human.

05

Full call and consent logging

Every dial, outcome, and opt-out tracked from one event log.

01

Auto dialer at your pace

Place outbound calls at the volume and pacing your code controls, no separate dialer vendor.

02

Answering machine detection

Know whether a person or a voicemail picked up before you waste the call.

03

Outbound SMS follow-up

Pair a missed or unanswered call with a text from the same platform and number.

04

AI outbound calling

For opted-in contacts, route the conversation to an AI agent, or keep it fully human.

05

Full call and consent logging

Every dial, outcome, and opt-out tracked from one event log.

Build it

Place your first outbound call in a few lines of code

Dial a phone number and check whether the call was answered using the Python SDK below.

handler.py

copy

01

02

03

04

05

06

07

08

09

10

11

12

import asyncio

from signalwire.relay import RelayClient

client = RelayClient(project=PROJECT_ID, token=API_TOKEN, contexts=["default"])

async def main():
    async with client:
        call = await client.dial(
            devices=[[{
                "type": "phone",
                "params": {
                    "from_number": "+15551234567",
                    "to_number": "+15559876543",
                    "timeout": 30,
                },
            }]],
        )
        action = await call.play_tts("This is an automated message from SignalWire.")
        await action.wait()
        await call.hangup()

asyncio.run(main())

handler.py

copy

01

02

03

04

05

06

07

08

09

10

11

12

import asyncio

from signalwire.relay import RelayClient

client = RelayClient(project=PROJECT_ID, token=API_TOKEN, contexts=["default"])

async def main():
    async with client:
        call = await client.dial(
            devices=[[{
                "type": "phone",
                "params": {
                    "from_number": "+15551234567",
                    "to_number": "+15559876543",
                    "timeout": 30,
                },
            }]],
        )
        action = await call.play_tts("This is an automated message from SignalWire.")
        await action.wait()
        await call.hangup()

asyncio.run(main())

handler.py

copy

01

02

03

04

05

06

07

08

09

10

11

12

import asyncio

from signalwire.relay import RelayClient

client = RelayClient(project=PROJECT_ID, token=API_TOKEN, contexts=["default"])

async def main():
    async with client:
        call = await client.dial(
            devices=[[{
                "type": "phone",
                "params": {
                    "from_number": "+15551234567",
                    "to_number": "+15559876543",
                    "timeout": 30,
                },
            }]],
        )
        action = await call.play_tts("This is an automated message from SignalWire.")
        await action.wait()
        await call.hangup()

asyncio.run(main())

handler.py

copy

01

02

03

04

05

06

07

08

09

10

11

12

import asyncio

from signalwire.relay import RelayClient

client = RelayClient(project=PROJECT_ID, token=API_TOKEN, contexts=["default"])

async def main():
    async with client:
        call = await client.dial(
            devices=[[{
                "type": "phone",
                "params": {
                    "from_number": "+15551234567",
                    "to_number": "+15559876543",
                    "timeout": 30,
                },
            }]],
        )
        action = await call.play_tts("This is an automated message from SignalWire.")
        await action.wait()
        await call.hangup()

asyncio.run(main())

What you'll learn in the outbound campaigns docs

Detect a human or a machine before you spend the call, and branch on the result in your own code

Send an answered call to a human or an AI agent, addressed the same way, with no second stack to add AI

Keep the caller's context through a transfer or escalation, because the call holds its own state

Track every dial, outcome, and opt-out from one event stream, so consent and compliance live in one place

What you'll learn in the outbound campaigns docs

Detect a human or a machine before you spend the call, and branch on the result in your own code

Send an answered call to a human or an AI agent, addressed the same way, with no second stack to add AI

Keep the caller's context through a transfer or escalation, because the call holds its own state

Track every dial, outcome, and opt-out from one event stream, so consent and compliance live in one place

What you'll learn in the outbound campaigns docs

Detect a human or a machine before you spend the call, and branch on the result in your own code

Send an answered call to a human or an AI agent, addressed the same way, with no second stack to add AI

Keep the caller's context through a transfer or escalation, because the call holds its own state

Track every dial, outcome, and opt-out from one event stream, so consent and compliance live in one place


The platform behind it

The SignalWire products behind outbound call center services

One platform, one bill: the dialer and detection logic, the messaging that follows up, and the lowest latency AI layer.

Programmable Voice

Place outbound calls at scale, auto-dial, detect voicemail and control the whole call flow programmatically.

Messaging (SMS & MMS)

Send outbound SMS follow-ups and campaign texts from the same number and platform as your calls.

AI Agents

Add an AI agent to handle the conversation, including multi-language support, and governed by rules your code sets.

Call Recording & Transcription

Record and transcribe every outbound call natively, so you have the call data for your compliance record.

Answering Machine Detection

Know whether a person or a machine answered before you spend the call, and route on the result in your own code.

REST API

Manage numbers, messaging campaigns, and call records over HTTP, so your dialer logic and reporting live wherever you already work.

Programmable Voice

Place outbound calls at scale, auto-dial, detect voicemail and control the whole call flow programmatically.

Messaging (SMS & MMS)

Send outbound SMS follow-ups and campaign texts from the same number and platform as your calls.

AI Agents

Add an AI agent to handle the conversation, including multi-language support, and governed by rules your code sets.

Call Recording & Transcription

Record and transcribe every outbound call natively, so you have the call data for your compliance record.

Answering Machine Detection

Know whether a person or a machine answered before you spend the call, and route on the result in your own code.

REST API

Manage numbers, messaging campaigns, and call records over HTTP, so your dialer logic and reporting live wherever you already work.

Programmable Voice

Place outbound calls at scale, auto-dial, detect voicemail and control the whole call flow programmatically.

Messaging (SMS & MMS)

Send outbound SMS follow-ups and campaign texts from the same number and platform as your calls.

AI Agents

Add an AI agent to handle the conversation, including multi-language support, and governed by rules your code sets.

Call Recording & Transcription

Record and transcribe every outbound call natively, so you have the call data for your compliance record.

Answering Machine Detection

Know whether a person or a machine answered before you spend the call, and route on the result in your own code.

REST API

Manage numbers, messaging campaigns, and call records over HTTP, so your dialer logic and reporting live wherever you already work.

The hard parts

The hard parts of outbound campaigns and how SignalWire handles them

The Challenge

How SignalWire Handles It

A dialer that can't tell a person from a voicemail wastes the call and burns your list.

Answering machine detection runs on every outbound call, before you talk or text.

Sales and support end up on three tools: a dialer, a texting platform, and a separate AI vendor.

One platform for outbound calls, SMS, and the AI layer, one bill.

Outbound calling carries real legal exposure: consent, calling hours, and do-not-call rules.

SignalWire gives you the call and consent data to build compliant logic; the compliance decisions and consent records remain yours to manage.

Escalating from an AI agent to a human loses call history and context.

A call transfers as the same interaction; whoever picks it up next sees what already happened.

The Challenge

A dialer that can't tell a person from a voicemail wastes the call and burns your list.

Sales and support end up on three tools: a dialer, a texting platform, and a separate AI vendor.

Outbound calling carries real legal exposure: consent, calling hours, and do-not-call rules.

Escalating from an AI agent to a human loses call history and context.

How SignalWire Handles It

Answering machine detection runs on every outbound call, before you talk or text.

One platform for outbound calls, SMS, and the AI layer, one bill.

SignalWire gives you the call and consent data to build compliant logic; the compliance decisions and consent records remain yours to manage.

A call transfers as the same interaction; whoever picks it up next sees what already happened.

In production

Built by teams that run outbound campaigns at scale

Angular Gradient Image
  • "Texting is a lifeline to our patients. It allows us to keep in communication with them, let them know what's going on when doctors and nurses don't have time to do that. The last thing you want the precious resources of doctors and nurses doing is answering the phone or giving routine updates to patients when we can just automate that through text message."

    Avatar

    David Higginson

    CIO at Phoenix Children's Hospital

  • "Texting is a lifeline to our patients. It allows us to keep in communication with them, let them know what's going on when doctors and nurses don't have time to do that. The last thing you want the precious resources of doctors and nurses doing is answering the phone or giving routine updates to patients when we can just automate that through text message."

    Avatar

    David Higginson

    CIO at Phoenix Children's Hospital

Why one of the country's largest pediatric health systems switched to short codes when carriers began blocking 10DLC traffic.

Angular Gradient Image
  • "Texting is a lifeline to our patients. It allows us to keep in communication with them, let them know what's going on when doctors and nurses don't have time to do that. The last thing you want the precious resources of doctors and nurses doing is answering the phone or giving routine updates to patients when we can just automate that through text message."

    Avatar

    David Higginson

    CIO at Phoenix Children's Hospital

  • "Texting is a lifeline to our patients. It allows us to keep in communication with them, let them know what's going on when doctors and nurses don't have time to do that. The last thing you want the precious resources of doctors and nurses doing is answering the phone or giving routine updates to patients when we can just automate that through text message."

    Avatar

    David Higginson

    CIO at Phoenix Children's Hospital

Why one of the country's largest pediatric health systems switched to short codes when carriers began blocking 10DLC traffic.

Angular Gradient Image
  • "Texting is a lifeline to our patients. It allows us to keep in communication with them, let them know what's going on when doctors and nurses don't have time to do that. The last thing you want the precious resources of doctors and nurses doing is answering the phone or giving routine updates to patients when we can just automate that through text message."

    Avatar

    David Higginson

    CIO at Phoenix Children's Hospital

  • "Texting is a lifeline to our patients. It allows us to keep in communication with them, let them know what's going on when doctors and nurses don't have time to do that. The last thing you want the precious resources of doctors and nurses doing is answering the phone or giving routine updates to patients when we can just automate that through text message."

    Avatar

    David Higginson

    CIO at Phoenix Children's Hospital

Why one of the country's largest pediatric health systems switched to short codes when carriers began blocking 10DLC traffic.


FAQ

Frequently asked questions

What people ask before running outbound campaigns, from dialing logic to compliance.

What is outbound call center software?

Outbound call center software allows you to place calls to customers or leads at scale, typically with an auto dialer, answering machine detection, and reporting on call outcomes. Outbound call center solutions built on SignalWire also support outbound SMS and an AI agent layer on the same platform.

What is an auto dialer?

An auto dialer is software that places outbound calls automatically instead of a person dialing each number by hand, typically pacing calls to match available agents or logic in your code.

Can AI agents make outbound calls?

Yes, AI agents can technically place and handle outbound calls, but whether that's allowed depends on what the call is for and who is being called. In the US, the FCC has ruled that AI-generated voices count as artificial voices under the TCPA, which generally requires prior express written consent for many outbound use cases, and rules vary further by state and call purpose. SignalWire does not make that legal determination for you, so most outbound campaigns should confirm consent and calling rules with legal counsel before adding an AI agent to the flow.

How does answering machine detection work for outbound calls?

Answering machine detection listens to how a call is answered and reports back whether a person or a voicemail system picked up, so your code can decide whether to connect an agent, play a message, or hang up before wasting the call.

Can I follow up a missed outbound call with a text message?

Yes, outbound SMS runs on the same platform and phone number as your calls, so a missed or unanswered call can trigger an automatic text follow-up without a separate messaging vendor.

Do I need a registered phone number to run outbound SMS campaigns at volume?

Yes, in the US, sending SMS at volume requires campaign registration (10DLC) with your carrier. Registration and ongoing consent and opt-out compliance remain the sender's responsibility.

Angular Gradient Image

Ready to ship your outbound campaign?

Start dialing today, or read the docs to see how detection, messaging, and the optional AI layer fit together.

Angular Gradient Image

Ready to ship your outbound campaign?

Start dialing today, or read the docs to see how detection, messaging, and the optional AI layer fit together.

Angular Gradient Image

Ready to ship your outbound campaign?

Start dialing today, or read the docs to see how detection, messaging, and the optional AI layer fit together.