Overview
As a Tech Provider, you build the onboarding experience into your own product. The end-customer clicks a button in your portal, completes Meta’s embedded signup flow, and your backend receives the resulting WABA ID and phone number ID. You then register the WABA with Telnyx so that it can use Telnyx’s messaging infrastructure. Telnyx offers two integration paths: a hosted signup option where Telnyx manages the entire signup UI and backend processing (recommended for most Tech Providers), and a custom integration option where you embed Meta’s Facebook SDK directly into your own portal for full control over the experience. See Step 3 for a comparison.Tech Provider vs. Direct Customer
Prerequisites
Before you begin, make sure you have:- A Meta Business Account with admin access
- A Meta Tech Provider App that has been approved by Meta with the following permissions:
whatsapp_business_messagingwhatsapp_business_management
- The Tech Provider onboarding process completed in Meta App Dashboard
- A Telnyx account with an API key
Step 1: Create and configure your Meta Tech Provider App
Create a Meta App
Add WhatsApp product
Request required permissions
Complete Tech Provider onboarding
Submit for App Review
Step 2: Link your Meta App to Telnyx
Once your Meta App is configured, you need to link it to Telnyx so that WABAs created through your embedded signup flow are registered on Telnyx’s infrastructure.Switch your app to Live mode
Contact Telnyx
- Your Meta App ID (found in your app’s dashboard)
- Your business name as registered with Meta
Accept the partner invitation
Switch back to Development mode
Step 3: Choose your integration path
After your Meta App is linked to Telnyx, you have two ways to onboard your end-customers’ WABAs. Both paths complete the same Meta embedded signup — the difference is where the signup UI lives and how much you build.- Option A: Hosted signup (recommended)
- Option B: Custom integration
Step 3A.1: Generate an onboarding URL
Call the Telnyx API to create a JWT-authenticated onboarding URL for your end-customer. The URL is valid for up to 3 days.Request body parameters
Response
Step 3A.2: Share the URL with your end-customer
Send theurl to your end-customer via email, SMS, or embed it as a link in your own portal. When the customer visits the URL:- Telnyx validates the JWT and renders a signup page branded with your app’s Meta configuration
- The customer clicks Get Started to launch Meta’s embedded signup popup
- The customer signs in to Facebook, creates or selects a WABA, and verifies their phone number
- On completion, Telnyx automatically handles the backend: code exchange, webhook subscription, credit line sharing, and phone number registration
GET /v2/whatsapp/signup/{session_id}/status to track progress and surface it in your own dashboard.Step 3A.3: Check signup status (optional)
status, state, waba_id, and any errors. Use this to build a progress indicator in your portal or trigger downstream workflows when onboarding completes.What happens after signup
When the end-customer completes the hosted signup:- Credit line is applied — The WABA is associated with your Telnyx billing account
- WABA is registered — The WhatsApp Business Account is linked to Telnyx’s messaging infrastructure
- Webhooks are subscribed — Telnyx subscribes to Meta webhook events on the WABA’s behalf
- Number is ready for messaging — The phone number can send and receive WhatsApp messages through Telnyx
Troubleshooting
I didn't receive the Meta partner invitation email
I didn't receive the Meta partner invitation email
- Verify that your app was in Live mode when you contacted Telnyx
- Check your spam and junk folders
- Ensure the email associated with your Meta Business account is correct
- Confirm with your Telnyx representative that they initiated the invitation
- The invitation typically arrives within 1–2 business days
Meta App Review was denied
Meta App Review was denied
- Review Meta’s rejection reasons carefully in the App Review section of your dashboard
- Common reasons include: insufficient permissions justification, unclear use case description, or missing screencast
- Update your submission with clearer documentation and resubmit
- Ensure your app is functional and testable during the review period
FB.login() doesn't open the embedded signup dialog
FB.login() doesn't open the embedded signup dialog
- Confirm the Facebook SDK is loaded before calling
FB.login() - Check that your
config_idis correct and matches a WhatsApp Business Configuration in your app - Ensure your app has the
whatsapp_business_messagingandwhatsapp_business_managementpermissions - Open your browser’s developer console for error messages from the SDK
The embedded signup completes but no WABA ID is returned
The embedded signup completes but no WABA ID is returned
- Ensure the
response_typeparameter includescode - Check that
override_default_response_typeis set totrue - Verify the user completed all steps in the Meta signup flow (business verification, phone number selection)
- Inspect the full response object in your
FB.login()callback for debug information
The hosted signup URL shows 'Missing Signup Token'
The hosted signup URL shows 'Missing Signup Token'
- Ensure you’re using the full URL returned by
POST /v2/whatsapp_hosted_signups, including the?token=query parameter - Check that the JWT hasn’t expired — tokens are valid for a maximum of 3 days from creation
- If the token has expired, generate a new one via the API
The phone number verification code never arrives
The phone number verification code never arrives
- Verify the phone number entered by the end-customer is correct and can receive SMS
- Check that the phone number is not already registered with another WhatsApp account
- Try requesting the verification code via phone call instead of SMS
- Ensure the end-customer’s phone carrier is not blocking Meta’s verification messages