# Send one-time WhatsApp messages

<Aside type="note" title="Before you start">
Connect your WhatsApp Business Account in **Settings → Configure Platforms → WhatsApp** and make sure at least one message template is created and approved in your WhatsApp Manager account before you create a campaign. [Learn how](/product/first-steps/start-with-your-project/configure-platforms/whatsapp-configuration/)
</Aside>

To send a one-time WhatsApp message in Pushwoosh, navigate to the **Campaigns** section, select **One-time messages**, and click **Send message** > **WhatsApp**.

## Select WhatsApp content

In the **Content** step, choose an approved [WhatsApp template](https://www.facebook.com/business/help/2055875911147364?id=2129163877102343) from the dropdown. The preview on the right shows the template's header and body text.

<img src="/messaging-channels-whatsapp-one-time-1.webp" alt="WhatsApp content step with template dropdown and message preview"/>

<Aside type="caution" title="Templates only">
One-time WhatsApp messages can only use approved templates. You can't send free-form text this way. Free-form messages are delivered only inside the 24-hour window opened by an inbound message from the user, and are sent from **WhatsApp Messages → Conversations**, not from a one-time campaign. [Learn more](/product/messaging-channels/whatsapp-messages/send-whatsapp-messages/#send-free-form-messages-and-view-your-whatsapp-conversations)
</Aside>

### Configure template variables

If the selected template contains placeholders in the header, body, or a button URL, configure a value for each one before you can proceed.

<img src="/messaging-channels-whatsapp-one-time-2.webp" alt="WhatsApp variable configuration panel with Tag and Custom text options"/>

For each placeholder, choose the **Variable Type**:

* **Tag**: value from a user tag (e.g. `first_name`). Select the tag, a text-case modifier (**CapitalizeFirst**, **CapitalizeAllFirst**, **UPPERCASE**, **lowercase**, or **regular**), and optional fallback text used when the tag is empty.
* **Custom text**: a fixed value entered manually.

### Select message type

Choose how this WhatsApp message is treated for subscription and delivery rules:

* **Marketing message**: Respects user opt-outs and frequency capping. Not sent to [global control group](/product/audience-data-and-segmentation/global-control-group/) users.
* **Transactional message**: Sent to all users regardless of subscription status. Bypasses opt-outs and frequency capping. Delivered to control group users.

<img src="/messaging-channels-whatsapp-one-time-3.webp" alt="Marketing message and Transactional message options in the WhatsApp campaign form"/>

[Learn how message type affects delivery](/product/messaging-channels/marketing-vs-transactional/).

## Select the audience for your WhatsApp campaign

In the **Audience** step, define who will receive your WhatsApp message.

<img src="/messaging-channels-whatsapp-one-time-4.webp" alt="WhatsApp audience step with Send to segment, list of phone numbers, and all subscribers options"/>

### Send to segment

Target a predefined [segment](/product/audience-data-and-segmentation/segmentation/) of your audience based on tags, events, or behavior. Select a segment from the dropdown, or click **Create segment** to [build](/product/audience-data-and-segmentation/segmentation/create-segments/) or [import](/product/audience-data-and-segmentation/segmentation/create-segments/by-import/#how-to-import-a-segment) one.

### Send to a list of phone numbers

Send the message to a specific list of phone numbers entered directly in the form. Phone numbers that are not yet in your project are automatically registered as WhatsApp devices and included in the send.

### Send to all subscribers

Target your entire WhatsApp-reachable audience.

Once you've set your audience, click **Next** to proceed to the scheduling step.

## Schedule WhatsApp message

Choose when to send your WhatsApp message.

### Send immediately

Send the message as soon as the campaign setup is complete. This is ideal for urgent or time-sensitive messages.

### Selected time

Schedule your WhatsApp message for a specific date and time.

* **Set the date and time**: Use the calendar to pick the date, then specify the time in hours and minutes (24-hour format).
* **Select the timezone**:
  * **Subscriber's device timezone**: The message is sent at the specified local time for each recipient.
  * **Custom timezone**: The message is sent at the same time for all recipients, useful for targeting a particular region.

<img src="/messaging-channels-whatsapp-one-time-5.webp" alt="WhatsApp scheduling with Send immediately and Selected time options, date picker, and timezone selection"/>

### Configure message delivery settings

#### Set frequency capping

Use [**Frequency capping**](/product/messaging-channels/global-frequency-capping/#enable-global-frequency-capping) to limit how often users receive WhatsApp messages, preventing over-messaging and reducing opt-outs. Choose one of the following options:

* **Use Global frequency capping settings**

  Apply the project-wide limits configured in your [Global frequency capping settings](/product/messaging-channels/global-frequency-capping/#enable-global-frequency-capping). For example, if the global limit is 3 messages in 9 days, additional messages exceeding this limit are skipped.
  <img src="/push-notifications-one-time-push-25.webp" alt="Use Global frequency capping settings option selected in message delivery configuration"/>
* **Ignore Global frequency capping**

  The user receives this message even if they've exceeded the channel's message limits. Use with caution to avoid over-messaging.
  <img src="/push-notifications-one-time-push-26.webp" alt="Ignore Global frequency capping option selected in message delivery settings"/>
* **Use custom frequency capping**

  Set a custom message limit for this message. If the user exceeds this custom cap, the message is skipped.
  <img src="/push-notifications-one-time-push-27.webp" alt="Use custom frequency capping with message limit input fields for period and time frame"/>

<Aside type="note">
Frequency capping applies only to **Marketing** messages. When you choose **Transactional**, frequency capping doesn't apply and these options are disabled.
</Aside>

#### Set send rate limits

The **Send rate** setting controls how quickly messages are delivered to your audience. Adjusting the send rate helps you manage delivery speed, prevent backend overload, and improve overall deliverability.

Choose one of the following options:

* **Use global send rate settings**

  Applies the send rate limits configured in your project's message delivery settings. If no limits are set, all messages are sent immediately. [Learn more about global send rate limits](/product/messaging-channels/global-frequency-capping/#set-send-rate-limits)
  <img src="/send-rate-in-journey-elements-1.webp" alt="Use global send rate settings option selected in send rate configuration"/>
* **Send messages without send rate**

  Sends messages as fast as possible, ignoring any global send rate limits. Use with caution to avoid delivery spikes.
  <img src="/send-rate-in-journey-elements-2.webp" alt="Send messages without send rate option selected for maximum delivery speed"/>
* **Use custom send rate**

  Overrides the global send rate for this message only. Specify the number of messages sent per minute for full control over delivery speed.
  <img src="/send-rate-in-journey-elements-3.webp" alt="Use custom send rate option with input field for messages per minute configuration"/>

Once you've configured the options, click **Next** to proceed to the confirmation step.

## Review and send

In **Review**, check the preview and the summaries for content, audience, and schedule. Update anything that still needs to change before you send.

<img src="/messaging-channels-whatsapp-one-time-6.webp" alt="WhatsApp campaign review step showing message preview, audience, and schedule summary before sending"/>

Once everything is verified, click **Schedule** to set it for later delivery or **Send Now** to send it immediately, depending on your selected scheduling options.

## Cancel or edit a scheduled WhatsApp message

For WhatsApp messages that are scheduled and not yet sent (status **PENDING**), you can change or cancel them. Open the list of messages in **Campaigns** → **One-time messages**, then open the actions menu (⋮) for the message:

* **Edit message**: opens the WhatsApp form with the message data loaded. You can update the content, audience, schedule, and delivery settings.
* **Delete message**: cancels the scheduled delivery and changes the status to **Canceled**.

<Aside type="tip">
You can also send WhatsApp messages using [Messaging API v2 `Notify`](/developer/api-reference/messaging-api-v2/notify/) with the [`whatsapp` payload block](/developer/api-reference/messaging-api-v2/payload-reference/#whatsapp-whatsapp). This requires assistance from your development team.
</Aside>

<Aside type="note" title="Need catalogs, vouchers, or branching?">
One-time WhatsApp messages cover single template sends only. For product catalogs, voucher codes, quick-reply branching, or split flows based on read status, use WhatsApp in [Customer Journey](/product/messaging-channels/whatsapp-messages/send-whatsapp-messages/send-whatsapp-via-customer-journey/) instead.
</Aside>

## Example scenario

Imagine you run an e-commerce store and want to send a flash-sale alert by WhatsApp to customers who purchased in the last 90 days, scheduled for the morning the sale starts.

**1.** Navigate to **Campaigns**, select **One-time messages**, click **Send message**, and choose **WhatsApp**.

**2.** In the **Content** step, select the **Flash Sale Alert** template and fill in its placeholders. For example, map the body's `{{1}}` variable to the `discount` tag with a `50%` fallback.

Keep the message type as **Marketing** so it respects opt-outs and frequency capping.

**3.** In the **Audience** step, choose **Send to segment** and select **Recent buyers (90 days)**.

**4.** In the **Schedule** step, choose **Selected time**, set the date and time to the sale's start, and select **Subscriber's device timezone** so each customer receives it at the same local time.

**5.** In **Review**, check the preview and the audience and schedule summaries, then click **Schedule** to finalize the campaign.