Live Chat & Customer Portal
Connecting the WhatsApp channel (Twilio)
Updated 2026-08-21
The WhatsApp channel turns WhatsApp conversations into tickets in your shared inbox. It is included in the Scale plan and available as a $29/month add-on on Starter and Pro. All prices are net.
How it works
EspressoDesk uses a bring-your-own Twilio account model. You keep full ownership of the WhatsApp sender number and pay Meta conversation fees directly to Twilio. EspressoDesk never resells messaging.
Before you start
- A Twilio account (free trial is enough for the sandbox): console.twilio.com
- For production: a Meta Business account and a phone number that is not registered in the WhatsApp or WhatsApp Business app.
- In EspressoDesk you must be owner or admin.
Step 1 - Copy your Twilio credentials
- Sign in at console.twilio.com.
- Check the account selector in the top left corner - all values must come from the account you intend to use.
- In the left sidebar open Admin -> Settings -> Account settings -> API keys & auth tokens.
- Switch to the AUTH TOKENS tab. Under Live credentials you will see the Account SID (starts with
AC...) and the Primary auth token (click the eye icon to reveal, then copy). The API KEYS tab is a different thing - EspressoDesk needs the Account SID + auth token pair.
Step 2 - Activate a WhatsApp sender
First open the Messaging product - it is not in the sidebar by default:
- In the left sidebar, at the very bottom, click the grid icon All products & services (also called Explore Products).
- Scroll to the Messaging group and click Messaging.
- Optional: click the pin icon next to Messaging so it stays permanently in the left sidebar.
A) Sandbox (testing, ready in 2 minutes)
- In the Messaging menu: Try it out -> Send a WhatsApp message.
- Open the Sandbox tab. Twilio shows the sandbox number +1 415 523 8886 and a join code, e.g.
join happy-tiger. - From your own phone, send exactly that
join ...message on WhatsApp to the sandbox number. Twilio confirms you joined. - Your sender number for EspressoDesk is +14155238886.
B) Production (your own number)
- In the Messaging menu: Senders -> WhatsApp senders.
- Click New WhatsApp sender and follow the guided onboarding: connect your Meta Business account, add the phone number, verify it by SMS or voice call, and set the display name.
- Wait until the sender status is Online / Approved. That number (in
+CCXXXXXXXXXformat) is your sender.
Step 3 - Connect in EspressoDesk
- Go to Settings -> Integrations -> WhatsApp Business.
- Fill in:
- WhatsApp sender number - international format, no spaces, e.g.
+14155238886 - Twilio Account SID - the
AC...value - Twilio Auth Token - the token from step 1
- Press Connect. We call Twilio to verify the credentials before saving; the token is stored encrypted and never shown again.
- The badge changes to Connected and an Inbound webhook URL appears.
Step 4 - Paste the webhook URL into Twilio
Copy the URL from EspressoDesk (the copy button next to it), then:
Sandbox: left sidebar -> All products & services -> Messaging -> Try it out -> Send a WhatsApp message -> Sandbox settings tab -> field When a message comes in -> paste the URL, method HTTP POST -> Save.
Production: Messaging -> Senders -> WhatsApp senders -> click your sender -> webhook / endpoint configuration -> When a message comes in -> paste the URL, method HTTP POST -> Save. If your sender is attached to a Messaging Service, set the same URL in Messaging -> Services -> your service -> Integration -> Send a webhook.
Step 5 - Test
Send a WhatsApp message from your phone to the sender number. Within a few seconds a new ticket with channel WhatsApp appears in the inbox. Reply from the ticket - the answer is delivered through your Twilio sender.
What happens next
- Every inbound message creates (or reopens) a ticket, using the customer phone number as the identifier.
- A conversation stays on the same ticket for 7 days of activity; after that a new message opens a fresh ticket.
- Tickets follow your normal routing rules, including round-robin assignment.
Troubleshooting
- "Could not verify the Twilio credentials" - the Account SID/auth token pair is wrong or copied from a different Twilio account. Re-copy both from Settings -> Account settings -> API keys & auth tokens -> AUTH TOKENS.
- Messages do not arrive - the webhook URL is missing or the method is not HTTP POST. Check Twilio Monitor -> Logs -> Errors for delivery failures.
- Replies fail after 24h - Meta only allows free-form replies inside the 24-hour customer service window. Outside it you must send an approved template from Twilio (Messaging -> Content Template Builder).
- Sandbox stops working - sandbox sessions expire after 72 hours of inactivity; send the
join ...code again. - Keep the webhook URL secret: it identifies your workspace. Use Disconnect and reconnect to rotate it.

