Why route Auth0 verification through Prelude
Auth0 sends verification codes through one default SMS provider. Prelude picks a route per message: it sends across 30+ providers and moves to the next best route when one fails. Route choice follows what performs in the destination country, and codes can arrive over SMS, WhatsApp, Viber, or RCS. Prelude also scores each request before it sends, so repeated or automated verification attempts are blocked rather than billed. Setup is a phone provider entry and a log stream in Auth0.Prerequisites
- An Auth0 project.
- A Prelude account.
Step 1: Configure Prelude for Auth0
- Create a new Secret Key for your Auth0 integration on All Service > Configure > Keys and don’t forget to save or copy it.
- Enable the Auth0 integration by going to Verify API > Configure > Integrations in the Prelude dashboard.
- Create a new Webhook Key for your Auth0 integration and don’t forget to save or copy it.
Step 2: Add a custom phone provider with the Auth0 Dashboard
Follow these steps to connect Prelude to your Auth0 project as a custom phone provider:- Open the Auth0 Dashboard and go to Branding > Phone Provider.
- On the Phone Message Provider page, you’ll notice Twilio is selected by default.
- In the Phone Provider section, select the Custom option.
- Under Delivery Method, choose Text and Voice. Both are supported by Prelude, but Voice should be explicitly enabled from the Prelude dashboard.
- In the Provider Configuration area:
- Click the key icon to add a secret. Name it
PRELUDE_SECRET_KEYand paste your Prelude API Key. - Click the box icon to add dependencies:
- Add
@prelude.so/sdk(leave the version field empty). - Add
ua-parser-js(leave the version field empty).
- Add
- Click the key icon to add a secret. Name it
- Paste the following code into the editor. This code will send verification requests to Prelude and enrich them with device and context signals for better security and deliverability.
Provider Configuration
- Click the Save button at the bottom of the page to apply your configuration.
- (Optional) If you created your Auth0 tenant before September 2025, you may need to enable Use Tenant-Level Messaging Provider in Security > Multi-factor Auth (MFA) > Phone number.
If you are already using Prelude with Auth0, contact our support team at support@prelude.so after the migration to see your conversion rate. Migration takes effect as soon as you enable Use Tenant-Level Messaging Provider.
Step 3: Set up the verification webhook
To enable Prelude to verify Auth0 authentication events, you’ll need to configure a log stream webhook in your Auth0 dashboard. Follow these steps:- In the Auth0 dashboard, navigate to Monitoring > Log Streams.
- Click Create Log Stream.
- Choose Custom Webhook as the stream type.
- Name your log stream (e.g.,
Prelude Check) to easily identify it later. - Fill in the configuration fields as follows:
- Click Save to apply your webhook configuration.
Note: It’s important to leave the “phone” field unobscured so Prelude can properly process and verify phone number authentications. All other sensitive fields can remain obscured for privacy.Once saved, Auth0 will begin sending relevant authentication events to Prelude for verification. To learn more about enabling and configuring MFA and passwordless authentication in Auth0, refer to:
Correlation ID
A correlation ID is automatically generated within the Auth0 action integration using the format:Test the integration
Auth0 now routes phone verification through Prelude. Trigger an MFA or passwordless SMS challenge from your application: Auth0 hands the verification to Prelude, and the code reaches the user over Prelude’s routes.Sandboxed phone numbers do not work with this integration. Auth0 generates its own verification code and checks it internally.