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
- Create a Meta app
At developers.facebook.com, create an app of type Business and add the WhatsApp product to it.
- 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.
- 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_messagingandwhatsapp_business_managementpermissions. This token does not expire. - 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.
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
| Symptom | Usual cause |
|---|---|
| Webhook never verifies | The Verify Token in Meta does not match the value saved in Noli, character for character. |
| Verified, but nothing reaches the agent | You did not subscribe to the messages field. |
| Worked yesterday, dead today | A temporary token was used instead of a system-user one. |
| Inbound works, outbound does not | The 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.