Skip to main content
The Setup wizard at /setup is the first thing a workspace owner runs after signing in. It gathers everything Switchbord needs to handle real WhatsApp traffic — your workspace identity, your WhatsApp Business Account, and the provider credentials that authorize outbound messages and verify inbound webhooks.
Setup is designed for first-run configuration. Once your workspace is live, use Settings for ongoing tasks like rotating tokens or updating your channel display name.

Before you start

Collect these values from Meta before opening the Setup wizard:
  • Meta access token — authorizes Switchbord to send messages via the Meta Graph API
  • Webhook signing secret — validates the X-Hub-Signature-256 header on inbound webhook payloads
  • Meta verify token — a value you define in Meta; used to verify the webhook challenge handshake
You’ll also need your WhatsApp Business Account (WABA) ID and phone number ID from Meta Business Manager.

Running the Setup wizard

1

Confirm your workspace profile

The first step of the wizard asks you to review and confirm the workspace display name and slug. These identify your workspace throughout the operator app and in API responses.Make any needed corrections, then continue.
2

Attach a WhatsApp channel

Enter your WABA ID and phone number ID. Switchbord uses these to route outbound messages to the correct Meta-registered sender and to associate inbound messages with the right workspace channel.The display name and E.164-formatted phone number you enter here appear in the inbox and contact views.
3

Enter your provider secrets

In the Provider section, enter your three Meta credentials:
  • Meta access token
  • Webhook signing secret
  • Meta verify token
When you save, Switchbord sends these values server-side and writes them to Vault. The UI immediately replaces the input fields with a masked status display. You will not see the raw values again after saving — this is intentional.What you see after saving:
FieldDisplay
Meta access tokenconfigured or missing
Webhook signing secretconfigured or missing
Meta verify tokenconfigured or missing
Last validationTimestamp and status of most recent check
Switchbord never echoes stored secret values back to the browser. If you need to rotate a credential, enter the new value in Settings → Provider. You don’t need to clear the old one first.
4

Validate the configuration

Click Validate configuration. Switchbord contacts the Meta Graph API to check that your access token is valid and has the required permissions.A successful validation moves the token status from an error or unknown state to a clean validated indicator. If validation fails:
  • Confirm the token hasn’t expired in Meta
  • Check that the token has whatsapp_business_messaging permissions
  • Re-enter the token and validate again
5

Send a test message

With validation passing, go to /inbox and send a test message to a number you control. Confirm delivery before routing real customer conversations through the workspace.

What the setup checklist covers

The wizard considers setup complete when all of the following are true:
  • Workspace profile is set
  • Channel identity (WABA ID and phone number) is present
  • Meta access token is stored in Vault
  • Webhook signing secret is stored in Vault
  • Meta verify token is stored in Vault
  • Meta token validation passes without an error

Registering the webhook in Meta

Switchbord shows your webhook endpoint URL in the Setup wizard and in Settings. Copy this URL and register it in your Meta App Dashboard under Webhooks. When Meta sends the challenge request, Switchbord responds automatically using the verify token you stored.
After you register the webhook URL in Meta, run Validate configuration again in Switchbord to confirm the end-to-end handshake is working.

Accessing Setup again

You can return to the Setup page at any time to review the checklist status. For making changes — rotating a token, updating the display name, or re-validating — use Settings. Settings is also where members with owner, admin, or developer roles can update provider configuration without re-running the full wizard.

Troubleshooting access

If you sign in and land on /pending-access instead of the operator app, your account isn’t yet provisioned into the workspace. Ask your workspace admin to add you, or — for self-hosted instances during initial bootstrap — ask the instance operator to review the bootstrap admin configuration.