Skip to content
Wbiztool

Product guides

Template messages

Write one message with variables such as {{name}}, upload a spreadsheet, and Wbiztool creates a personalised WhatsApp message for every row. Use it for order confirmations, payment reminders or offers that mention each customer's details.

These templates live only in Wbiztool. They aren't the Meta-approved message templates of the WhatsApp Business API, and they don't need approval.

Open it from Tools → Template Messages in the sidebar, or go to /template-messages/.

Before you start#

  • A paid plan (not free or lifetime), or a plan that includes template messages. Otherwise creating messages fails with "Upgrade your plan to use template messages feature".
  • A WhatsApp number showing Connected on WhatsApp settings.
  • Enough credits for every row.
  • A .csv, .xls or .xlsx file whose first row contains column headers, such as name, phone and amount, and at least one data row. For Excel files, only the first sheet is used.

Create template messages#

  1. Upload your file

    Upload CSV File is near the bottom of the form. Upload your file there first, so the variable pills and column lists fill in. The CSV Preview on the right shows the first 10 rows, and Available Variables shows one pill per column.

  2. Write the message template

    In Message Template, write your message. Click a variable pill to insert it at the cursor, or type it yourself, such as {{name}}.

  3. Choose the message type and number

    Under Message Type:, choose Text Message, Image + Text Message or File + Text Message. Under WhatsApp Account, pick the number to send from, or leave Select WhatsApp Account to use your first connected number.

  4. Check the phone column

    Under Phone Number Column, check the column with phone numbers. A column whose header contains words like phone, mobile, number, whatsapp or contact is selected for you.

  5. Schedule (optional)

    Tick Schedule Messages (Optional) to send later. See Scheduling.

  6. Create the messages

    Click Create Messages. Confirm the count of messages and credits. You see "Successfully created N messages. M rows were skipped." Click View Reports to follow them.

Messages created here are grouped into a campaign named Template Messages - plus the date and time (UTC). Find it on Campaigns to download a report or cancel pending messages.

Variables#

Put a column header inside double braces, exactly as it appears in the header row:

Hi {{name}}, your order {{order_id}} for ${{amount}} has been confirmed!

With a row where name is John, order_id is ORD-001 and amount is 99.99, the message is:

Hi John, your order ORD-001 for $99.99 has been confirmed!
  • Headers are case-sensitive, and spaces count: {{Name}} or {{ name }} don't match a column called name.
  • A variable that doesn't match any header is left in the message as typed.
  • An empty cell inserts nothing.

Images and files#

With Image + Text Message or File + Text Message, fill in Image URL or File URL. The template text becomes the caption.

  • Static: the same link for every row, such as https://example.com/logo.jpg.
  • Dynamic: include variables, such as https://example.com/{{image_column}}.jpg. Click in the URL field first, then click a pill to insert the variable there.

Links must open the file directly, without a login. Upload files to the Media library to get one. The recipient sees a file name taken from the end of the link, so use links ending in the right extension, such as .pdf.

Phone numbers and groups#

  • Numbers need the country code. Spaces, dashes, brackets, dots and + are removed, and the result must be 6 to 15 digits.
  • A value that isn't a valid number is treated as a group name, and the message is sent to that WhatsApp group. Check the phone column for typos, because a mistyped number becomes a group message that fails.
  • Rows with an empty phone cell are skipped.

Scheduling#

Without scheduling, all messages are queued straight away and sent one after another from the chosen number.

With Schedule Messages (Optional) ticked, choose a Scheduling Mode:

Fixed Schedule (Same time for all)#

Pick Schedule Date & Time and a Timezone: (UTC, US/Eastern, US/Central, US/Pacific, Europe/London or Asia/Kolkata). Every message is due at that time. If you leave the date empty, messages are sent straight away. A date and time in the past is accepted too, and those messages are also sent straight away.

Dynamic from CSV (Per-row scheduling)#

Each row is scheduled from its own columns:

FieldWhat to choose
Date ColumnRequired. The column with the date, or the full date and time.
Time ColumnOptional. A column with the time as HH:MM or HH:MM:SS.
Timezone ColumnOptional. A column with a timezone name per row, such as US/Eastern or Asia/Kolkata. See the Timezone reference.
Default TimezoneUsed when a row has no timezone.
Date FormatAuto-detect, YYYY-MM-DD, MM/DD/YYYY, DD/MM/YYYY or YYYY-MM-DD HH:MM.

Choose the exact Date Format your file uses. Auto-detect reads ambiguous dates like 03/04/2026 month-first.

  • With Date Format YYYY-MM-DD HH:MM, Time Column is ignored, so the date column must hold the time too.
  • An unknown timezone in Timezone Column falls back to Default Timezone.
  • Excel date cells are read as they're displayed, for example 1/15/26. Format them as text in your chosen format, or use Auto-detect.

Tips for your file#

  • Avoid line breaks inside cells in CSV files; they can split a row in two. Use Excel (.xlsx) if your messages need several lines, or write line breaks into the template.
  • Tab-, comma- and semicolon-separated CSV files are all detected.
  • Test with a file of two or three rows sent to your own number first.

Troubleshooting#

MessageWhat to do
"Upgrade your plan to use template messages feature"Your plan doesn't include template messages. See Billing & Plans.
"Not enough credits"You have no credits left.
"Not enough credits: this file would create N messages but you have M credits remaining."Nothing was created. Remove rows or upgrade, then try again.
"No WhatsApp client available"Connect a WhatsApp number first.
"Invalid WhatsApp client"The chosen number disconnected. Reload the page and choose a connected number.
"Please upload a CSV, XLS, or XLSX file."Save the file as .csv, .xls or .xlsx and upload it again.
"The file appears to be empty."Add a header row and at least one data row.
"CSV must have at least a header row and one data row."Add a header row and data.
"No valid phone numbers found in the selected column."Pick the right Phone Number Column.
Create Messages stays disabledUpload a file, write a template, choose the phone column, and for dynamic scheduling a Date Column.
{{name}} appears in the sent messageThe variable doesn't exactly match a header.
Messages stay pendingThe sending number must be Connected. Scheduled messages wait until their time.