> For the complete documentation index, see [llms.txt](https://help.botpenguin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.botpenguin.com/bots/whatsapp-bot/whatsapp-automation/whatsapp-drip-campaigns-setup.md).

# WhatsApp Drip Campaigns Setup

### What is a Drip Campaign?

A Drip Campaign is a scheduled, structured flow of WhatsApp messages built for customer onboarding and lifecycle journeys. It allows you to define which templates go out and when, either as a single message or a full timeline-based sequence, and helps you guide contacts toward awareness, action, and adoption of your product or service.

***

### When should you use this?

Use this feature when:

* You want to run a structured onboarding sequence for new contacts
* You need to send timed reminders or follow-ups tied to a specific event, like an appointment
* You are trying to re-engage a specific group or segment without manually messaging each contact

***

### Benefits of Drip Campaigns

* 🚀 Helps you automate multi-step onboarding without manual follow-up
* ⏱️ Reduces time spent tracking who needs which message and when
* 🎯 Improves engagement by targeting the right contacts through the right enrollment type
* 🔄 Ensures consistency across every contact's journey
* 📈 Enhances adoption and reduces no-shows through timely, automated nudges

***

### Expected Outcome

After setting this up:

* Contacts matching your chosen enrollment type will automatically receive your defined message sequence
* You will notice fewer manual follow-ups and more consistent timing across campaigns
* Users will experience a relevant, timed set of messages, whether that's onboarding, a reminder, or a follow-up

{% hint style="info" icon="lightbulb" %}
Tip: The drip cycle checks for scheduled messages every 5 minutes, so timing is accurate to within that window.
{% endhint %}

***

### How to Use Drip Campaigns

#### Getting Started

1. Select a WhatsApp Chatbot.
2. Click on "Drips" in the left sidebar.

<figure><img src="/files/ZZeNRcxMNAUI4K8rdpGE" alt=""><figcaption></figcaption></figure>

3. Enter a name for your Drip Campaign, e.g. "Bakeries Reminder", and click on continue.
4. Select "Enrolled Contacts" from the dropdown to choose one of the four campaign types below.

<figure><img src="/files/qG72FRl56oiIiZ1cMa2e" alt=""><figcaption></figcaption></figure>

***

#### Type 1: All Contacts

This includes every contact available in your inbox that can be reached via the WhatsApp bot. It's the broadest option and applies to all new contacts starting a conversation with the bot.

1. From the Enrolled Contacts dropdown, select "All Contacts".

<figure><img src="/files/S5YondOXmZsgv5P3ZiSZ" alt=""><figcaption></figcaption></figure>

2. Under Schedule Your Templates, select a template to send first. If you need a new one, click "Create Template" to be redirected to the template creation page.
3. Select a time delay after which the template sends, in minutes, hours, or days. The countdown starts once the campaign is created.

{% hint style="info" %}
Note: the drip campaign cycle runs every 5 minutes and checks for any scheduled drip that's due.
{% endhint %}

4. Add another drip schedule with the "+" button if needed. Up to 5 schedules can be added per campaign.
5. If your template contains variables, assign their values from the dropdown, and optionally set a fallback value for when a variable isn't found.

<figure><img src="/files/vYy7vNcErHTonOq6YHQW" alt=""><figcaption></figcaption></figure>

6. Under Campaign Exit Criteria, set an Exit Schedule to define when a contact should stop receiving messages.

<figure><img src="/files/dMMV61Kq90oZCvHRqVkd" alt=""><figcaption></figcaption></figure>

7. Click "Create Drip Campaign" to save and activate it.

***

#### Type 2: Pre-defined Groups

This targets a specific group of contacts rather than everyone in your inbox.

1. From the Enrolled Contacts dropdown, select "Pre-defined Groups".
2. Select the group you want to send the drip campaign to.
3. Choose a start date and time for the campaign to begin.
4. "Send After" sends the scheduled drip once the selected time has elapsed.
5. Under Schedule Your Templates, select a template, set the time delay, and optionally add header media, exactly as in Type 1.
6. Add up to 5 schedules with the "+" button, and map any template variables with fallback values as needed.
7. Set an Exit Schedule under Campaign Exit Criteria.
8. Click "Create Drip Campaign" to save and activate it.

***

#### Type 3: Appointment Reminder

An Appointment Drip Campaign automatically sends WhatsApp messages to users before or after their scheduled appointments. It's suited for:

* Appointment reminders
* Follow-up messages
* Reducing no-shows
* Post-appointment feedback or instructions

Where to find this: Dashboard → Bots → Select Bot → Drips

1. Drip Campaign Name: give the campaign a clear, descriptive name, e.g. "Doctor Visit Reminder" or "Consultation Follow-up".
2. Enrolled Contacts: select "Appointment Reminder". This ensures only users with booked appointments are enrolled, and that campaign triggers are linked to appointment events.
3. Schedule Type: choose "Schedule Basic" to configure time-based messages relative to the appointment time.
4. Select Template: choose an approved WhatsApp template. Use reminder-style templates and include variables like appointment date/time where available.
5. Send Before/After Appointment: choose whether the message goes out before the appointment (e.g. reminders) or after (e.g. follow-ups).
6. Time Offset: define how long before or after the appointment the message sends, in minutes, hours, or days.

Examples:

* 30 minutes before appointment
* 1 hour before appointment
* 1 day after appointment

7. Add Multiple Schedules (optional): click the "+" icon to add more reminder messages, or combine before- and after-appointment messages in one campaign.
8. Exit Schedule: define when a contact should exit the campaign, such as when the appointment is completed, cancelled, or rescheduled. This prevents unnecessary messages once the campaign goal is achieved.
9. Click "Create Drip Campaign" to activate. Once created, messages send automatically, no manual follow-up is required, and the campaign respects appointment status changes.

Key things to know:

* The campaign works only for users with appointments
* WhatsApp templates must be approved
* The Exit Flow ensures users don't receive irrelevant messages
* All campaign activity is logged and trackable

Common use cases:

* Appointment reminders before a visit
* Post-appointment care instructions
* Feedback collection after an appointment
* Cancellation or reschedule follow-ups

***

#### Type 4: Contact Enrollment Rules

This targets contacts based on custom logic built from contact attributes, rather than a fixed group or event.

1. From the Enrolled Contacts dropdown, select "Contact Enrollment Rules".
2. Add a Contact Attribute by selecting it from the dropdown.
3. Add a relation, either "is" or "is not", between the contact attribute and the value.
4. Add the value you want to map and build the relation against.
5. Add more rules by clicking "+", choosing "and" or "or" to combine them.
6. Under Schedule Your Templates, select a template, set the time delay, and optionally add header media, exactly as in Type 1.
7. Add up to 5 schedules with the "+" button, and map any template variables with fallback values as needed.
8. Set an Exit Schedule under Campaign Exit Criteria.
9. Click "Create Drip Campaign" to save and activate it.

***

### Best Practices

> 💡 Keep Drip Campaign names specific and descriptive so they're easy to find later.

> ⚠️ Confirm your WhatsApp templates are approved before scheduling, or the drip won't send.

> 🚀 Use Contact Enrollment Rules for precise targeting instead of All Contacts when relevance matters more than reach.

> 🎯 Set an Exit Schedule on every campaign to avoid sending irrelevant messages after the goal is met.

***

### Troubleshooting

<details>

<summary>Issue: The scheduled message didn't send at the exact time selected.</summary>

Solution: The drip cycle checks for due messages every 5 minutes, so delivery can be delayed by up to 5 minutes from the exact time selected.

</details>

<details>

<summary>Issue: Appointment Reminder isn't enrolling any contacts.</summary>

Solution: Confirm the contacts actually have a booked appointment logged against them — this enrollment type only pulls in contacts tied to appointment events, not general contacts.

</details>

<details>

<summary>Issue: A variable in the template isn't populating correctly.</summary>

Solution: Check that the variable is mapped to the correct contact attribute in the template step, and set a fallback value so the message still sends correctly if the variable is missing.

</details>

***

### FAQs

<details>

<summary>What's the difference between the 4 Enrolled Contacts types?</summary>

All Contacts targets everyone in your inbox. Pre-defined Groups targets a specific saved group. Appointment Reminder targets only contacts with a booked appointment, timed relative to that appointment. Contact Enrollment Rules targets contacts matching custom attribute-based logic.

</details>

<details>

<summary>How many schedules can I add to one campaign?</summary>

Up to 5 drip schedules can be added per campaign using the "+" button, regardless of which enrollment type you choose.

</details>

<details>

<summary>How often does the drip campaign check for scheduled messages?</summary>

Every 5 minutes. Once a campaign is created, the countdown for each schedule starts immediately.

</details>

<details>

<summary>Can I combine before- and after-appointment messages in one campaign?</summary>

Yes, use the "+" icon under Schedule Your Templates to add multiple schedules, mixing before- and after-appointment messages within a single Appointment Reminder campaign.

</details>

<details>

<summary>What happens if a variable in my template can't be found for a contact?</summary>

You can set a fallback value when mapping the variable, so the message still sends with a sensible default instead of failing.

</details>

<details>

<summary>Why should I set an Exit Schedule?</summary>

It stops the campaign for a contact once its goal is met, for example when an appointment is completed, cancelled, or rescheduled, preventing irrelevant follow-up messages.

</details>

***

### Related Articles

{% content-ref url="/pages/aC5k4lrhMzMB7eUqjFO9" %}
[Pre-Built Chatflow Templates](/bots/whatsapp-bot/pre-built-chatflow-templates.md)
{% endcontent-ref %}

{% content-ref url="/pages/KOTBy8EITJ1euqDkU17e" %}
[WhatsApp Template Setup](/bots/whatsapp-bot/whatsapp-automation/whatsapp-template-setup.md)
{% endcontent-ref %}

{% content-ref url="/pages/7aa674tex06UpOx7vym3" %}
[Whatsapp Bot](/bots/whatsapp-bot.md)
{% endcontent-ref %}

***

### Support

If everything is correct and you are still unable to move forward, write to us at <contact@botpenguin.com>. We will respond back within 48 business hours.
