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. Both paths support WhatsApp Business App coexistence. See Step 3 for a comparison.
To connect a number that must remain active in the WhatsApp Business app, use coexistence onboarding: set 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_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. 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.
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 your Telnyx account (the manager account if you use managed accounts) and enable the app link.Verify the link with the API key of the account the app is linked to. For managed-account integrations, use the manager account’s API key:
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.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.
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 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, and enabled: true
  • Managed accounts use the solution_id from the manager account’s response. A 404 with 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
Coexistence onboarding through 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 signup launched standard Cloud API onboarding instead of the WhatsApp Business App coexistence variant.For hosted signup, create a new hosted signup with 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_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