AI outbound calling is when a voice agent dials a list of people and holds a real two-way conversation with each one toward a goal you set: call back a lead who asked for a quote, confirm tomorrow's appointment, or ask a customer one follow-up question, then log what happened. On echowin, outbound calls cost $0.20 per minute plus $10 a month for the number the agent calls from (as of November 2026). In the US, the FCC treats AI-generated voices as "artificial" under the TCPA, so you need the person's prior express consent before your agent dials, and prior express written consent if the call is sales or marketing.
Below: how a campaign runs, what it costs, the federal rules in plain words, and the API call to start one. We shipped outbound campaigns in echowin's API and MCP server in October 2026, so the details come from how our own dialer works.
An outbound campaign has four parts:
When you start the campaign, the dialer works through the list one contact at a time, only inside the calling hours, from the agent's own phone number. Before each call the agent gets the campaign instructions plus that person's name and fields, so it can say "Hi Maria, you asked for a quote on four tires on Saturday" instead of reading a script. After the call you get the call record with its transcript, and the contact's status in the campaign (completed, failed with a reason, or cancelled).
One design choice is worth knowing: echowin has no "dial this number now" endpoint. Every outbound call comes from a campaign contact, because a call placed outside a campaign reaches the person with no goal. Calling one person is a one-person campaign.
Anything your agent can do on an inbound call, aimed at people who are expecting to hear from you:
Where it fits badly: cold calls to consumers who never asked to hear from you. That's mostly a legal question, covered below.
On echowin, as of November 2026:
| Item | Price | Notes |
|---|---|---|
| Building and testing the agent | Free | Build, configure and test before you pay anything |
| Phone number | $10/month per number | The agent calls from its own number |
| Outbound call minutes | $0.20/minute | On every plan, including monthly minute bundles (their lower rates apply to inbound calls); each call is billed in whole minutes, rounded up |
| Transferred portion of a call | Half the per-minute rate | Only the part after the transfer |
echo.win/pricing is the canonical page and lists the extras (premium voices, SMS).
A worked example. These numbers are illustrative, not a benchmark. Say 300 people asked for a quote this month, 180 of them pick up, and the average call runs 2 minutes 10 seconds. Each call bills as 3 minutes because of the per-call rounding, so that is 540 minutes × $0.20 = $108, plus $10 for the number: $118 for the month. Two things move that number more than anything else: how many people pick up, and how tight the agent's script is. A call that runs 2:10 costs the same as one that runs 3:00, so trimming the opening is worth more than trimming the goodbye.
Developer platforms like Vapi and Retell price differently: a platform fee per minute, with the speech, model and telephony costs added or passed through depending on what you plug in. You get more control over each layer and more invoices. Our side-by-side pages for echowin vs. Vapi and echowin vs. Retell go line by line.
Yes, when you have consent and follow the calling rules. In the US, the rules come from the Telephone Consumer Protection Act (TCPA) and the FCC's rules at 47 CFR 64.1200. This is a plain summary as of November 2026, not legal advice; talk to a lawyer before you call anyone at scale.
State laws can be stricter than the federal rules on hours, frequency and consent. If your list crosses state lines, check each state you call into.
The practical upshot: an outbound voice agent fits callbacks, confirmations and follow-ups with people who gave you their number and asked to hear from you. Cold-calling a purchased consumer list with an AI voice is the use case the 2024 ruling was written to stop.
| echowin's dialer does this | You still own this |
|---|---|
| Calls only inside the campaign's calling hours (default 9:00 to 20:00, Monday to Saturday, in the agent's time zone) | Collecting consent and keeping the record of it |
| Skips invalid, duplicate and already-added numbers, and any number marked do-not-call | Checking your list against the National Do Not Call Registry and your state's rules |
| After each outbound call, reads the transcript and marks the contact do-not-call if they asked not to be called again, so later campaigns skip them | Writing the opening: who is calling, why, and how to opt out |
| Refuses to start a campaign that has no time zone for its calling hours | Splitting your list by time zone (see the gotcha below) |
The time zone gotcha. A campaign's calling hours apply in one time zone. The federal 8 a.m. to 9 p.m. window is in the called person's local time. If your list covers New York and Los Angeles, a campaign set to Eastern time can call LA at 6 a.m. Split the list into one campaign per time zone.
POST https://echo.win/api/v1/campaigns
X-API-Key: YOUR_API_KEY
Content-Type: application/json
{
"agentId": "YOUR_AGENT_ID",
"name": "Tire quote callbacks: November",
"instructions": "Say you're calling from Main Street Auto about the tire quote they requested. Confirm the size and the quote amount from their fields, offer to book an install time, and transfer to the shop if they want a person. If they ask not to be called again, apologize and end the call.",
"timeZone": "America/Denver",
"callingHours": { "start": "09:00", "end": "18:00", "days": ["mon", "tue", "wed", "thu", "fri"] },
"contacts": [
{
"to": "+13035550142",
"firstName": "Maria",
"fields": { "tire_size": "225/65R17", "quote_amount": "$612" }
}
]
}
POST /campaigns/{campaignId}/contacts with up to 100 contacts per request, up to 5,000 per campaign. Skipped numbers come back with their index and the reason (invalid_number, duplicate, already_in_campaign or do_not_call). Contacts can only be added while the campaign isn't running: pause it first if it is.POST /campaigns/{campaignId}/start. The start fails with a clear error if the agent has no number or the balance can't cover a minute.GET /campaigns/{campaignId} gives the count of contacts in each status (pending, running, completed, rejected, failed, cancelled), and GET /campaigns/{campaignId}/contacts shows each person's status, failure reason and calls. POST /campaigns/{campaignId}/pause stops new dials, and a call already in progress finishes.From an MCP client, the same steps are the tools create_campaign, add_campaign_contacts, start_campaign, pause_campaign and get_campaign. call_contact calls a single person by creating a one-person campaign and starting it. The two tools that dial are marked destructive, so MCP clients that honor that hint ask before placing a real call.
To wire this into n8n, Make or Zapier, use an HTTP request step: when a form submission or CRM stage change comes in, create a one-contact campaign with the lead's details and start it. Add a post-call workflow to send each call's summary back to your CRM by webhook.
A good fit: operators who call people who asked to hear from them (quote callbacks, appointment confirmations, service follow-ups) and want to wire those calls into their own CRM and workflows. If you already run an inbound agent on echowin, outbound uses the same agent, tools and billing.
Not a good fit:
The federal rules require the call to identify the business at the start. Some states have their own disclosure rules for automated or AI callers. Our advice is to say it plainly in the first sentence of your campaign instructions ("This is the scheduling agent for Main Street Auto").
If the call rings out, is busy or is rejected, the contact is marked failed with the carrier's reason and the dialer moves on to the next person. A call that never connects or reports back is marked failed as unreachable after about two and a half minutes. echowin doesn't redial on its own. Filter the contacts list by failed status to see who wasn't reached and why, and add them to a new campaign later if that fits your consent.
There is no answering-machine detection, so a call that voicemail picks up counts as answered: the agent talks to the voicemail and the minutes are billed. Tell the agent in the campaign instructions what to do then (for example, leave one sentence with your callback number and hang up).
Yes. Have your workflow create a campaign with that one contact and start it, either by API or with the MCP call_contact tool. The call still waits for the calling hours, so a lead that comes in at 11 p.m. gets called the next morning.
The agent should end the call politely (put that in its instructions). After every outbound call, echowin also checks the transcript, and if the person asked not to be called again, their contact is marked do-not-call so later campaigns skip that number.
You can build and test the agent for free before you pay for a number or a minute: start free at echo.win.
When you run a business, finding the right help is like solving a puzzle. On one side, you have the traditional virtual assistant – a real person who works from afar and understands your needs. On the other side, there's something new and exciting: a robot helper, also known as an AI virtual assistant, ready to work all day and night without getting tired. It's a big choice: picking a human with a personal touch or a robot that never stops working.
The adoption of AI call answering services is not just a trend; it's the smart choice for any forward-thinking business owner. It's a strategic move that ensures your business is efficient, scalable, and most importantly, customer-centric.
Mastering effective sales calls is essential for business growth and customer loyalty. Key strategies include thorough preparation, active listening, and continuous improvement. Explore echowin for enhanced sales efficiency and professional communication.
We dig into what actually works — practical insights on using AI to grow your business, with zero fluff. Drop your email and we’ll send the good stuff straight to you.
Subscribe to our blog

Join thousands of businesses automating their operations with echowin.