Migrate your tenant from the legacy Auth0 Guardian phone configuration to the Unified Phone Experience using the Auth0 Terraform Provider. After migration, all multi-factor authentication (MFA) phone notifications route through a single tenant-level phone provider. Follow these steps to Migrate your legacy Guardian phone configuration to the Unified Phone Experince using Auth0 Terraform provider:Documentation Index
Fetch the complete documentation index at: https://auth0-feat-docs-5498.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Auth0 Terraform Provider v1.41.0 or later.
1. Enable the Terraform auth0_phone_provider resource and remove legacy configuration
To enable the Terraform auth0_phone_provider resource and clean up legacy configuration, you need to:
- Set the
phone_consolidated_experienceflag to false - Add the tenant-level phone provider
- (Optional) Add the
auth0_branding_phone_notification_templateresource - Clean up the
auth0_guardianphone block - Plan and apply
Set the phone_consolidated_experience flag to false
To ensure that your tenant does not route MFA phone notifications using the Unified Phone Experience, edit your auth0_tenant resource and set the phone_consolidated_experience flag to false.
Add the tenant-level phone provider
Create a tenant-level phone provider using the Terraformauth0_phone_provider resource. This provider handles delivery for all phone-based flows once the Unified Phone Experience is enabled.
- Twilio
- Custom Action-based provider
delivery_methods to ["text"].(Optional) Add the auth0_branding_phone_notification_template resource
If you use enrollment_message or verification_message on the legacy Guardian phone block to customize OTP message text, you can replicate that behavior with the auth0_branding_phone_notification_template resource.
Clean up the auth0_guardian phone block
Remove all legacy provider specific attributes from the phone block. After cleanup, the block should contain only enabled and message_types.
Before:
Plan and apply
Review the plan carefully before applying. You should see:auth0_phone_provider.defaultcreatedauth0_guardian.defaultupdated (attributes removed)auth0_tenant.mainupdated (phone_consolidated_experience = false)auth0_branding_phone_notification_template.defaultcreated (if added)
2. Enable the Unified Phone Experience
Once Step 1 applies cleanly, setphone_consolidated_experience to true. This activates the Unified Phone Experience and routes all MFA phone notifications through the auth0_phone_provider you configured in Step 1.
Troubleshooting
403 Forbidden errors during terraform apply
This typically meansphone_consolidated_experience was already true when trying to manage legacy Guardian phone attributes. Make sure Step 1 applies with phone_consolidated_experience = false before Step 2.
Custom provider not delivering messages
Verify that the Action with thecustom-phone-provider trigger exists and is deployed in Auth0 before applying. Terraform does not manage the Action’s existence as part of the auth0_phone_provider resource lifecycle.
OTP messages not arriving after migration
Confirm theauth0_phone_provider credentials are correct and that delivery_methods includes "text" for SMS. If you previously used a Messaging Service SID, ensure mssid is set on the new provider.