Override screen prompts


I need the ability to change screen prompts on an app-by-app basis.

Is it possible to achieve this from the dashboard?

I tried doing it within the liquid branding template itself using the code snippet below, but unfortunately Auth0 throws an internal server error.

{% assign prompt.screen.login.title = "Hello World!" %}

Hi @johnwp :wave:

To customise the content of the New Universal Login on an app-by-app basis, you will need to leverage Page Templates and Liquid. By doing this, you can conditionally render content based on the Application that initiates the authentication flow.

These templates can only be updated using the Management API, and you are also required to have a custom domain configured for your tenant.

You can find more information about this feature, and how to use it via the following link.


Let me know how you get on!

1 Like

Hey @james.merrigan,

I am currently using Liquid page templates, but my question is:
Am I able override widget screen prompt text on an app-by-app basis?

Widget screen prompt text, meaning, for example:

    "pageTitle": "Enter your password to log in | ${clientName}",
    "title": "Enter Your Password",
    "description": "Enter your password for ${companyName} to continue to ${clientName}",
    "separatorText": "Or",
    "buttonText": "Continue",
    "federatedConnectionButtonText": "Continue with ${connectionName}",
    "footerLinkText": "Sign up",
    "signupActionLinkText": "${footerLinkText}",
    "footerText": "Don't have an account?",
    "signupActionText": "${footerText}",
    "forgotPasswordText": "Forgot password?",
    "passwordPlaceholder": "Password",
    "editEmailText": "Edit",
    "editLinkScreenReadableText": "Edit email address",
    "alertListTitle": "Alerts",
    "invitationTitle": "You've Been Invited!",
    "invitationDescription": "Log in to accept ${inviterName}'s invitation to join ${companyName} on ${clientName}.",
    "logoAltText": "${companyName}",
    "useBiometricsText": "Use Fingerprint or Face Recognition",
    "showPasswordText": "Show password",
    "hidePasswordText": "Hide password",
    "wrong-credentials": "Wrong username or password",
    "invalid-email-format": "Email is not valid.",
    "wrong-email-credentials": "Wrong email or password",
    "custom-script-error-code": "Something went wrong, please try again later.",
    "auth0-users-validation": "Something went wrong, please try again later",
    "authentication-failure": "We are sorry, something went wrong when attempting to login",
    "invalid-connection": "Invalid connection",
    "ip-blocked": "We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator.",
    "no-db-connection": "Invalid connection",
    "password-breached": "We have detected a potential security issue with this account. To protect your account, we have prevented this login. Please reset your password to proceed.",
    "user-blocked": "Your account has been blocked after multiple consecutive login attempts.",
    "same-user-login": "Too many login attempts for this user. Please wait, and try again later.",
    "no-email": "Please enter an email address",
    "no-password": "Password is required",
    "no-username": "Username is required"

Like I said, I tried to override in the Liquid template itself using {% assign prompt.screen.login.title = "Hello World!" %}, but seems to result in a 500 error.

One workaround I tried was to put the alternate copy in a different locale, but for some reason I’m not able to override that either. Here’s what I tried:

{% if application.id == "5eUDioEdw0CP7B3ETunA6dVe2jST8inD" %}
    <html lang="et">
{% else %}
    <html lang="en">
{% endif %}

The login screen renders <html lang="et"> but the copy is in English.

Hi @johnwp

Thanks for the reply!

Apologies, I misunderstood your initial query. Currently, we do not support overriding the individual text prompts on an application basis for the New Universal Login through Page Templates.

When configuring your New Universal Login text prompts, there are several variables you can leverage to pull in some application related information. E.g. ${clientName} will return the application name in the text.


However, you are unable to build this out on a conditional basis.

I would also encourage you to submit a feedback card for your use case. Our Product team monitors them pretty closely and may increase the priority for items with many engagements.

1 Like

No problem @james.merrigan, my initial question might have been a little soft.

Thanks for your help!