# WhatsApp (https://www.getfounderhq.com/docs/sequences/whatsapp)

Connect your own WhatsApp Business sender so sequence WhatsApp steps send.
About 10 minutes once your number is live at the provider.

<Callout type="info" title="Before you start">
You need a WhatsApp Business number already approved and live with Meta or
with a Business Solution Provider, and at least one approved message
template. Then open Sequences in FounderHQ and add a WhatsApp connection.
</Callout>

## The 24-hour rule

WhatsApp does not let you write to people freely. Two kinds of message
exist:

- **Template messages.** Wording you registered with Meta and Meta
  approved. You can send these any time.
- **Session messages.** Free text. Allowed only within 24 hours of that
  person's last message to you.

FounderHQ follows the person's last inbound message to guess whether the
window is open, but the provider decides. A session message sent after the
window closes comes back rejected — Meta answers with error 131047, Twilio
with 63016 — and FounderHQ marks the message failed and shows you why. It
never quietly drops it or silently swaps in something else.

Practical consequence: a sequence that reaches out first must use a
template. Free text only works as a reply.

## Meta Cloud API

The direct route. No middleman, Meta's own pricing.

**Paste:** a long-lived access token from your Meta app.

**Set:** the phone number ID of your WhatsApp sender.

**For replies and delivery ticks:** in your Meta app's webhook settings,
point the webhook at the URL FounderHQ shows on the connection. Meta first
sends a verification challenge — set a verify token on the connection and
enter the same value at Meta. Also set your Meta app secret on the
connection, so FounderHQ can check the signature on every incoming webhook.

FounderHQ can pull your approved templates from Meta so you pick one by
name instead of typing it.

## Twilio WhatsApp

The pick if you already run Twilio.

**Paste:** your Account SID and Auth Token.

**Set:** your WhatsApp sender number. FounderHQ sends from that number
directly — Twilio Messaging Services are not used for WhatsApp.

FounderHQ can read the WhatsApp senders on your Twilio account and set the
webhook on the one you choose, so replies and delivery ticks arrive without
you pasting URLs into Twilio.

Templates work by their approved WhatsApp name and language. FounderHQ
looks up the matching Twilio Content template inside your own Twilio
account and remembers it for that connection. Move the same FounderHQ
template to a different Twilio account and it resolves again there.

## Business Solution Providers

Four BSPs ship as recipes. You type a few fields and FounderHQ builds the
rest.

### 360dialog

| Field | Where to find it |
| --- | --- |
| Phone number ID | 360dialog Hub → WhatsApp accounts |
| D360 API key | 360dialog Hub → API keys |

**Webhook:** paste the URL FounderHQ shows into the 360dialog Hub, under
WhatsApp Accounts → your number → webhook. Delivery ticks, read receipts,
and replies then arrive on their own.

360dialog sends events to one webhook per number. If another tool was
receiving them, it stops.

Session messages work. FounderHQ can pull your approved templates.

### Gupshup

| Field | Where to find it |
| --- | --- |
| App ID | Your Gupshup partner portal |
| Phone number ID | The WhatsApp number behind that Gupshup app |
| Partner app token | Your Gupshup partner portal |

**Webhook:** in the partner portal, add a callback subscription for your
app with type V3 and paste the URL FounderHQ shows. Gupshup allows several
callbacks, so you can keep the ones you already have.

Session messages work.

### icpaas

| Field | Where to find it |
| --- | --- |
| API base URL | The host icpaas gave you. Defaults to `https://icpaas.in`. |
| Phone number ID | Your icpaas dashboard |
| WhatsApp Business Account ID | Optional. Only needed to pull your approved templates into FounderHQ — sends work without it. |
| API key | Your icpaas dashboard |

**Webhook:** paste the URL FounderHQ shows as the delivery webhook in your
icpaas dashboard.

Session messages work.

### Interakt

| Field | Where to find it |
| --- | --- |
| API key | Interakt → Settings → Developer Settings |

Interakt's public API sends approved templates only. A session message on
this connection fails with a clear message rather than going out wrong.

There is no delivery feedback either: messages stay at Sent. Replies and
STOP handling stay inside Interakt for now.

## Templates

FounderHQ never registers or approves templates. You create them at Meta or
in your BSP's console and wait for approval there. FounderHQ sends an
approved template by its name and language, and fills its variables in
order.

For Meta, 360dialog, and icpaas, FounderHQ can pull the approved list so
you pick from it. For the others, enter the template's name and language as
approved.

## Verify

1. Build a sequence with one WhatsApp template step and run your own
   number through it.
2. The message arrives from your business sender.
3. Open the sequence in FounderHQ. The message shows Sent, then Delivered,
   then Read once the person opens it. An Interakt connection stops at
   Sent.
4. Reply from your phone. The reply shows up in FounderHQ, on every
   connection except Interakt.

## Troubleshoot

### A free-text message failed with a window error

The person's 24-hour window is closed. Use an approved template for that
step.

### The connection sends but nothing ever reaches Delivered

The webhook is not wired. Meta, 360dialog, Gupshup, and icpaas all need the
URL pasted at the provider. Interakt has no delivery feedback at all.

### A template send is rejected as unknown

The name or language does not match an approved template on that account.
Pull the list again, or copy the name exactly as the provider shows it.
