Auth0: B2B SaaS, Multi Tenant (Organizations), Self Service Signup Support

Hey everyone!

I successfully used Auth0’s Forms and Flows to create a near native self-service user registration (including org creation & invitation) that does the following all within the Auth0 React SDK:

  1. Create a new user (required for the 1st step due to the post-login trigger to render a form)
    First line of feedback: would love to be able to render a form during the sign up process! Not the post-login trigger.
    It’s easier & efficient, IMO, to do:
    Org Creation → Org Configuration → Invite new user → User gets invite→ User accepts → User sets up their account. Which I’ve built custom solutions to support.

  2. Form renders

  3. Flow step: user enters: Company Name (display name), First & Last Name
    2nd Feedback: I cannot programmatically generate a lower_caseversion of this name per the org_name requirements. This requires, I believe, the custom field component, which is a paid add-on. I’m on the startup 1-year plan, and I don’t have access to this, unfortunately.
    Workaround: I used the functions.md5(fields.org_display_name)as the org_name

  4. Flow step: create org via custom Auth0 API action

  5. Flow step: configure org (setup connection id) via custom Auth0 API action

  6. Flow step: Invite user with role attached to new org

This all works. :rocket:

3rd Feedback:
But for this flow to work. I need my React Client App within Auth0 configured to support both Individual and Org (Business) login experiences.
This is not a desirable state. Now, my users will be prompted to pick from their individual account or the company account. My SaaS offering only deals with business accounts (enforce orgs). This will be a high-friction point and source of frustration for a subset of my users. More so since my clientele is typically not tech-savvy. (Construction Tech)

Obviously, I can create a custom FE (frontend) and BE (backend) to do exactly what I need. I’ve accomplished this before. But I would rather not. I would rather simply configure Auth0, and that’s that.

Any tips, advice, workarounds, suggestions for my dilemma? Things I may have missed?

Cheers!

Matt