Campaigns
A campaign runs one workflow against a list of phone numbers you supply, placing outbound calls in batches rather than one at a time by hand. It is the outbound counterpart to Inbound calls — a workflow either answers, or a campaign dials it.
Creating a campaign
A campaign is created against an existing workflow and a contact source. Each contact can carry its own input variables — pulled in from the columns of the list you supply — so the same workflow can address each call by name or by account detail, the same way a mail merge fills in a template.
Contact sources and source sync
A campaign's contact list comes from a source: an uploaded CSV, or a connected spreadsheet such as Google Sheets. A source sync reads the current rows from that source and reconciles them against the campaign's existing contacts, so edits made to a spreadsheet after the campaign starts are picked up on the next sync rather than only at creation time.
Batching and pacing
A campaign does not dial its whole list at once. It works through contacts in batches, honoring your organization's concurrent-call limit and any rate limit set on the campaign, so a large list is worked through steadily rather than saturating your available lines in one burst. A campaign can be paused and resumed; a failed dial attempt is scheduled for retry rather than retried immediately.
Outbound preconditions
A campaign cannot dial until the region's compliance prerequisites are satisfied — calling outside an allowed window, or dialing a destination your organization has not cleared to call, holds the affected contacts back rather than placing the call. These prerequisites differ by region and are not restated here — see Regions & compliance for what each region actually requires before a campaign can go live.
Where results appear
Per-call outcomes, pacing, and overall campaign progress are tracked from the campaign's own page while it runs. Once calls complete, the same runs show up in Reports and Recordings alongside any inbound or test-call activity.
Common questions
What is Woise?
Woise is a managed platform for voice AI agents. You design an agent in a drag-and-drop workflow editor, connect a phone number, and it handles real inbound and outbound calls over the phone network or in the browser. The infrastructure, carrier setup and scaling are run for you.
Do I need a phone number to start?
You bring a number you already own and import it — that is the primary path today, and it means you keep your carrier relationship and your existing number. Agents can also take and place calls in the browser over WebRTC with no number at all.
How does billing work?
You are billed for the call minutes your agents actually use, metered as credits against your account. There is no seat licence and no per-agent fee, so an agent that takes no calls costs nothing to keep.
Can an agent connect to my CRM or calendar?
Yes. Agents can read from and write to your CRM, calendar and support tools through the integrations marketplace — you authorise each connection once with OAuth, and no credentials are stored in your workflow.
Do I need engineers to build an agent?
The workflow editor is visual, so building and changing an agent needs no code. There is also a REST API, a Python SDK and a TypeScript SDK if you would rather drive the platform programmatically, and an MCP server so coding agents can build workflows for you.
What happens to call recordings and transcripts?
Recordings and transcripts belong to your workspace and are available through the dashboard and the API. Raw transcripts, recordings and phone numbers are never handed to third-party analytics or error tracking without redaction.
What infrastructure do I have to run?
None. Woise runs the speech models, the language model turn, the call recording pipeline and the telephony legs for you, and scales them with your call volume. There is nothing to provision, patch or keep running.
Still stuck? Talk to our team.