Skip to main content
WhatsApp Tech Provider Embedded Signup lets ISVs and SaaS platforms embed Meta’s WhatsApp onboarding flow directly into their own portal. Your end-customers can create and register a WhatsApp Business Account (WABA), claim a phone number, and begin messaging without leaving your application. Unlike the standard embedded signup flow, which is designed for direct Telnyx customers, the Tech Provider flow is built for partners who manage multiple end-customers and need programmatic control over WABA provisioning.

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. WhatsApp Business App coexistence is currently supported only through the custom integration path. See Step 3 for a comparison.
The Telnyx-hosted signup page currently supports standard Cloud API onboarding only. To connect a number that must remain active in the WhatsApp Business app, use the custom integration and the coexistence configuration in Option B.

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_messaging
    • whatsapp_business_management
  • The Tech Provider onboarding process completed in Meta App Dashboard
  • A Telnyx account with an API key
All links to Meta documentation in this guide require that you are logged in to a Meta Business account. If you don’t have one, create one at business.facebook.com before proceeding.

Step 1: Create and configure your Meta Tech Provider App

1

Create a Meta App

Go to Meta App Dashboard and create a new app. Select Business as the app type.
2

Add WhatsApp product

In your app’s dashboard, add the WhatsApp product. This will generate the permissions you need.
3

Request required permissions

Under App Review > Permissions and Features, request the following permissions:Both permissions require Advanced Access for production use.
4

Complete Tech Provider onboarding

Follow Meta’s Tech Provider onboarding guide to complete the Tech Provider registration process. This includes business verification and agreeing to Meta’s Tech Provider terms.
5

Submit for App Review

Submit your app for Meta’s App Review. Meta will evaluate your use case and grant (or deny) the requested permissions. This process typically takes several business days.
While waiting for App Review approval, you can test in Development Mode with your own test users. Production use requires Live Mode and Advanced Access permissions.
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.
1

Switch your app to Live mode

In the Meta App Dashboard, change your app mode from Development to Live. This is required for Telnyx to initiate the partner invitation.
2

Contact Telnyx

Reach out to your Telnyx representative or contact support and provide:
  • Your Meta App ID (found in your app’s dashboard)
  • Your business name as registered with Meta
3

Accept the partner invitation

Within 1–2 business days, you’ll receive an email from Meta containing a partner invitation link. Click the link and accept the invitation to link your app with Telnyx.
4

Verify the app link and record your solution ID

Linking your app creates a Meta Multi-Partner Solution containing your app and Telnyx. Meta approval and an accepted partner invitation do not complete the Telnyx setup by themselves. Telnyx must also register your Meta App ID against the same Telnyx account that owns the API key and enable the app link.Verify the link with the same API key you will use for signup:
Confirm that 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.If the request returns 404 or enabled is false, contact Telnyx support with your Telnyx account UUID and Meta App ID. A 404 can mean that the app link is missing or that the App ID is linked to a different Telnyx account.
5

Switch back to Development mode

After accepting the invitation, you can switch your app back to Development mode for testing. The link persists regardless of the app mode.
You must switch your app to Live mode before Telnyx can send the partner invitation. The invitation will fail if your app is in Development mode. After accepting the invite, you can switch back to Development mode for testing.

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.

Granting Telnyx access to an existing WABA

If a WABA was created before you started passing solutionID, 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.
1

Open Business settings

Go to business.facebook.com/settings and select the business portfolio that owns the WABA.
2

Go to Partners

In the left sidebar, select Users, then Partners.
3

Select or add Telnyx

Select Telnyx in the list. If Telnyx is not listed, choose Add, then add a partner using Telnyx’s business portfolio ID 1770378036525495.
4

Assign the WABA

Choose Assign assets, then WhatsApp accounts, and select the WABA.
5

Grant full control

Enable Full control, then select Assign.
6

Confirm before retrying

Tell Telnyx the WABA has been shared and wait for confirmation that the access has landed before retrying registration. A share that appears complete in the dashboard does not always take effect immediately.
Assigning Telnyx’s system user directly to the WABA does not work. Meta scopes system users to the business that owns them, so the assignment is rejected. The partner share above is the supported route.

Coexistence behavior and limitations

For webhook payloads and processing guidance, see WhatsApp Coexistence webhooks.

Troubleshooting

  • 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
  • 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
  • Confirm the Facebook SDK is loaded before calling FB.login()
  • Check that your config_id is correct and matches a WhatsApp Business Configuration in your app
  • Ensure your app has the whatsapp_business_messaging and whatsapp_business_management permissions
  • Open your browser’s developer console for error messages from the SDK
Meta Tech Provider approval is not enough to use Telnyx signup. Your Meta app must also have an accepted Telnyx partner invitation and an enabled Telnyx app link.
  • Call GET /v2/whatsapp/foreign_apps with the same Telnyx API key used to create the signup
  • Confirm that the response contains your Meta App ID, a solution_id, and enabled: true
  • If the request returns 404, contact Telnyx support with your Telnyx account UUID and Meta App ID
  • If the returned App ID belongs to a different Telnyx account or the link is disabled, ask support to correct or enable the link
The Telnyx-hosted page launches standard Cloud API onboarding and does not currently expose the WhatsApp Business App coexistence variant.
  • Switch to the custom integration path in Option B
  • Pass featureType: 'whatsapp_business_app_onboarding'
  • Pass sessionInfoVersion: '3'
  • Handle the FINISH_WHATSAPP_BUSINESS_APP_ONBOARDING session event
  • Send that event name, waba_id, phone_number_id, and your app_id to the Tech Provider registration endpoint
Do not remove the number from the WhatsApp Business app when the goal is coexistence.
  • Verify you are using a valid Telnyx API key
  • Ensure the Authorization: Bearer YOUR_API_KEY header is included in your request
  • Check that your API key has not expired or been revoked
  • Read the WABA ID and phone number ID from Meta’s WA_EMBEDDED_SIGNUP browser message, not the FB.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
Telnyx returns an error stating it cannot access the WhatsApp Business Account, and the signup does not complete. Meta reports the WABA as missing permissions.This means the WABA was created outside the Multi-Partner Solution that links your app to Telnyx, so Telnyx was never granted access to it.
  • If you integrate with the Facebook SDK directly, confirm you passed solutionID inside extras.setup when calling FB.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
  • 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
  • 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
Some platforms, including Meta, may not deliver SMS verification codes to virtual numbers (VoIP and DID ranges), preferring voice-call verification instead. This applies to numbers in countries where the local numbering plan classifies them as virtual (for example, Belgian mobile numbers of this kind). Meta documents this in its phone number requirements: SMS OTP delivery to VoIP numbers is Not Recommended; voice OTP is Standard. If the SMS code does not arrive, retry with phone call verification before contacting support.

Next steps

WhatsApp Quickstart

Send your first WhatsApp message with Telnyx

Standard Embedded Signup

Direct customer embedded signup flow

WhatsApp Coexistence

Understand synchronization, lifecycle states, and send eligibility

Coexistence Webhooks

Handle Business App message echoes and lifecycle events

WhatsApp API Reference

Explore WhatsApp API endpoints