Skip to content

Update branding shown in univeral login customize for use in CICD #1395

Closed

Description

Checklist

Describe the problem you'd like to have solved

Update the standard branding with the CLI to deploy to production environments.

I thought I'd be able to use auth0 universal-login customize --no-input ... as described in the docs but this still brings up the interactive UI to edit.

Its also not very clear from the docs how the different UL commands are supposed to be used. The ul customize command seems like it does everything (interactively). But then there is also ul prompts and ul templates which seem to cover a subset of what ul customize does. Then theres ul update which can only be used to change a couple of values so isn't very useful.

Describe the ideal solution

Run auth0 universal-login customize --no-input ... with a file input to update branding, templates, custom prompts ect in a particular tenant.

Alternatives and current workarounds

Use curl and the API

Additional context

No response

Activity

  1. sophie-warner-annalise-ai commented on Dec 2, 2025

    @sophie-warner-annalise-ai
    Author

    cat custom-text/login.json | auth0 ul prompts update login is working but I need an equivalent for the other aspects of branding

  2. sophie-warner-annalise-ai commented on Dec 2, 2025

    @sophie-warner-annalise-ai
    Author

    Also figured out cat PageTemplate.liquid | ./auth0 ul templates update

    Additionally, the email templates follow the intuitive format of most cli tools, using a flag instead of pipe input auth0 email templates update welcome --enabled=true --body "$(cat $file)"

    The only one that seems to not be possible is updating the theme. https://auth0.com/docs/api/management/v2/branding/patch-branding-theme

  3. ramya18101 commented on Dec 3, 2025

    @ramya18101
    Contributor

    Hi there!

    Currently, The Auth0 CLI does not have dedicated commands for direct branding theme management (like auth0 branding/ul theme show/update/delete])

    and auth0 built the theme APIs to support multiple themes in the future, even though we only support one today.

    Recommended Workaround for CI/CD Integration:

    Since you need to integrate this into your CI/CD pipeline, you can use the auth0 api command, which makes authenticated calls to any Management API endpoint. Here's the complete flow:

    Step 1: Set Up Machine-to-Machine Authentication
    First, Use anyM2M application with the required scopes:

     # Authenticate using client credentials (ideal for CI/CD)
    auth0 login \
      --domain "your-tenant.auth0.com" \
      --client-id "${M2M_CLIENT_ID}" \
      --client-secret "${M2M_CLIENT_SECRET}" \
      --scopes "read:branding update:branding"
    

    Scopes Required: Ensure your M2M application has read:branding and update:branding scopes granted.

    Step 2: Fetch the Current Theme ID
    Since Auth0 only supports one theme, use the /default endpoint to retrieve it:

    # Get the default theme (includes the theme ID)
    auth0 api get "branding/themes/default" | tee current-theme.json
    
    # Extract the theme ID for updates
    THEME_ID=$(auth0 api get "branding/themes/default" | jq -r '.themeId')
    

    Step 3: Update Your Branding Theme
    Now use the theme ID to update your configuration:

    # Update the existing theme
    cat branding-theme.json  | auth0 api patch "branding/themes/${THEME_ID}"
    
  4. sophie-warner-annalise-ai commented on Dec 4, 2025

    @sophie-warner-annalise-ai
    Author

    Thanks 👍

    Is there a plan to implement the rest of the branding commands as standard cli commands?

    Also the branding documentation is super unclear as to how you're intended to use it. Are some of them deprecated and you're just supposed to us auth0 universal-login customize? It would be good if they indicated that the other branding components can be updated with the api subcommand. cat custom-text/login.json | auth0 ul prompts update login isn't documented either I just figured it out from the documentation for other commands.

  5. ramya18101 commented on Dec 5, 2025

    @ramya18101
    Contributor

    Thanks for the feedback! 👍

    I really appreciate you taking the time to share your experience with the documentation and highlighting these gaps. You're absolutely right that we need to improve clarity around the branding commands and their usage patterns.

    Supported Universal Login/Branding Commands:

    auth0 universal-login customize - Customize the Universal Login experience for the standard or advanced mode
    auth0 universal-login prompts - Manage custom text for prompts
    auth0 universal-login show - Display the custom branding settings for Universal Login
    auth0 universal-login switch - Switch the rendering mode for Universal Login
    auth0 universal-login templates - Manage custom Universal Login templates
    auth0 universal-login update - Update the custom branding settings for Universal Login
    auth0 phone provider - Manage phone provider (~9 months)

    What's Currently Missing:

    Branding Themes: Dedicated CLI commands for branding theme management
    Phone Notification Templates: Also on our backlog but not yet implemented.

    If you're finding any other gaps in branding-related resources, please let us know!

    Next Steps:

    • Add branding theme commands to our roadmap
    • Improve documentation - We'll add clearer examples in the documentation.
    • Track community interest - I'd love to park this under our GitHub Discussions to gauge interest from the broader community and help us prioritize accordingly
  6. locked and limited conversation to collaborators on Dec 5, 2025
  7. converted this issue into a discussion #1397 on Dec 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature requestA feature has been asked for or suggested by the community

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions