Onboarding Clients via Dashboard
Send a client a link to connect their WhatsApp Business account or Facebook Page into your project
A client invitation is a link. Your client opens it, signs in with Facebook, and connects their own WhatsApp Business account or Facebook Page. When they finish, the channel shows up in your project as a new sender.
Create an invitation
- In the dashboard, select the project the client's channel should land in.
- Open Client invitations and click New invitation.
- Choose the Channel and type the Client name. Both are required here: the name is how you find the client in the list later. The dialog also shows the name your client will read on the invitation page, which is your workspace's name; change it from the workspace switcher.
- Optionally, open the extra options (in the new interface they are under Email, number and expiry):
| Field | Description |
|---|---|
| Client email | The link is also emailed to this address. |
| WhatsApp number | WhatsApp only. Pre-assigns a number from this project. Only numbers that are active, approved and not on a sender are offered. |
| Link expires in | 1 to 30 days. Defaults to 7. |
- Click Create link. The dialog shows the link and a ready-to-send message for your client, with the link, what to have at hand and its expiry. Each pending row also has a Copy link button.
What it costs
Before you create the link, the dialog says what the connection will cost on your plan:
- Free: each connection uses one of the two connections your workspace includes, and Free allows a single WhatsApp Business account among them. When the slots, or the WhatsApp account, are already in use, your client's connection still completes, but it stays inactive until you free one or upgrade. The dialog names what is holding them.
- Paid plans: a connection your plan does not include is created inactive and costs nothing until you activate it, after seeing the price.
An inactive connection does not send or receive. Activate it from Connected channels (Accounts in the current interface), or with POST /v1/senders/{senderId}/channels/{channel}/activate.
What your client sees
- The invitation page, with your company name and what they need: a Facebook account with access to their business, and a phone number for WhatsApp unless you pre-assigned one.
- Facebook's window, where they sign in, select or create a WhatsApp Business Account, and choose the number.
- A confirmation when the number is connected.
If the number already runs on the WhatsApp Business App, your client can choose to connect that app in Facebook's window instead of registering the number from scratch. They keep using the app on their phone, and Zavu sends and receives through the same number. See WhatsApp Business App connection for the limits of this mode.
A number used on personal WhatsApp cannot be connected until it is removed from it.
Pre-assigned number
If you pre-assigned a number, the invitation page shows it. Your client enters it in Facebook's window and chooses Phone call to verify it. Zavu answers the call and shows the code on the invitation page for them to type.
Messenger
Your client signs in with Facebook and picks a Page they administer. That Page's Messenger inbox, including Marketplace chats, is routed to Zavu. They need admin access to at least one Page.
Follow invitations
Statuses
| Status | Meaning |
|---|---|
| Pending | The link is waiting. In the new interface the row also says whether your client has opened it. |
| Connecting | Your client is in Facebook's window right now. |
| Connected | The channel is in your project. The row names the number or Page, links to the sender and shows its ID. |
| Failed | Your client started and did not finish. The reason is written under the status, with whether the same link still works for a retry. |
| Expired | The link expired before anyone used it. |
| Cancelled | You cancelled it. |
A connected row says Inactive when the connection still needs activating. In the new interface it also shows the last seven days: how many conversations there were, how many are waiting for a reply (with a link straight to it when there is one), and a link to connect an agent if the sender has none switched on.
The new interface opens on Active invitations; cancelled ones, and links that expired unused or after a failure, are under All.
Actions
| Action | When |
|---|---|
| Copy link | While the link still works. |
| Generate a new link | Pending, failed, expired or cancelled invitations. The old link stops working, and the new one lives as many days as the original. With an email on file, the new link is also emailed. |
| Cancel invitation | Pending, failed or expired invitations. |
Neither a new link nor a cancel is possible while the status is Connecting: your client is using the link at that moment. If they close the window without finishing, the invitation moves to Failed within two hours and both actions become available.
Webhook
Every status change except expiry is delivered to your project webhook as invitation.status_changed. Configure it under Webhooks, or with POST /v1/invitations/webhook. See API integration.
Troubleshooting
| Issue | What to do |
|---|---|
| Your client sees "Invalid invitation" | The link expired, was cancelled or was replaced by a new one. Generate a new link. |
| Facebook did not return the account or the number | Usually a browser extension blocking Facebook's window. Ask your client to retry with the same link in another browser. |
| Your client closed Facebook's window | The same link works for a retry until it expires. |
| The verification code never arrives on a pre-assigned number | Make sure your client chose Phone call, not SMS. |
| The invitation is connected but nothing sends | The connection is inactive. Activate it from Connected channels. |