WhatsApp Channel

Overview

WhatsApp is WaDesk's flagship channel. You connect a WhatsApp number through one of three engines, and everything else — the Team Inbox, campaigns, broadcasts, flows, auto-reply and templates — runs on top of whichever engine that workspace uses. A workspace can even run several engines side by side. You manage numbers on the Channels page (the Devices screen).

What you need (short version): pick an engine — Unofficial API needs only a phone with WhatsApp (scan a QR); WhatsApp Cloud API needs a Meta WhatsApp Business Account + the platform's Meta app; Twilio needs a Twilio account with a WhatsApp sender. Details for each below.

The Three Engines — What Each Needs

EngineBest forWhat you needApproval
Unofficial API (QR pairing)Fastest start, any number, low volumeA phone with WhatsApp installed on the number you want to linkNone
WhatsApp Cloud API (Meta)Scale, templates, official reliability, multiple numbersA Meta WhatsApp Business Account (WABA) + verified number, and the platform's Meta app (App ID/Secret)Meta Business verification + App Review for real merchants
TwilioTeams already on TwilioA Twilio account (Account SID + Auth Token) with a WhatsApp-enabled senderTwilio's WhatsApp sender approval
Ban safety (Unofficial API). The Unofficial API links a real number like WhatsApp Web. Warm new numbers up, pace your sends, and respect opt-in — blasting cold lists is the quickest route to a ban. WaDesk's Warmer and pacing controls help protect the number.

Connecting the Unofficial API (QR)

  1. Open the Channels page (Devices) and click Add device, then choose the Unofficial API engine.
  2. Scan the QR code with WhatsApp on the phone (Linked devices → Link a device), or use the pairing code option and enter it in WhatsApp.
  3. Wait for Connected. The number pairs like WhatsApp Web and starts sending/receiving through WaDesk.
  4. Keep the phone online. A linked device stays connected while the phone is off, but the phone must reconnect to WhatsApp at least once every ~14 days.

Connecting the WhatsApp Cloud API (Meta)

There are two ways to connect a Cloud API number. Both need the platform admin to have set the Meta app credentials once (App ID + Secret under Admin → Settings → WaDesk Message).

Option A — Embedded Signup (recommended)

  1. On the Channels page, click Add WABA account → the Embedded Signup button.
  2. Log in with Facebook and follow Meta's dialog to pick or create the WhatsApp Business Account and number.
  3. WaDesk exchanges the code, registers the number and subscribes the WABA to your platform app's webhooks automatically — inbound works with no webhook setup.
Why Embedded Signup is smoother: the number is subscribed to your platform's Meta app, whose callback URL is already WaDesk's, so incoming messages route to you with zero configuration on the customer's side.

Option B — Manual (paste credentials)

Use this when the customer brings their own Meta app. You'll need four things from their Meta setup:

  • WABA ID and Phone Number ID (WhatsApp Manager → API Setup).
  • A System User access token generated with the whatsapp_business_messaging and whatsapp_business_management permissions.
  • The app's App ID + App Secret (so WaDesk can verify Meta's webhook signature).
  1. On the Channels page, click Add WABA account → paste credentials manually.
  2. Enter the WABA ID, Phone Number ID, access token, and App ID/Secret, then connect.
  3. WaDesk subscribes the number and connects it for sending.
Wiring inbound on a manual (own-app) connect. With the customer's own app, Meta will not let WaDesk override the WABA's callback (that's a Tech-Provider-only capability — it returns error #100, which is expected and does not block the connect). So inbound reaches WaDesk only when the customer sets their own app's webhook: in their Meta App Dashboard → WhatsApp → Configuration, set the Callback URL to https://your-domain/webhooks/whatsapp/inbound, set the Verify token to your waba_webhook_verify_token, and subscribe the messages field. Then click Fix inbound on the number. If the number's badge shows “Inbound wired”, send it a test message to confirm.

Connecting Twilio WhatsApp

  1. Get your Twilio credentials from the Twilio Console: Account SID + Auth Token, and a WhatsApp-enabled sender (an approved WhatsApp number or the sandbox for testing).
  2. On the Channels page, choose the Twilio engine and paste the SID, Auth Token and sender number.
  3. Set the inbound webhook on your Twilio WhatsApp sender to WaDesk's inbound URL so replies reach the inbox.
  4. Use the test/live toggle to switch between the Twilio sandbox and your live sender.

Running Several Engines at Once

A workspace can connect any mix of the three engines. Sender pickers across campaigns, broadcasts, scheduled sends, flows and the inbox group numbers by engine, the correct engine is chosen per message, and replies always go out on the channel the customer used. Set one number as the primary sender for defaults. See Multiple Engines at Once.

Using WhatsApp

  • Inbox: two-way chat, media, reactions, assignment, notes and the 24-hour session window are all in the Team Inbox.
  • Templates: on the Cloud API and Twilio, outbound outside the 24-hour window uses Meta-approved templates; WaDesk shows each template's cost up front.
  • Campaigns & broadcasts: bulk sends with per-recipient delivery tracking and ban-aware pacing.
  • Automation: auto-reply, flows and an AI agent all run on WhatsApp.

Troubleshooting

SymptomCause & fix
Inbound not arriving (manual WABA)The customer's own app callback isn't set. Set the Callback URL + Verify token in their Meta app and subscribe the messages field, then click Fix inbound. Or reconnect via Embedded Signup.
Error #100 on connectExpected on a manual own-app connect — override_callback_uri is Tech-Provider-only. It doesn't block sending; wire inbound via the app's own callback (above).
Send fails (#133010) Account not registeredThe number wasn't registered on the Cloud API. Use the per-number Register button (enter the number's 2FA PIN if it has one).
Token missing permissionRegenerate the System User token with whatsapp_business_messaging + whatsapp_business_management, then reconnect.
Unofficial number keeps disconnectingKeep the phone online and logged into WhatsApp; re-pair from the Channels page if it shows Needs re-pair.
More: engine setup in depth — Connecting a Channel; developer detail — WhatsApp Engines.
WaDesk Documentation