You can receive and reply to your WhatsApp messages directly inside Madyis Hub using **Twilio**. It takes about 10 minutes. Follow the steps in order.

> ⚠️ The most important point: unlike some other channels, connecting WhatsApp through Twilio is **not fully automatic**. You must paste a URL (the "webhook") into Twilio, otherwise incoming messages will never reach Madyis Hub. That is step 3 below, and it is the #1 reason messages "don't show up".

## Before you start
- A **Twilio** account with WhatsApp enabled (an approved WhatsApp number, or the "Sandbox" for testing).
- Your Twilio credentials: **Account SID** and **Auth Token**, shown on the Twilio Console home page.

## Step 1 — Create the inbox in Madyis Hub
1. Go to **Inboxes & channels → Add channel → WhatsApp**, then choose **Twilio**.
2. Fill in:
   - the inbox **name** (e.g. "WhatsApp Support");
   - your **WhatsApp number** in international format (e.g. `+15551234567`, no spaces);
   - your **Account SID** and **Auth Token**.
3. Click **Create channel**.

## Step 2 — Copy the callback URL
Right after creation, Madyis Hub shows a **callback URL**. You can also find it anytime in the inbox **Configuration** tab. It looks like:

`https://madyishub.io/twilio/callback`

Copy it. This is what tells Twilio **where to deliver** the messages your customers send you.

## Step 3 — Paste the URL into Twilio (the step not to skip)
In the Twilio Console, open your WhatsApp sender configuration: **Messaging → Senders → WhatsApp senders → your number**. Find the **"Messaging Endpoint Configuration"** section and fill in:
- **Webhook URL for incoming messages**: paste the callback URL from step 2.
- **Webhook method for incoming messages**: **HTTP Post**.
- **Status callback URL** *(optional)*: `https://madyishub.io/twilio/delivery_status` — to receive delivery receipts (sent / read).
- **Messaging service**: leave **empty** if you don't use one.

Click **Save**.

> The **"Profile about"** field Twilio may ask for is simply the short description of your WhatsApp profile (cosmetic, free text, ~139 characters). For example: "Support — bookings and questions". It has **no impact** on message delivery.

## Step 4 — Test
From a phone, send a WhatsApp message **to your number**. Within a few seconds it should appear as a new conversation in the inbox you just created.

## Special case: the Twilio Sandbox
The Sandbox lets you test before you have an approved WhatsApp number:
- From your phone, **join the Sandbox first**: send `join <your-code>` to the Sandbox number shown by Twilio.
- Put the callback URL in the Sandbox settings, field **"When a message comes in"**.
- In Madyis Hub, the inbox number must be the **Sandbox number** (often `+14155238886`), not your real number.

## Still not working?
- Make sure the **callback URL is exact** and set to **HTTP Post**.
- Make sure the **inbox number matches your Twilio number exactly** (international `+…` format, no spaces).
- If you use a Twilio **Messaging Service**: put the callback URL in that service instead (*Integration → Incoming Messages* tab), then enter its **Messaging Service SID** when creating the inbox.
- Stuck on a step? Ask the assistant in the bottom-right corner of your dashboard.
