Skip to content
Wbiztool

Product guides

Reminders

Reminders send the same WhatsApp message to a number or group on a repeating schedule, such as every weekday at 9:00 AM or on the 1st of each month. Use them for payment reminders, team check-ins or regular updates.

Open them from Tools → Recurrent Reminders in the sidebar, or go to /reminders/.

Before you start#

  • A plan that includes reminders. Otherwise saving shows "Upgrade your plan to use reminders feature".
  • A WhatsApp number showing Connected on WhatsApp settings.
  • Credits on your plan. Each time a reminder runs, it uses one message.

Create a reminder#

The Create New Reminder card is at the top of the page. If it's collapsed, click the arrow button on the card to expand it.

  1. Name it

    Enter a Reminder Name, such as Daily Follow-up.

  2. Choose the message type

    Choose Message Type: Text Message, Image + Text Message or File + Text Message, and fill in Image URL or File URL. Recipients see the last part of the file link as the file name.

  3. Choose the sending number (optional)

    Under WhatsApp Account, pick a connected number, or leave Select WhatsApp Account (Optional) to use your first connected number each time the reminder runs.

  4. Enter the recipient

    In Phone Number / Group Name, enter a number with country code and digits only, such as 919876543210, or the exact name of a WhatsApp group.

  5. Set the schedule

    Under Schedule (Cron Expression), pick a preset or Custom Cron Expression. See Schedule options.

  6. Pick the timezone

    Choose the Timezone your schedule is in. Your last choice is remembered for next time.

  7. Write the message and save

    Write the Message Template, optionally with variables, and click Create Reminder. You see "Reminder created successfully".

Schedule options#

The schedule is a cron expression: five values for minute, hour, day of month, month and weekday, separated by spaces. Weekdays run from 0 (Sunday) to 6 (Saturday). Cron Helper on the page lists examples, and Cron Generator opens crontab.guru to build one.

PresetExpression
Daily at 9:00 AM0 9 * * *
Weekly on Monday at 9:00 AM0 9 * * 1
Monthly on 1st at 9:00 AM0 9 1 * *
Every 6 hours0 */6 * * *
Weekdays at 9:00 AM0 9 * * 1-5

More examples:

ExpressionRuns
0 0 * * *Every midnight
30 8 * * 1-58:30 AM on weekdays
0 */3 * * *Every 3 hours
0 12 1,15 * *12 PM on the 1st and 15th

In an expression, * means any value, / sets a step, - a range and , a list.

Timezones#

The schedule runs in the timezone you pick, and daylight saving time is followed automatically. The Next Run column shows the next time in that timezone. The list includes UTC, US and Canadian zones, Europe/London, Paris and Berlin, Asia/Kolkata, Dubai, Shanghai and Tokyo, Australia/Sydney and America/Sao_Paulo.

