Skip to content
All articles
Setup

Connect WhatsApp via the Meta Cloud API

Send and receive WhatsApp straight from Meta (Cloud API), with your own number and app, as an alternative to Twilio. BYO model: the number, the WhatsApp Business Account and the app are yours.

Message templates

After 24 hours without a reply from the customer, WhatsApp no longer lets you send free text: starting the conversation again requires an approved template. You create and manage templates inside the CRM, in the WhatsApp card under Settings → Integrations — you do not have to go to Meta's Business Manager.

  1. Click New template and say what it is for. The technical name is filled in for you (Meta only accepts lowercase, digits and underscore).
  2. Choose the language and the category. Utility is for a message the customer expects, like an order or an appointment; Marketing is for an offer. Meta reviews the category too, and the wrong one is a common rejection.
  3. Write the message. Use {{1}}, {{2}} for anything that changes per person, numbered in order with no gaps.
  4. Fill in an example for each variable. Meta requires this and rejects the template without it — nobody ever receives these values, they exist only for the review.
  5. Send for review. The template arrives as pending and Meta usually approves it within minutes; the status appears in the list.
💡 The CRM checks the name, the numbering of the variables and the missing examples before sending anything to Meta. These are the three most common rejections, and Meta's message for them does not say what to fix.

Connect in one click

If the button "Connect WhatsApp" appears at the top of the card, use it: it is the short path. A Meta window opens, you pick (or create) the WhatsApp Business account and the number, and that is it. There is no app to create, no token to generate and nothing to paste. This works because SellioCRM is an approved Meta Tech Provider, so the connection happens under our app instead of one you have to build.

  • The number and the account stay yours. You can disconnect from Meta at any time and we lose access immediately.
  • We never see your Facebook password, and no secret of ours reaches your browser.
  • Messages are still billed by Meta on your own account.
💡 If the button does not appear, the one-click path is not enabled for your workspace and the manual setup below is the way. Both end at the same place: the same sending, the same inbox, the same templates.

Manual setup (your own Meta app)

Besides Twilio, you can send and receive WhatsApp straight from Meta, using the official Cloud API. It is an alternative: when this integration is active, WhatsApp goes through Meta; SMS keeps using Twilio. BYO model (you bring your own account): the number, the WhatsApp Business Account (WABA) and the Meta app are yours, and messages are billed on your Meta account, with no cost, margin or intermediation on our side.

The integration starts inert: nothing is sent until you fill in the fields and activate. The access token and app secret are stored encrypted in the CRM and are never displayed back.

Prerequisites

  • A Meta app (developers.facebook.com) with the WhatsApp product added and a WhatsApp Business Account (WABA).
  • A WhatsApp number registered on your WABA and its Phone Number ID (under WhatsApp > API Setup).
  • A permanent access token (recommended: a System User in Business Manager) and the app's App secret (under Settings > Basic).
  • In Sellio, administrator access to save the credentials and activate the integration in Settings → Integrations.

What you need to fill in

  • Phone Number ID: the identifier of your WhatsApp number at Meta (it is an ID, not the phone number itself).
  • WABA ID (optional): the ID of your WhatsApp Business Account, useful for management and templates.
  • Graph version: the Graph API version to call (e.g., v21.0). Blank uses the default.
  • Verify token: a string you choose. It must be the same in the CRM and in the Meta panel when subscribing the webhook.
  • Access token: the permanent token that authorizes sending (stored encrypted in the CRM).
  • App secret: the app secret, used to verify the signature of received webhooks (stored encrypted in the CRM).

How to configure

  1. Open Settings → Integrations and find the "WhatsApp (Meta Cloud API)" card.
  2. Fill in the Phone Number ID, the Verify token (choose a string), the Access token and the App secret; WABA ID and Graph version are optional. Click "Save credentials".
  3. Copy the "Webhook URL (Meta)" that appears. In the Meta panel, under WhatsApp → Configuration → Webhooks, paste that URL in Callback URL and the same Verify token in the Verify token field.
  4. Still at Meta, subscribe to the "messages" field to receive messages and statuses.
  5. Return to the CRM and click "Activate". From then on, WhatsApp sends go through Meta.

How to send a message

  1. Open a Contact or Lead that has a phone (Phone or Mobile field).
  2. In the "Messages (SMS/WhatsApp)" panel, click "Send SMS/WhatsApp" and choose the WhatsApp channel.
  3. Check the number, write the message and click "Send".
  4. The message is logged in the record's history. The customer's replies arrive via the webhook and appear in the same history.
💡 24h window and templates: outside the 24-hour window since the customer's last message, Meta only accepts approved TEMPLATE messages. Inside the window, free text works. Create and get your templates approved in the Meta panel.

Security: the CRM verifies the X-Hub-Signature-256 of every received webhook using your App secret (an unsigned call or one with an invalid signature is rejected). Treat the access token and app secret as secret: they are stored encrypted and never displayed back.

Multiple numbers in the same app

You can have more than one WhatsApp number in the same integration (e.g. a US number as the default and a Brazilian number for local conversations). In the integration card, add them under "Additional numbers" (Phone Number ID, optional WABA ID and a label) and save. When starting a conversation, pick the sender under "Send from"; Inbox replies automatically go out through the number each conversation came in on. The primary number remains the default.

How to test

  1. Open a Contact or Lead with a phone and send a short WhatsApp message to one of your numbers.
  2. Confirm the message reached the phone and that it was logged in the record's history.
  3. Reply from the phone and check that the reply appears in the same history (this validates the inbound webhook).

Troubleshooting

  • Webhook verification fails at Meta: the Verify token in the CRM and in the Meta panel must be identical. Check that the Callback URL is the "Webhook URL (Meta)" shown on the card.
  • Error sending: check the Phone Number ID and the Access token. An expired token or one without WhatsApp permission makes Meta refuse the send.
  • WhatsApp does not send outside the window: use an approved template. Free text only inside the 24h window.
  • I do not receive replies: in the Meta panel, subscribe to the "messages" field and confirm the Callback URL + Verify token.
  • Webhook rejected (403): the X-Hub-Signature-256 does not match. Re-enter the same App secret in the CRM (it does not come back from the server).
  • It still goes out through Twilio: the Meta integration must be "Activated". Without activating, WhatsApp keeps using Twilio.

Using the SAME number that is already in the WhatsApp Business app

You can keep the number active in the phone app and connected to the CRM at the same time — Meta calls this coexistence. Your rep keeps replying from the phone as always, and every message they send shows up in the CRM conversation automatically. Up to six months of past conversations are imported on activation.

  • You do not turn this on yourself in Business Manager: it happens through the CRM's connection wizard and is confirmed by a code that arrives in your WhatsApp.
  • The app keeps working normally: what changes is that the conversation is also recorded here, on the right contact.
  • History import has a deadline: Meta gives 24 hours after activation. Keep the app open while it runs — the screen shows progress.
  • If you switch phones or re-register the number, the connection drops and must be redone. The CRM tells you when that happens.
💡 What stops working in the app with coexistence on: groups, voice and video calls, catalog and orders, marketing messages and the app's quick replies. Existing broadcast lists become read-only. If any of those is essential to you, prefer a dedicated number for the CRM and leave the app untouched.

Open this article inside the system

Read it and want to see it working?

The account is free and the whole manual is available inside the system, with an assistant that answers from this very content.

Create free account
Connect WhatsApp via the Meta Cloud API · Sellio