Agentech Assistant

Adding campaign recipients from a spreadsheet

For more than a few contacts, add a campaign's recipients from a spreadsheet. On a new campaign's Recipients page, the Upload a sheet tab gives you a sheet made for your template; you fill it in Excel, Google Sheets or Numbers and upload it. We check every row and add it to the campaign's list: ready rows are ready to send, and rows that need fixing are kept on the list for you to fix there. For a few contacts, the Type contacts tab is quicker — see Step by step.


Who does what

WhoWhat they do
YouDownload the sheet, fill one contact per row, upload it, and fix the rows we mark Fix — in the list or in your own file. You confirm your contacts agreed to receive WhatsApp messages from you.
AgentechBuilds the sheet for your template, checks every row (phone number, blanks, repeats), and adds it to your campaign's draft. Rows that still need fixing when you send are left out.
MetaDelivers the messages. Meta can still refuse a message, for example to a number that isn't on WhatsApp.

Step by step

  1. Start a New campaign, pick the template, and press Next: Recipients.
  2. On Recipients, open the Upload a sheet tab and press Download sheet. You get campaign-recipients.xlsx.
  3. On the Recipients sheet, fill one contact per row, starting on row 2:
    • Column A: the country code, then the number, e.g. 201012345678 (Egypt) or 966501234567 (Saudi Arabia). No leading 0. The + is optional, and spaces or dashes are fine.
    • The other columns: one per blank in your template, in the same order. Each column's name shows the words around its blank, e.g. {{1}} — "Hi {{1}}, your order…".
  4. Save the file as .xlsx or .csv (up to 5 MB).
  5. Press Upload filled sheet, or drop the file on it. The rows are added to the list below straight away, and a summary card says what happened: Rows read, Added as ready, Need fixing, Already on the list.
  6. Check the list. The chips All · Ready · Need fixing filter it, and Search a number finds a contact by any part of the number. Tap a row to edit or remove it, or press Clear list to start over.
  7. Press Next: Review · [n] to go to Review & send.

The draft keeps everything you uploaded, so you can leave and come back to it with Continue in the campaigns list.

The template's name sits at the top of the page. Open it to see the whole message and what each blank ({{1}}, {{2}}…) stands for; the boxes on a contact's card use the same names.

The second tab of the sheet, How to fill, repeats these rules and shows one example row. The example is only there to show the format. It is never sent.

If your template is in Arabic, the sheet's column names and the How to fill tab are in Arabic. New templates start in Arabic too; pick another language when you create one if you need it.


Repeated numbers

A number appears once on a campaign. If the same number is in your sheet twice, even written differently, the first row is added and the repeat is dropped. A number that's already on the list as a ready contact — typed earlier, or from an earlier upload — is dropped too. Both are counted in Already on the list. Nothing to fix.

A number that's on the list in a row that needs fixing is different: the new row replaces it and is checked again, so it counts as added when it's right now, or under Need fixing if it still isn't.

Rows that need fixing

A row with a problem is still added to the list, marked Fix, and counted in Need fixing. It's never sent: if it still needs fixing when you send, it's left out (the Review page shows it as Skipped (need fixing)). Tap the row to open it as a card and press How to fix to see what to change for that row.