Reminders are checked every minute, and a message is queued when its scheduled minute arrives. If a check runs late, the run is still queued up to 10 minutes after its scheduled time (1 minute for a reminder's first run), and never twice. It's then sent as soon as the sending number is free.

Message variables#

These placeholders are replaced each time the reminder runs. Write them with single braces, exactly as shown:

VariableReplaced withExample
{reminder_name}The reminder's nameDaily Follow-up
{to_number}The recipient as entered919876543210
{organisation_name}Your workspace nameAcme Store
{client_name}The name of the workspace ownerAman
{current_date}Date in the reminder's timezone2026-09-16
{current_date_formatted}Long date, with a zero-padded daySeptember 06, 2026
{current_time}24-hour time09:00:00
{current_time_12h}12-hour time09:00 AM
{current_datetime}Date and time2026-09-16 09:00:00
{timezone}The timezone nameAsia/Kolkata
{timezone_short}Timezone abbreviationIST

For example, Good morning team, here's the plan for {current_date_formatted}.

Manage reminders#

Your Reminders lists every reminder with its Name, To, Type, Schedule, Next Run, Status (Active or Inactive) and Created time (UTC). The Actions buttons are icons; hover over one to see its name:

ButtonWhat it does
Edit (pencil)Opens Edit Reminder to change the name, type, recipient, image or file URL, schedule, timezone or message, and to pause or resume it with the Active checkbox. The schedule there is a plain text box for the cron expression, with no presets. Click Update Reminder to save.
Clone (two squares)Shows the reminder's details. Yes, clone it! copies them into the create form with "(Copy)" added to the name, ready to adjust and save.
Toggle Status (power icon)Pauses an active reminder or resumes an inactive one.
Delete (trash)Asks "Are you sure you want to delete this reminder?". Click Yes, delete it!.

Deleting or pausing a reminder doesn't cancel a message it has already queued. Cancel that on the Reports page.

Import reminders from a file#

  1. Prepare the file

    Click CSV Upload, then Sample Format to see the columns, and download the sample file. Fill in one reminder per row. Don't upload the sample as it is: its image and file links (example.com) are placeholders that won't download, so replace them with your own links or delete those rows. The file also has no timezone column, and its whatsapp_client_id values (1, 2) aren't yours, so those rows use your first connected number.

  2. Upload

    In Upload Reminders CSV, choose your .csv, .xls or .xlsx file and click Upload Reminders.

  3. Check the result

    You see "Successfully created N reminders." with the number of rows skipped. Imported reminders start as Active.

ColumnRequiredValue
reminder_nameYesA name for the reminder.
phoneYesNumber with country code, or a group name. +, spaces, dashes, brackets and a leading 0 are removed.
messageYesThe message text. Variables work here too.
cron_expressionYesThe schedule, such as 0 9 * * *.
timezoneNoA timezone name such as Asia/Kolkata. Empty means UTC. Abbreviations like IST aren't accepted. See the Timezone reference.
msg_typeNo0 text (default), 1 image or 2 file.
img_urlNoImage link, required when msg_type is 1.
file_urlNoFile link of up to 100 characters, required when msg_type is 2.
whatsapp_client_idNoThe Whatsapp Client ID of a connected number. Empty, unknown or not currently connected means your first connected number each time the reminder runs.

A row is skipped when its schedule or timezone is invalid, when msg_type is 1 without img_url, when msg_type is 2 without file_url, or when file_url is longer than 100 characters. Any other msg_type value is treated as text.

Troubleshooting#

Message or problemWhat to do
"name is required", "to_whatsapp_number is required", "message_template is required" or "cron_expression is required"Fill in the missing field.
"Invalid cron expression"Use five values separated by spaces. Try Cron Generator.
"Image URL is required for image messages"Add an Image URL, or switch to Text Message.
"Invalid WhatsApp client"The chosen number disconnected. Reload the page and pick a connected number.
"Invalid timezone"Pick a timezone from the list.
"File URL is required for file messages"Add a File URL, or switch to Text Message.
"Error creating reminder: value too long…" or "Error updating reminder: value too long…"The File URL is over 100 characters. Use a shorter link, or create the reminder through the API.
A file reminder created through the API stopped attaching its fileIt was edited or cloned in the dashboard, which removes the file link. Cancel it and create it again with the Create reminder API.
"Please select a CSV file to upload."Choose a file in Upload Reminders CSV first.
"Invalid file format. Only CSV, XLS, and XLSX files are supported."Save the file as .csv, .xls or .xlsx.
"An error occurred while uploading the CSV file"Check your connection, reload the page and upload again.
"Missing required columns: …"Add the listed column headers to your file, spelled exactly.
"No valid reminders found in the CSV file. Please check the format and data."Check the schedules, timezones, image URLs and file URLs in every row.
Reminder didn't sendCheck the status is Active, Next Run is what you expect, a number is Connected, and you have credits left. A run is skipped when you have no credits. If the reminder has no sending number chosen, a run is also skipped when no number is connected. If you picked a specific number and it's disconnected, the message is still queued and waits as pending. If an older reminder shows Active but never sends, click Toggle Status twice (pause, then resume).
Sent at the wrong timeCheck the Timezone and the hour in the cron expression.
Message to a group failsUse the exact group name, and make sure the sending number is a member.