Create a campaign
Every step of the campaign wizard, from the name to Send it, for a WhatsApp broadcast and for a call batch, with each field and what the final check can refuse.
Send a campaign on the Campaigns page opens a wizard that takes you from a name to a launched campaign. Nothing is sent until you press Send it (or Schedule it) on the last step, and the last step is where every rule is checked.
You need to be an admin or the owner, on the Growth or Enterprise plan. See Who can use campaigns.
Before you begin #
- For a WhatsApp broadcast: a connected WhatsApp number under Channels, and at least one template Meta has approved. See Templates.
- For a call batch: a published agent and a phone number it can call from. See Numbers & KYC.
- Your audience: tagged contacts, or a CSV with one row per person.
The wizard has a Campaign summary on the right that fills in as you go: the name and type, the checked audience, the WhatsApp sender, and when it will start.
Step 1: Goal #
| Field | What it does |
|---|---|
| What will your team call this campaign? | Required, up to 140 characters. This is the name in the activity list, so use one a colleague will understand, such as AMC Renewals — November. |
| What kind of campaign? | WhatsApp broadcast sends an approved template. Call batch has an agent call each person. Email campaign is shown but can't be selected. |
Changing the type clears anything you set on the Message step, and a call batch adds the Outcome step.
Step 2: Audience #
Who is this going to? has three sources. Pick one.
| Source | Use it for |
|---|---|
| Pick contacts | A handful of people. It lists your first 100 contacts, with no search; on a broadcast, anyone who has opted out of WhatsApp is marked opted out of WhatsApp. |
| By tag | A segment. With more than one tag chosen, a contact needs every tag. |
| Upload a list | A CSV or text file, up to 5 MB and 50,000 rows. Download sample gives you a file to start from. |
The file needs a phone column. Its header can be phone, mobile, whatsapp, contact number or number, among others; name and email columns are picked up the same way. Every other column becomes a value you can use in the message. The rules for files, phone numbers and duplicates are in Audiences.
Then press Check audience. The bar shows how many people the campaign will actually reach and why the rest were left out, for example 1,162 recipients · 16 excluded: 11 opted out, 5 duplicate. Findings underneath explain each exclusion. Change the selection and press Re-check to update it.
Step 3: Message, for a WhatsApp broadcast #
What does it say? Most people you broadcast to have no open 24-hour window, so the message is an approved template.
| Field | What it does |
|---|---|
| Sending from | The WhatsApp number customers will see. With one number it's shown as a card marked Workspace default; with several it's a Send from menu, preset to the default. Changing it clears the template. |
| Template | Lists every template on that number. Only approved ones can be chosen; pending and rejected ones are shown so you can see where they are. |
| Refresh templates / Create or generate | Reloads the list, or opens the template composer here, including AI drafting. A new template still needs Meta's approval before it can be sent. |
| What the customer sees | The template as written. Show example fills the placeholders with sample values; a template with an image or video header shows it too. |
| Fill the N placeholders | One field per {{1}}, {{2}}… Type a fixed value, or use Insert… to pick a token. With an uploaded list the tokens are your columns, such as {{csv.appliance}}; otherwise they are Contact name, Phone number and Email. |
If your template is still with Meta, the step says Your template is with Meta for review and Continue stays disabled. Review usually takes minutes, sometimes a day.
A missing value skips the person
If a token has no value for someone, such as an empty cell in the name column, that person is skipped rather than sent a message with a gap in it. They show as Not sent with Missing a personalised value.
Step 3: Message, for a call batch #
Who calls, and about what?
| Field | What it does |
|---|---|
| Agent | Required. Only published agents are listed. |
| Why is it calling? | One or two sentences, up to 600 characters. The agent opens the call with this. |
| Call script | Optional, up to 3,000 characters. The steps to cover, in order. |
| Variables | Each column of your list as a chip. Type @ in either field, or click a chip, to insert one. @All details gives the agent every column. |
| Write with AI | Drafts both fields from a description. Choose the agent first. |
| Try again if nobody answers | Off by default. When on, a number that rings out is called once more about two hours later, or the next morning if that would fall outside calling hours. Nobody is called more than twice. |
Variables, @All details and the AI draft are covered in Call scripts and variables.
Calls only go out between 10:00 and 19:00 in your workspace time zone, and there is a limit on how many outbound calls the workspace places in a day. The final check tells you if a batch won't all fit today.
Step 4: Outcome, for a call batch #
What should each call bring back? Choose a starting form under Start from, write The goal of these calls, list what to capture, and set What counts as a success. The Dashboard preview shows how the answers will be charted.
Every field is explained in Call outcomes. The draft keeps the outcome form only once it's complete; until then the footer says outcome form saves once it's complete.
Step 5: Review & send #
When should it go out? #
| Field | What it does |
|---|---|
| Start | Leave empty to start as soon as you launch, or pick a date and time. A scheduled start shows Schedule it instead of Send it. |
| Upper limit per minute | Under Gradual, the ceiling the ramp works up to. Under As fast as allowed it reads Messages per minute. 1 to 600. |
| Earliest send / Latest send | The hours this campaign may send in. They're narrowed to 09:00–21:00 for messages and 10:00–19:00 for calls, and the line underneath shows the hours that will really be used. |
| How should the messages go out? (calls for a call batch) | Gradual (recommended) starts slowly and builds up. As fast as allowed goes at the full rate straight away. See Pace. |
Ready to send? #
Run the final check saves the draft and checks everything again. If you already pressed Check audience on the Audience step, the button reads Re-check; press it anyway, because only this check covers the template, the sender and the schedule. The bar shows the final recipient count and a rough cost: talk time for a call batch, WhatsApp conversations for a broadcast. Both are estimates, not quotes.
Before you launch lists every finding, most serious first:
- a red block stops the launch until you fix it;
- an amber warning is worth reading, for example Only 73 of these 1318 calls will be placed today;
- a grey info tells you what the rules did, such as how many opted-out people were removed.
For a call batch, What the agent is told shows the purpose and script As written, or filled in for the first person on your list. Read the second view: it's the fastest way to spot a variable pointing at the wrong column.
When it can't launch #
If any finding blocks, the panel under the buttons reads This cannot launch yet, and Send it is disabled. Each block says what to do and links to the explanation.
Some refusals only happen when you press Send it: your plan allowance and prepaid credits are used up (allowance_exhausted), the channel is no longer on your plan (channel_dormant), or the audience changed since you checked it (version_conflict). The toast names the problem, and the check runs again so you see the current count and any blocking finding. Credits and plan refusals appear only in the toast, so read it before you dismiss it. Every refusal is in Sending rules.
Saving a draft #
The draft is saved for the first time when you press Continue on the Message step. Until then, the name and audience live only in your browser tab. From then on the footer shows Draft saved, and every Continue saves again.
Save draft on the last step saves and returns you to the Campaigns page. A saved draft can't be reopened in the wizard. From its page you can Send it as it was saved, Duplicate it, or archive it.
Verify #
After Send it, the console opens the campaign page with the status Sending (or Scheduled). Check that:
- the Recipients number matches the count from the final check;
- Gradual delivery (or Burst) is what you meant;
- for a call batch, the Outcomes tab shows your form.
See Follow a campaign and read its results for every number on that page.
Troubleshooting #
| What you see | What to do |
|---|---|
| Continue stays disabled on Message | No template is chosen (or only pending ones exist), no agent is chosen, or a call script uses a variable your list doesn't have. |
| The audience is much smaller than your file | Read the exclusions after Check audience. See Why my audience is empty. |
| Send it is disabled | Run the final check. If it still is, a finding blocks the launch; read This cannot launch yet. |
| This audience now has N recipients, not M | The audience changed after you checked it. Run the check again and launch. |
More in Campaign troubleshooting.