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,.xlsor.xlsxfile whose first row contains column headers, such asname,phoneandamount, and at least one data row. For Excel files, only the first sheet is used.
Create template messages#
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.
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}}.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.
Check the phone column
Under Phone Number Column, check the column with phone numbers. A column whose header contains words like
phone,mobile,number,whatsapporcontactis selected for you.Schedule (optional)
Tick Schedule Messages (Optional) to send later. See Scheduling.
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 calledname. - 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:
| Field | What to choose |
|---|---|
| Date Column | Required. The column with the date, or the full date and time. |
| Time Column | Optional. A column with the time as HH:MM or HH:MM:SS. |
| Timezone Column | Optional. A column with a timezone name per row, such as US/Eastern or Asia/Kolkata. See the Timezone reference. |
| Default Timezone | Used when a row has no timezone. |
| Date Format | Auto-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#
| Message | What 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 disabled | Upload a file, write a template, choose the phone column, and for dynamic scheduling a Date Column. |
{{name}} appears in the sent message | The variable doesn't exactly match a header. |
| Messages stay pending | The sending number must be Connected. Scheduled messages wait until their time. |
