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 signup UI and backend processing, and a custom integration option where you embed Meta’s Facebook SDK directly into your own portal. Both paths support WhatsApp Business App coexistence. See Step 3 for a comparison.signup_type to coexistence when creating a hosted signup, or use the coexistence configuration in the custom integration.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. The app is linked to a single Telnyx account. For managed-account integrations, link it to the manager account. Its managed accounts can use the same app without separate links.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
Verify the app link and record your solution ID
app_id matches your Meta app, solution_id is populated, and enabled is true. Pass the returned solution_id in extras.setup.solutionID on every custom signup. Solutions are also listed under Partner solutions in the Meta App Dashboard.Managed accounts use the solution_id from the manager account’s response. This endpoint only returns the calling account’s own app link, so a managed account’s API key returns 404 even when the manager account’s link is configured correctly.If verification with the API key above returns 404 or enabled is false, contact Telnyx support with that Telnyx account’s UUID and Meta App ID. A 404 can mean that the app link is missing or that the App ID is linked to an unrelated Telnyx account.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. Choose the path based on whether the number must remain active in the WhatsApp Business app.- Option A: Hosted signup (recommended)
- Option B: Custom integration
signup_type set to coexistence. The hosted page then launches Meta’s coexistence flow. A hosted signup created without it launches standard Cloud API onboarding, where an existing Business App number appears as already in use.Step 3A.1: Generate an onboarding URL
CallPOST /v2/whatsapp/hosted_signups to create a JWT-authenticated onboarding URL for your end-customer. The URL is valid for up to 3 days.To onboard a client into a managed account, create the hosted signup with that managed account’s API key and explicitly set app_id to the app linked to the manager account in Step 2. Omitting app_id makes Telnyx look for an app link on the managed account itself, and the request fails. The WABA and its phone numbers belong to the managed account.signup_type: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 the Telnyx account whose API key created the hosted signup
- 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
Granting Telnyx access to an existing WABA
If a WABA was created before you started passingsolutionID, Telnyx has no access to it
and registration fails. Passing the solution ID fixes every subsequent signup, but it does
not apply retroactively, so an affected WABA has to be shared with Telnyx once by hand.
This is done in Meta Business settings by the business portfolio that owns the WABA.
For a WABA created through your embedded signup, that is usually your end-customer, not you.
Open Business settings
Go to Partners
Select or add Telnyx
1770378036525495.Assign the WABA
Grant full control
Confirm before retrying
Coexistence behavior and limitations
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 hosted signup request fails before Meta opens
The hosted signup request fails before Meta opens
- Call
GET /v2/whatsapp/foreign_appswith the API key of the account the app is linked to. For managed-account integrations, use the manager account’s API key - Confirm that the response contains your Meta App ID, a
solution_id, andenabled: true - Managed accounts use the
solution_idfrom the manager account’s response. A404with a managed account’s API key is expected and does not indicate a missing manager account link - If verification with the API key of the account the app is linked to returns
404, contact Telnyx support with that Telnyx account’s UUID and Meta App ID - If the returned App ID is linked to an unrelated Telnyx account or the link is disabled, ask support to correct or enable the link
app_id is not registered to this account
app_id is not registered to this account
POST /v2/whatsapp/business_accounts/tech_provider returns this error. Hosted signup returns foreign app with this ID is not registered to the user for the same problem.The app_id is not linked to Telnyx, or the API key belongs to neither the Telnyx account the app is linked to (the manager account) nor one of its managed accounts.Use an API key from the manager account or one of its managed accounts. To onboard a client into a managed account, use that managed account’s API key with the same linked app_id.The coexistence option is missing or Meta says the number is already in use
The coexistence option is missing or Meta says the number is already in use
signup_type set to coexistence and share the new URL.For the custom integration:- Pass
featureType: 'whatsapp_business_app_onboarding' - Pass
sessionInfoVersion: '3' - Handle the
FINISH_WHATSAPP_BUSINESS_APP_ONBOARDINGsession event - Send that event name,
waba_id,phone_number_id, and yourapp_idto the Tech Provider registration endpoint
The embedded signup completes but no WABA ID is returned
The embedded signup completes but no WABA ID is returned
- Read the WABA ID and phone number ID from Meta’s
WA_EMBEDDED_SIGNUPbrowser message, not theFB.login()authorization callback - Confirm that your listener accepts Meta’s documented origins and safely parses string and object event data
- For coexistence, handle only
FINISH_WHATSAPP_BUSINESS_APP_ONBOARDING - Verify that the user completed all steps in the Meta signup flow
Registration fails because Telnyx cannot access the WABA
Registration fails because Telnyx cannot access the WABA
- If you integrate with the Facebook SDK directly, confirm you passed
solutionIDinsideextras.setupwhen callingFB.login() - Ask your Telnyx representative to confirm your solution is active and that your Meta app is linked
- For a WABA that was already created without the solution ID, follow Granting Telnyx access to an existing WABA. Passing the solution ID prevents this for subsequent signups but does not apply retroactively
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 has not 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