Skip to content
Wbiztool

Product guides

Campaigns from a spreadsheet

Upload an Excel or CSV file where each row is one WhatsApp message, and Wbiztool sends them for you as a campaign. It's the quickest way to message a list of customers or groups when every row already has its own text.

Open it from Tools → Send via Excel in the sidebar, or go to /campaigns/.

Before you start#

  • A WhatsApp number showing Connected on WhatsApp settings.
  • Enough credits for every row. The page shows how many messages remaining you have.
  • A .csv, .xls or .xlsx file in the format below.

File format#

The first row must contain these column headers, spelled exactly as shown. Click Sample Format on the page to see an example, or download the sample CSV. Replace the sample's phone number and its 2024 schedule time before uploading. A past time sends immediately.

In a dashboard set to another language, the Sample Format window shows these column names translated. Your file must still use the English headers listed here.

ColumnRequiredWhat to put in it
ToYesThe phone number with country code, such as 919876543210, or the exact name of a WhatsApp group, such as Family Group.
MessageYesThe message text. WhatsApp formatting such as *bold* works.
Image/File Url (Optional)NoA public link to an image or file. The row's Message is sent as its caption.
whatsapp_client_idNoThe Whatsapp Client ID of the number to send from, from WhatsApp settings. Use 0 or leave empty to send from your first connected number.
Schedule Time (Optional)NoWhen to send the row, in ISO format with a timezone offset, such as 2026-12-25T14:30:00+05:30. A time without an offset, such as 2026-12-25T14:30:00, is read in the server's timezone, so always add +05:30, Z (UTC) or your own offset. Leave empty to send as soon as possible.

In Excel files, Whatsapp Number or Contact phone Number also work instead of To. In a CSV file without a To header, the first column is read as the number and the second as the message, whatever their headers say, so keep the number first and the message second. Image/File Url and Schedule Time also work without "(Optional)".

Example rows:

ToMessageImage/File Url (Optional)whatsapp_client_idSchedule Time (Optional)
919876543210Hi Aman, your order has shipped.1234
Family GroupHappy holidays everyone!12342026-12-25T16:00:00+05:30
919876543211This week's offershttps://example.com/offer.jpg1234

Phone numbers and groups#

  • Write numbers with the country code and digits only. A leading +, spaces and a leading 0 are removed.
  • A To value that contains letters, dashes or brackets is treated as a group name, so 98765-43210 would be sent to a group of that name and fail. Remove dashes and brackets from numbers.
  • Group names must match the WhatsApp group exactly, and the sending number must be a member. Use group names that aren't shared by other chats.

Images and files#

  • Links ending in .jpg, .jpeg, .png, .gif, .bmp, .tiff or .svg are sent as images. Any other link is sent as a file.
  • Links must open the file directly without a login. Upload files to the Media library to get a link.
  • The recipient sees a file name taken from the end of the link. Use links that end in the right extension, such as .pdf; otherwise .pdf is added to the name.

Start a campaign#

  1. Name the campaign

    Under Start New Campaign, type a Campaign Name. If a campaign with that name already exists, a number is added, such as Diwali offer (1).

  2. Choose your file

    Under Upload Excel/CSV File, choose your .csv, .xls or .xlsx file.

  3. Start

    Click Start Campaign. When the file is read, you see "N messages saved in new campaign" and the campaign appears under All Campaigns.

Rows without a number are skipped, and so is every row if the file has no Message column (except a CSV without a To header, as described above). If you have no connected number and the file doesn't name one in whatsapp_client_id, every row is skipped. If no rows can be used, the campaign isn't created and doesn't appear under All Campaigns.

Sending pace#

Rows without a Schedule Time are spaced out automatically: the first is due about 5 seconds after upload, and each next one a random 5 to 30 seconds after the previous. Rows with a Schedule Time are due at that time.

Messages are sent in order by the WhatsApp number that sends them, only while that number is connected. A busy or disconnected number delays its messages. Keep to the Best Practices shown on WhatsApp settings, such as 150–200 messages per number per day.

Track a campaign#

The All Campaigns table lists your campaigns, newest first, 20 per page:

ColumnMeaning
Campaign DateThe campaign name (despite the column title).
Total MessagesMessages created from the file.
PendingQueued and not sent yet, including scheduled rows.
DeliveredSent from your WhatsApp number.
Cancelled!Failed, cancelled or expired.

Campaigns created from Template messages also appear here, named Template Messages - followed by the date and time.

Open Actions on a campaign to:

  • Download Report: an Excel file with each message's Whatsapp Number, Customer Number, Msg, Created Time, Sent Time and Status (Created, Sent, Failed, Cancelled or Expired). Times are in UTC.
  • View Messages: open Reports filtered to this campaign, with the reason for any failure.
  • Cancel Pending Messages: shown when the campaign still has pending messages.
  • Archive or Restore.

Finished messages are removed after about 90 days, so download reports you want to keep.

Cancel pending messages#

  1. Open the campaign's actions

    In All Campaigns, open Actions on the campaign and click Cancel Pending Messages.

  2. Confirm

    Click Yes, cancel messages!. You see "N pending messages cancelled successfully".

Cancelled messages don't use credits. Messages that were already sent aren't affected, and cancelling can't be undone.

Archive and restore#

Archiving hides a finished campaign from the main list. Click Archive in its Actions menu and confirm with Yes, archive it!. To see archived campaigns, turn on Show Archived Campaigns, then click Restore to bring one back.

Troubleshooting#

Message or problemWhat to do
"Please enter a campaign name."Fill in Campaign Name.
"Please upload a file before saving the campaign."Choose a file first.
"Invalid file format"Save the file as .csv, .xls or .xlsx.
"Low credits"You have no credits left. Upgrade on Billing & Plans.
"Not enough credits: this file would create…"Split the file or upgrade, then upload again.
"0 messages saved in new campaign"Check the headers are exactly To and Message (in a CSV, keep the number in the first column and the message in the second), and that a number is connected.
"An error occurred while uploading the campaign"The file couldn't be read. Re-save it as .xlsx or UTF-8 .csv and try again.
Messages stay in PendingThe sending number must be Connected. Check the whatsapp_client_id in your file belongs to a connected number. The ID of a number you deleted or disconnected is still accepted and its messages stay pending; only an unknown ID or 0 falls back to your first connected number.
Scheduled rows sent at the wrong timeInclude the timezone offset, such as +05:30, and format the column as text in Excel. A time that can't be read is sent immediately.
Messages to a number failCheck the View Messages error. Numbers need the country code, with no dashes or brackets.