# Hosted Embedded Signup | Developer Documentation

<div id="bkmrk-hosted-embedded-sign">## Hosted Embedded Signup

<div><span>Updated: Nov 4, 2025</span></div><div>If you don’t want to implement Embedded Signup by adding JavaScript code to your website or customer portal, you can instead use a link that, when clicked, displays a web page describing onboarding steps, and a button that launches the Embedded Signup flow:</div><div>![](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-9lljmd3m.png)</div><div id="bkmrk-limitations"><div id="bkmrk-limitations-1"><div>### Limitations

</div></div></div><div>Hosted Embedded Signup (“Hosted ES”) can only be used to onboard business customers to Cloud API, and the flow cannot be customized.</div><div id="bkmrk-requirements"><div id="bkmrk-requirements-1"><div>### Requirements

</div></div></div><span>You must have completed the steps to become a Solution Partner or Tech Provider.</span><span>If your app is for messaging, it must be able to send messages, manage templates, and have a properly configured production webhook endpoint.</span><span>Your app must be subscribed to the [account\_update](/documentation/business-messaging/whatsapp/webhooks/reference/account_update) webhook.</span><span>Solution Partners must have a line of credit.</span><div>You will also need:</div><span>Your [system token](/books/meta-whatsapp/page/access-tokens-guide-developer-documentation).</span><span>Your app secret.</span><div id="bkmrk-step-1%3A-create-a-fac"><div id="bkmrk-step-1%3A-create-a-fac-1"><div>### Step 1: Create a Facebook Login for Business configuration

</div></div></div><div>If you don’t already have a Facebook Login for Business configuration, you must create one. A Facebook Login for Business configuration defines which permissions to request, and what additional information to collect, from business customers who access Embedded Signup.</div><div>Navigate to **Facebook Login for Business** &gt; **Configurations** and click the **+ Create configuration** button to access the configuration flow.</div><div>Use a name that will help you differentiate this configuration from any others you may create in the future. When completing the flow, be sure to select the WhatsApp Embedded Signup login variation:</div><div>![](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-jcumhycp.png)</div><div>When choosing assets and permissions, select only those assets and permissions that you will actually need from your business customers.</div><div>![](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-vvqzloup.png)</div><div>For example, if you select the **Catalogs** asset but don’t actually need access to customer catalogs, your customers will likely abandon the flow at the catalog selection screen and ask you for clarification.</div><div id="bkmrk-step-2%3A-get-the-host"><div id="bkmrk-step-2%3A-get-the-host-1"><div>### Step 2: Get the Hosted ES URL

</div></div></div><div>Navigate to the **WhatsApp** &gt; **Quickstart** panel and click the **View onboarding** button.</div><div>![](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-j0gifpvh.png)</div><div>Locate the **Zero integration onboarding** card. The URL displayed in the card is the onboarding page URL:</div><div>![](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-oxugcvkx.png)</div><div>Click the **Copy button** to copy the URL to your clipboard. Map this URL to a button on your website or customer portal that, when clicked, opens the URL in a new browser window.</div><div>To see what this looks like, you can load the URL in a new browser window or tab, or click the blue “new window” icon, which does the same thing.</div><div>This onboarding page looks like this:</div><div>![](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-6vlbgbkp.png)</div><div>Click the **Get started** button. This is the flow that business customers who click the button on your website or customer portal will see. Complete the flow if you wish.</div><div id="bkmrk-step-3%3A-capture-cust"><div id="bkmrk-step-3%3A-capture-cust-1"><div>### Step 3: Capture customer asset IDs

</div></div></div><div id="bkmrk-step-4%3A-generate-an-"><div id="bkmrk-step-4%3A-generate-an--1"><div>### Step 4: Generate an HMAC-SHA256 hash

</div></div></div><div>Generate an HMAC-SHA256 hash of your app secret and system token.</div><div id="bkmrk-bash-example-for-lin"><div id="bkmrk-bash-example-for-lin-1"><div>#### Bash example for Linux and macOS

</div></div></div><div><div>```
echo -n "<SYSTEM_TOKEN>" | openssl dgst -sha256 -hmac "<APP_SECRET>"
```

</div></div><span>`<SYSTEM_TOKEN>` — Your system token.</span><span>`<APP_SECRET>` — Your app secret ([**App Dashboard**](/apps) &gt; **App settings** &gt; **Basic**)</span><div id="bkmrk-step-5%3A-get-a-busine"><div id="bkmrk-step-5%3A-get-a-busine-1"><div>### Step 5: Get a business token

</div></div></div><div id="bkmrk-step-7%3A-onboard-the-"><div id="bkmrk-step-7%3A-onboard-the--1"><div>### Step 7: Onboard the customer

</div></div></div><div>Onboard the business customer by completing the steps in the appropriate onboarding guide below:</div><span>[Onboarding business customers as a Tech Provider or Tech Partner](/books/meta-whatsapp/page/onboarding-business-customers-as-a-tech-provider-or-tech-partner-developer-documentation) (skip step 1)</span><span>[Onboarding business customers as a Solution Partner](/books/meta-whatsapp/page/onboarding-business-customers-as-a-solution-partner-developer-documentation) (skip step 1)</span></div>