Connect a WhatsApp Business number to any Friday workspace so customers can chat with it over WhatsApp. Friday talks to the WhatsApp Business Cloud API, so you’ll create an app at developers.facebook.com.Documentation Index
Fetch the complete documentation index at: https://docs.hellofriday.ai/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- A Meta developer account — developers.facebook.com
- A Facebook Business Manager (free to create)
- A phone number you can receive SMS/calls on for OTP verification (for production). For dev, Meta gives you a free test number that can message up to 5 verified recipients.
- Friday running with the bundled tunnel active, or a real HTTPS domain.
Setup
Create a Meta app
- Open developers.facebook.com/apps and click Create app.
- App details — pick an app name.
- Use cases — choose Other → Business → then tick Connect with customers through WhatsApp.
- Business portfolio — select an existing Business portfolio or create a new one. Pick Verify later unless you already have the business paperwork ready.
- Requirements → Overview → Create app. Meta re-prompts for your Facebook password before finalizing.
- On the “Welcome to WhatsApp Business Platform” page, accept the Facebook Terms for WhatsApp Business and Meta Hosting Terms and click Continue.
- Keep the default Opt in to all current and future WhatsApp accounts, then Continue → Save.
Create a permanent access token
- Open business.facebook.com/latest/settings/system_users and select the right business at the top-left.
- Users → System users → click Add.
- Fill in the form — name the system user (avoid hyphens), set role to Admin, then Create system user.
- Click Assign assets → pick WhatsApp accounts → check your WhatsApp Business Account → toggle Everything on → Assign assets → Done.
- Accounts → Apps, click your app, then Assign people → check the system user → toggle Manage app on (Full control) → Assign.
- Back on System users → <your system user> click Generate token:
- Select your Meta app → Next
- Set expiration: Never → Next
- Tick both
whatsapp_business_messagingandwhatsapp_business_management→ Generate token - Copy the token immediately — the popup shows it once.
Collect the other two values
| Name | Where in the dashboard |
|---|---|
| Phone number ID | WhatsApp → API Setup → Phone number ID |
| App Secret | App Settings → Basic → Show next to App Secret |
Connect WhatsApp in Studio
- Open Studio and pick your workspace.
- Find the Communicators card and click Connect next to WhatsApp.
- Paste the Access Token, App Secret, and Phone Number ID into the form, then submit.
Subscribe to the messages webhook field
Meta requires you to opt in to the events you want to receive.
- In the Meta dashboard, left nav Configuration (under “Connect on WhatsApp” use case).
- In the Webhook fields table, find
messagesand toggle its Subscribe switch. Optionally also subscribe tomessage_status/message_echoes.
Add recipients (test number only)
If you’re using Meta’s free test number, WhatsApp will only deliver outbound messages to pre-verified recipients. Inbound is unrestricted.
- Left nav → API Setup.
- Click the To combobox → Manage phone number list.
- Type the 10-digit national number. Click Next. Meta sends a WhatsApp message to that number with a 5-digit verification code.
- Enter the code into the verification modal.
Troubleshooting
Webhook fails to register from Studio
Webhook fails to register from Studio
Usually a token issue. Make sure your access token has both
whatsapp_business_messaging and whatsapp_business_management scopes, and that the system user has been assigned the WhatsApp Business Account.Signature verification errors
Signature verification errors
app_secret doesn’t match the App Secret under App Settings → Basic. Re-copy and reconnect via Studio; any whitespace or truncation fails verification.Outbound replies fail with 'Access denied' (HTTP 403)
Outbound replies fail with 'Access denied' (HTTP 403)
You’re using the 24-hour temporary access token from WhatsApp → API Setup and it expired. Create a permanent System User token following the steps above and reconnect.
Test number recipient limit (5)
Test number recipient limit (5)
Production requires registering a real business number with OTP verification — free test numbers are capped at 5 approved recipients and cannot be promoted.
Production notes
- Meta rotates App Secrets on request under App Settings → Basic → Reset. After rotating, reconnect WhatsApp in Studio so the new secret is stored.
- WhatsApp message history cannot be fetched via the Cloud API — only messages received while Friday is running are available as conversational context.
- You can’t edit or delete already-sent WhatsApp messages. Streaming replies are sent as a single message once the response is complete.
Configure via YAML
Skip Studio and configure from disk
Skip Studio and configure from disk
For CI or fully scripted setups, paste credentials directly into Generate a verify token with
workspace.yml or the .env file in the Friday home directory (default ~/.atlas/.env). You’ll also need to set the callback URL and verify token in Meta’s dashboard manually.- Credentials inline
- Credentials via env
workspace.yml
openssl rand -hex 32. Then in the Meta dashboard’s Configuration panel, paste the Callback URL as <tunnel>/platform/whatsapp and the Verify token you chose, click Verify and save, and subscribe to the messages field.
