Auth0 Community Ask Me Anything: Customize and extend CIAM with new Forms for Actions

Auth0 Community Ask Me Anything: Customize and extend CIAM with new Forms for Actions

The Auth0 Community is thrilled to invite you to our interactive online Ask Me Anything (AMA) session on Tuesday, May 21, 2024, where we’ll delve into the power of the newest feature on the Actions platform, Forms for Actions. See how Forms for Actions simplifies the creation of personalized, secure login, and signup flows with a no-code, drag-and-drop visual editor, helping accelerate time to market and deliver frictionless customer experiences. Featuring templates, debugger mode, and an exclusively no-code UI, personalization has never been easier.

Join us to explore the benefits, learn implementation strategies, and gain insights into maximizing customer engagement.

How It Works:

From May 7th to May 20th, Auth0 developers, customers, and community users can submit questions on Forms for Actions in the Auth0 Community by replying to this community topic using the ‘Reply’ button. Then mark your calendars for May 21st, from 8 am to 10 am PST, when our product experts will provide comprehensive written answers. As a bonus, you will earn points and a special badge.

What Participants Can Expect:

  • Unlock insights into personalized user experiences with Forms for Actions, enhancing engagement and retention.
  • Discover time-saving techniques through customizable templates, empowering innovation and reducing time to market.
  • Seamlessly integrate Forms for Actions into existing applications, simplifying compliance while boosting conversion rates.

Ask Questions here by hitting the reply button below. Be sure to submit your questions from today, May 7 to Monday, May 20, 2024.

Featured Expert:

Jacobo Vidal is a Group Product Manager working in the Extensibility team and part of the Developer Experience organization. Before Okta, he co-founded Arengu, a SaaS platform allowing developers to build frictionless signup and onboarding flows, which was selected for Y Combinator’s Summer 21 batch. Beyond technology, he enjoys riding motorcycles, playing video games, building LEGO, and going out for tapas in Galicia.

8 Likes

Hi
I am supper excited about this new feature! This opens so much potential for the better user experience!

I was trying to test in on my dev tenant, and having the issue.
When I was trying to establish a connection to Auth0 application providing tenant, client id and client secret copying these values from the application. But I have the following error. What am I doing wrong?

Do you have any details about the pricing model for the new feature?

2 Likes

Hi @artembondar, this error happens because you’re not using the right app or right credentials.

You can follow any of these tutorials: Use Cases: Configure a progressive profile form using Forms

Make sure you create a Machine-2-Machine application with the right scopes and copy the right settings to the vault connection.

2 Likes

@fedelists you can check our pricing page under the Extensibility section for more information. But Forms for Actions is included in all tiers (including free plans).

1 Like

@jacobovidal Thank you for the hint! With M2M I was able to set up the test flow!

Now I am trying to solve the actual business problems, maybe you could suggest as well?

Problem 1: When a user creates a new account, show him a form “Please confirm your email” after the registration. But as far as I see, the new Forms currently support only Login flow, but not Pre-registration or Post-registration flow right?

Problem 2: User created an account, but didn’t confirm the email. I want to force a user to do so during the Login flow. So I can create a form, which will be displayed based on the condition

exports.onExecutePostLogin = async (event, api) => {
if(!event.user.email_verified){
    api.prompt.render(FORM_ID);
  }
}

How can I here prevent user from moving forward and force him to confirm email?
I have found this workaround, to include the code into “onContinuePostLogin” with a new form and message like “Sorry, we were not able to confirm your email”. So this essentially revert user to the step 1. But I am not sure if there is a better way

exports.onContinuePostLogin = async (event, api) => {
  if(!event.user.email_verified){
    api.prompt.render(FORM_ID);
  }
}

Problem 3: I use Auth0 with a third-party application using SAML. From that application, when the user clicks SignUp it by default lands to the SignIn page.
Is there a way to start the user experience with a custom form? For example, the first thing user will see is form with “Do you have an account with us?” buttons “Yes” “No”. If Yes, open the Login screen, if no, open sign up screen.

2 Likes

I have one more question if you don’t mind :slight_smile:

I am testing the pre-defined form template “Email OTP verification”. But it fails for me, and from the log, I can’t understand what is missing. Could you provide a hint by looking at the screenshot, please?

1 Like

Okay, I have found what is the issue.
There is a mistake in the template.
Instead of {{fields.phone_number.international_number}} for the reference value, there has to be {{context.user.email}}. Then it works successfully :slight_smile: So far this is a coolest thing about a new forms!

3 Likes

Hi there,

Is Forms for Actions just for web-based apps?

1 Like

This is a great new feature! I ran into the same issue as artembondar with the reference value. Luckily all information was there to kind of experiment and get it. I am in the same boat though of I want to kick this off in registration. I don’t want them to really get any further until they verify their email. What’s the best way to do this?

3 Likes

Is there a way to add a log out to a form? If they get stuck in a flow, i.e. confirming an email and remember they already have an account under a different email for example. Having the ability to log in as a different account without clearing cookies would be good.

1 Like

How do Forms for Actions work with Actions?

Hey. Great feature here. Will be very helpful for our complicated progressive profiling.

Wanted to report a bit of a UI bug, where if you have rounded controls, the choice box looks a bit messed up. If there is a better place to put this, please let me know.

image

It would also be nice if you could add some text underneath each choice instead of having to have super long labels

3 Likes

Hi, the feature sounds awsome and I’m looking forward to building it into our usecases.
Will there be a way to pipe variables created in the actions to the florm and back from the form to the on onContinuePostLogin method?

I’m also unable to run a flow to update the users metadata.


This is not working:

But when adding the UserID of another user it works.

1 Like

What top use cases do Forms for Actions solve?

Thanks!

So far is OTP during the log-in flow. Killer feature!

1 Like

Problem 1: When a user creates a new account, show him a form “Please confirm your email” after the registration. But as far as I see, the new Forms currently support only Login flow, but not Pre-registration or Post-registration flow right?

Correct, right now it only works for post-login.

How can I here prevent user from moving forward and force him to confirm email?

The code you have would cover it:

exports.onExecutePostLogin = async (event, api) => {
  if(!event.user.email_verified){
    api.prompt.render(FORM_ID);
  }
}

Is there a way to start the user experience with a custom form? For example, the first thing user will see is form with “Do you have an account with us?” buttons “Yes” “No”. If Yes, open the Login screen, if no, open sign up screen.

Not yet, but that’s an interesting use case. Being able to build a custom screen to redirect to different experiences.

1 Like

I am testing the pre-defined form template “Email OTP verification”. But it fails for me, and from the log, I can’t understand what is missing. Could you provide a hint by looking at the screenshot, please?

If you click “Generate one-time password” you can see the input that is received that action. From what I see; you’re missing the reference value you want to generate the OTP for. Likely a variable that is not resolving properly.

1 Like

Yes, it’s only for web.

1 Like