MessageWhat it meansWhat to do
Starts with 0: the country code is missingThe number is written the local way.Delete the first 0 and put the country code in front: 01010784146 becomes 201010784146 (Egypt) or 966… (Saudi Arabia).
Too short for Egypt (or too long, or wrong length)The number doesn't have the digits a mobile number in that country has, e.g. 10 after 20 for Egypt, 9 after 966 for Saudi Arabia. WhatsApp needs a mobile number, so a landline shows here too.Check for a missing or extra digit. The tip says how many digits that country needs.
Not a valid Saudi Arabia mobile numberThe length is right, but it is not a mobile number there (for example a landline, which WhatsApp can't reach).Check the digits after the country code with the contact.
999 isn't a country codeThe first digits aren't a real country code.Start with the country code: 20 for Egypt, 966 for Saudi Arabia.
Use digits onlyColumn A has letters or symbols in it.Keep only the digits.
Column B ({{1}}) is emptyA blank in your template has no value in this row.Fill it in. WhatsApp doesn't send a message with an empty blank.

A value with line breaks or long runs of spaces is joined into one line for you, since WhatsApp doesn't allow them inside a value. That row is ready; nothing to fix.

"This sheet's column names don't match this template. Was it made for another template? Columns are read in order: phone, then each value."

This shows on the summary card when the sheet's column names aren't the ones made for this template. The rows are still read in order — phone first, then one value per blank — so check the values landed in the right boxes.

Fix: if the columns are in a different order, download a fresh sheet for this template, copy your contacts into it, and upload that. Remove the rows that came in wrong with Clear list first.

Fixing rows

Two ways, and you can mix them:

  • In the list: tap a row marked Fix, change the number or the value, and press Save. Or press Remove to take it off. The Need fixing chip shows only those rows.
  • In your file: fix the rows, save, and upload the file again. Each fixed row replaces the row that needed fixing; the rows that were already ready are counted in Already on the list and not added twice. A corrected number replaces its old row too: 0111 222 3355 fixed to +20 111 222 3355 replaces the row with 0111 222 3355. Only a number you swapped for a completely different one leaves the old row under Need fixing — remove it there. To start over instead, press Clear list and upload again.

More rows than you have Campaign messages for

Every row is still added. If the ready rows would use more Campaign messages than you have left (a marketing template counts 5 per row, a utility or authentication template 1), the Review page warns you: "This campaign needs 6,000 messages and you have 3,100. It will reach the first 620 people, then stop. Top up first to reach everyone, or send now and resend the rest later." See Not enough Campaign messages.

Fix: top up before sending to reach everyone, or send now and resend the rest from the campaign's report after a top-up.

More rows than a campaign can hold

A campaign holds up to 50,000 recipients. An upload that would take the draft past that is refused with "A campaign can have up to 50,000 recipients. Split it into more than one campaign."

Fix: split the sheet, and put the rest in a second campaign with the same template.

More rows than Meta lets you start in a day

This is a different limit, with a different fix. Meta caps how many people your number may start a conversation with in 24 hours — 250 for a newly connected number, raised by Meta over time as you send. Replies to customers who message you first don't count.

The Review page tells you when your ready contacts are over it. Nothing is removed and nothing is blocked:

  • Fix: send the campaign as it is. The recipients over Meta's limit come back as failed with Meta's reason, and you send to them again from the campaign's report the next day, when the limit resets. You aren't charged for a message Meta refused. Splitting the sheet yourself works too, if you'd rather decide who goes first.

Your number's current limit is on the WhatsApp page, under the number.


Common questions

Excel or Google Sheets won't keep the +, or changed my numbers to something like 2.01011E+11. That's fine: the + is optional. Type the country code, then the number, e.g. 201012345678. The sheet you download formats column A as text, and we read a number cell the same way.

Can I type numbers instead? Yes. The Type contacts tab on the same page takes one contact at a time: Number, then a box for each blank, then Add to the list. Typed contacts are checked the same way as sheet rows. Duplicate on an earlier campaign fills a new draft with its recipients too.

Can I upload from my phone? Yes. The upload opens your phone's files, including Files and Google Drive. Filling hundreds of rows is easier on a computer, and you can upload the finished sheet from either.

Can I use my own spreadsheet instead of the downloaded one? Yes, as long as the columns are in the same order: phone first, then one column per blank. Extra columns to the right are ignored, and empty rows are skipped.

Which file types work? .xlsx and .csv. Only the first sheet is read. An older .xls file or a password-protected file can't be read. Save it as .xlsx or .csv first.


When to email us

Email us if a file you saved as .xlsx or .csv still can't be read, or a row's Fix message doesn't make sense for a number you know is right. Include the template's name and, if you can, the file. For the address and what else to send, see When to email us.