DocsChannels

Noli on WhatsApp.

You bring your own WhatsApp Business account and Noli plugs into it. Everything happens inside your own Meta Business account - there is no approval to wait for from us, and the number stays yours.

One-time setup in Meta

  1. Create a Meta app

    At developers.facebook.com, create an app of type Business and add the WhatsApp product to it.

  2. Get your Phone Number ID and WABA ID

    On the WhatsApp → API Setup screen, add or select your business phone number. Copy the Phone Number ID and the WhatsApp Business Account (WABA) ID into the matching fields in the Noli admin.

  3. Generate a permanent token

    Under Business Settings → Users → System Users, create a system user, give it access to your WhatsApp app, and generate a token with the whatsapp_business_messaging and whatsapp_business_management permissions. This token does not expire.

  4. Configure the webhook

    Under WhatsApp → Configuration → Webhooks, paste the callback URL shown in the Noli admin, set the Verify Token to the exact value you entered there, and subscribe to the messages field. Incoming messages start reaching the AI agent immediately.

Screenshot pending/docs/whatsapp/meta-api-setup.webpThe WhatsApp API Setup screen in the Meta developer portal showing the Phone Number ID and WABA ID
Both IDs are on the same screen. The permanent token comes from System Users, not from here.

Why a system-user token

The temporary token Meta shows you on the API Setup screen expires in 24 hours - fine for a curl test, useless for a live channel. A system-user token does not expire, which is why the setup takes one extra step.

⚠️

The token is a credential. It grants send access to your WhatsApp number. Paste it into the Noli admin and nowhere else - never into client-side code, a repository or a support ticket.

What works once it is connected

  • The AI agent replies on WhatsApp with the same context it has everywhere else - catalogue, order history, tier and points.
  • Automations and campaigns can use the channel like any other.
  • Your number, your account. Nothing is resold through us, and you keep the WABA if you leave.
💡

The WhatsApp channel needs the Viber / WhatsApp add-on active on your plan. Without it the configuration saves but messages will not send.

If messages are not arriving

SymptomUsual cause
Webhook never verifiesThe Verify Token in Meta does not match the value saved in Noli, character for character.
Verified, but nothing reaches the agentYou did not subscribe to the messages field.
Worked yesterday, dead todayA temporary token was used instead of a system-user one.
Inbound works, outbound does notThe add-on is not active on the plan.

Still stuck? Viber is provisioned by us and needs none of this, if you want a channel live while you sort the Meta side out.