How it maps to your product
Wassist has no concept of your users, so keep the mapping yourself: your user ID, their WhatsApp account
id, and their phone numbers.
Registering numbers needs the Starter plan or above on your organization, and the Business API proxy needs Pro.
1. Send your user through signup
Create an API key under Settings → Developers → API keys, then create a link session when your user clicks “Connect WhatsApp” and redirect them to itslinkUrl:
- Connect Existing App: move a number from the WhatsApp Business app. Their contacts and chat history start syncing.
- Create Fresh Number: create a new WhatsApp Business Account through Meta.
- Connect Existing WhatsApp Business API: share an account that already uses the API.
successUrl with ?session_id=<id>&confirmed=true appended. The Back link on the hosted page goes to your returnUrl.
Sessions stay usable until they succeed. If your user abandons one, or you issue them a new link, expire the old one with wassist.whatsappLinkSessions.expire(sessionId).
2. Record the new account
On the success redirect, confirm the session with the API rather than trusting the query string, then find the account that appeared:- No new account appears. The user re-linked an account that’s already in your organization. Wassist refreshes its access token and keeps the same account
id. - More than one new account appears. Two of your users finished at the same moment. Match on the account’s
name(the business name they entered at Meta), or ask the user to pick.
3. Register the numbers
The Connect Existing App option registers the number automatically. For the other two, the account arrives with its numbers still on Meta’s side, and you register the ones you want Wassist to handle. These two endpoints aren’t in the SDK yet, so call them directly:number on each registered phone number is the E.164 number without the + (for example 447700900100). It’s the identifier for every phoneNumbers.* call and the whatsappNumber field on webhook events, so store it against your user.
User doesn't have a number? Give them a Wassist UK line
User doesn't have a number? Give them a Wassist UK line
Add a pre-verified Wassist number to their account. It’s ready straight away, with no SMS verification:
4. Handle their conversations
Pick per number. You can run some users on webhooks and others on managed agents, or mix both on one number.- Webhook: your code replies
- Managed agent: Wassist replies
Create one webhook for your whole platform under Settings → Developers → Webhooks, then route each of your users’ numbers to it:Every inbound message arrives as a signed Keep conversation state keyed by
subscription.message.received event. Look up which of your users owns the number from whatsappNumber, then reply through the Messages API:conversationId, which is unique across all of your users. See Conversation routing for the full event list and Webhooks for signing and retries.Combine both
A common setup is a managed agent on every number, with your own inbox taking over individual chats when a human needs to step in. Subscribe just that conversation to your webhook, then hand it back when you’re done:Operate your users’ accounts
Message templates
Message templates
You need an approved template to message a customer outside WhatsApp’s 24-hour window. Meta approves templates per WhatsApp account, so create the template once in your organization and publish it to each user’s account:Approval status is tracked per account on the template. See WhatsApp templates.
Anything else Meta supports
Anything else Meta supports
The Business API proxy forwards requests to Meta’s Graph API using the access your user granted, so you can call endpoints Wassist doesn’t wrap without handling Meta tokens yourself. Requires the Pro plan.
Pausing or offboarding a user
Pausing or offboarding a user
Stop handling a user’s messages without touching their WhatsApp account:Messages are still stored while a number has no routing. Your user can revoke Wassist’s access to their account at any time from Meta Business Settings.
Meta limits and verification
Meta limits and verification
Each of your users’ businesses is its own account at Meta, with its own messaging limits and display-name review. For higher limits and the verified badge, the user completes Meta business verification from Meta Business Suite. See Business verification.
Related
Conversation routing
Webhook, agent and no-routing modes, per number and per conversation.
Configure tools
Give each user’s agent access to their data.
Link session API
Create, list and expire link sessions.