> ## Documentation Index
> Fetch the complete documentation index at: https://help.maestra.io/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Send a WhatsApp Campaign via Edna Pulse

Edna Pulse is a messaging provider that lets you reach customers in WhatsApp. Once you connect Edna Pulse to Maestra, you can send WhatsApp campaigns — both one-off broadcasts and automated messages triggered by scenarios — directly from the platform, track delivery and engagement, and use customer data to personalize each message.

This guide walks through connecting Edna Pulse to Maestra, preparing message templates, building a WhatsApp campaign, and tracking results after send.

## How WhatsApp messaging works with Edna Pulse

WhatsApp requires that any conversation a brand starts with a customer begin with a pre-approved message template. Templates are created and submitted for approval on the Edna Pulse side. Once a template is approved and marked **Active**, you can reference it from a Maestra campaign and send it to your audience.

Maestra handles the audience, scheduling, personalization, and reporting. Edna Pulse handles the WhatsApp Business API connection, template approval, and the actual delivery to WhatsApp.

## Step 1. Connect Edna Pulse to Maestra

### 1.1 Create an Edna Pulse account and a WhatsApp channel

Sign up for Edna Pulse and create a WhatsApp channel inside your Edna Pulse workspace. When the channel is created, Edna Pulse automatically generates a **cascade** for it. You'll need the cascade identifier in a moment.

### 1.2 Add the connection in Maestra

In Maestra, go to **Settings → Mailings → Connections** and add a new WhatsApp connection. Fill in the following fields:

<ParamField path="Brand" type="select">
  For multi-brand projects, select the brand this connection belongs to.
</ParamField>

<ParamField path="Provider" type="select">
  Choose **Edna Pulse**.
</ParamField>

<ParamField path="Cascade identifier" type="string">
  The cascade ID generated by Edna Pulse. You can find it in the **Cascades** section of your Edna Pulse account.
</ParamField>

<ParamField path="API key" type="string">
  The API key from Edna Pulse. Find it under **Integration → Settings** in your Edna Pulse account.
</ParamField>

### 1.3 Configure the status webhook

Set up an HTTP server endpoint to receive delivery statuses and incoming messages from Edna Pulse. Use the same API key for authentication. This is what allows Maestra to track whether each message was delivered, read, clicked, or failed.

### 1.4 Enable the Notifications and Messengers module

Make sure the **Notifications and Messengers** module is enabled in your Maestra project. Without it, WhatsApp campaigns cannot be sent.

## Step 2. Create a template in Edna Pulse

Every WhatsApp conversation you start with a customer has to begin with an approved template. Templates live in Edna Pulse, not in Maestra.

In your Edna Pulse account, go to **Settings → Templates** and create an operator template. Submit it for approval. Only templates in **Active** status can be used in Maestra campaigns — templates that are still pending review or have been rejected won't be available for sending.

<Note>
  Approval is handled by WhatsApp, not by Edna Pulse or Maestra, and can take some time. Plan template creation ahead of any time-sensitive campaign.
</Note>

## Step 3. Build the WhatsApp campaign in Maestra

1. Open the **Campaigns** section in Maestra.
2. Create a new campaign and choose the campaign type:
   * **Mass campaign** — a one-off send to a selected audience, sent immediately or scheduled.
   * **Automated campaign** — triggered by a scenario (for example, abandoned cart, welcome, post-purchase).
3. Select **WhatsApp** as the channel and choose the folder where the campaign should live.
4. Select the sender you configured when connecting Edna Pulse.

### Choose a message type

Edna Pulse supports several WhatsApp message types. Pick the one that matches what you're sending.

<Tabs>
  <Tab title="Text">
    A standard text message with optional rich elements.

    * **Message text** — the body of the message.
    * **Header** — optional. Choose one of: text, image, document, or video.
    * **Signature** — optional footer text.
    * **Buttons** — optional. Each button label is limited to **20 characters**. Available button types:
      * **Link** — opens a URL.
      * **Phone number** — starts a call to the specified number.
      * **Quick reply** — sends a predefined response back from the customer.
  </Tab>

  <Tab title="One-time password">
    A message that delivers a one-time password with a built-in copy button so the customer can paste the code straight into your app or site.

    * **Template identifier** — required. References the approved OTP template in Edna Pulse.
  </Tab>

  <Tab title="Attachment">
    A media message: image, document, video, or audio.

    * **Caption** — text shown with the attachment.
    * **Attachment link** — URL of the media file to send.
  </Tab>

  <Tab title="Location">
    Sends a pin on a map.

    * **Longitude** — value between **-180 and 180**.
    * **Latitude** — value between **-90 and 90**.
    * **Place name** — the label shown with the pin.
  </Tab>

  <Tab title="List items">
    An interactive menu with selectable options grouped into sections.

    * Each list item label is limited to **24 characters**.
    * You can group items into multiple sections.
  </Tab>

  <Tab title="Flow">
    A WhatsApp Flow — a multi-screen interactive experience.

    * **Message text** — the body shown before the Flow opens.
    * **Flow ID** — the identifier of the Flow to launch.
    * **Button text** — the label on the button that opens the Flow.
    * **Interaction type** — how the Flow behaves once opened.
    * **Screen ID** — optional. Specifies which screen the Flow should open on.
  </Tab>
</Tabs>

### Personalize the content

Pull in customer data — name, recent purchases, loyalty status, or any custom field — using the same personalization syntax you'd use for an email or SMS campaign. Maestra fills in the values per recipient at send time.

## Step 4. Send the campaign

### Mass campaigns

Choose the recipient segment, then either send immediately or schedule the campaign for a specific time. Maestra hands each message to Edna Pulse, which delivers it through WhatsApp.

### Automated campaigns

Drop the WhatsApp send into a scenario. The campaign has to be in **Ready for use** status before the scenario can trigger it.

### Recipient requirements

Recipients must have a **mobile phone number** filled in on their customer profile. You can also store subscription status in a custom field and reference that field in campaign filters to make sure you only message customers who've opted in.

## Step 5. Track results

After sending, Maestra tracks the following statuses for each message:

* **Sent**
* **Delivered**
* **Opened** (read)
* **Clicked**
* **Failed**
* **Not delivered**

These show up in the campaign's statistics view alongside the rest of your channel reporting, so WhatsApp performance sits next to email, SMS, and push in the same dashboards.

### Tracking links

<Warning>
  Maestra **cannot track clicks on links written into templates on the Edna Pulse side**. If you put a raw URL inside the template body in Edna Pulse, clicks on that link won't show up in Maestra's reports.

  To track clicks, use **Maestra's URL shortener** for any links you include in the campaign. Shortened links route through Maestra, which records the click before redirecting the customer.
</Warning>

## Tips and limits at a glance

* Button labels: **max 20 characters**.
* List item labels: **max 24 characters**.
* Longitude range: **-180 to 180**. Latitude range: **-90 to 90**.
* Only **Active** templates from Edna Pulse can be sent.
* Pricing for WhatsApp messages is set by Edna Pulse and WhatsApp — check your Edna Pulse contract for the per-message cost (typically a few cents per conversation, depending on category and country).
* Use the Maestra URL shortener for any link you want to attribute.
* Keep the API key in **Integration → Settings** in Edna Pulse safe — anyone with it can send messages on your account's behalf.
