# ACUL form for entry of OTP for non-verified email on first login

**URL:** <https://community.auth0.com/t/acul-form-for-entry-of-otp-for-non-verified-email-on-first-login/186996>\
**Category:** Dev to Dev Hub\
**Tags:** login-experience, new-universal-login-experience\
**Created:** [May 21, 2025, 4:43am UTC](https://community.auth0.com/t/acul-form-for-entry-of-otp-for-non-verified-email-on-first-login/186996 "2025-05-21T04:43:11Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![james.heanly](https://sea1.discourse-cdn.com/auth0/user_avatar/community.auth0.com/james.heanly/32/71057_2.png) [@james.heanly](https://community.auth0.com/u/james.heanly)\
**Post date:** [May 21, 2025, 4:43am UTC](https://community.auth0.com/t/acul-form-for-entry-of-otp-for-non-verified-email-on-first-login/186996/1 "2025-05-21T04:43:11Z")

</div>

Hi  
We are planning / hoping to use Advanced Customizations for Universal Login so we can create a fully customised form for Username / Password entry.  
As part of this process, once a user has successfully entered their credentials, if their email has not yet been verified we want to send an OTP to their email address and display a subsequent form to accept entry of the OTP.  
Now, I understand this can be done using the `onExecutePostLogin` trigger and the built-in Actions, Forms, Flows functionality within auth0.  
What I was hoping to be able to do was have a form within our ACUL deployment so that this OTP entry form could also be fully customised.  
So far, I have not been able to find a way to do this.  
Does anyone have any suggestions?  
Thanks

---

<div class="post-metadata">

**Author:** ![nik.baleca](https://sea1.discourse-cdn.com/auth0/user_avatar/community.auth0.com/nik.baleca/32/68749_2.png) [@nik.baleca](https://community.auth0.com/u/nik.baleca)\
**Post date:** [May 26, 2025, 6:40pm UTC](https://community.auth0.com/t/acul-form-for-entry-of-otp-for-non-verified-email-on-first-login/186996/3 "2025-05-26T18:40:04Z")

</div>

Hi @james.heanly

Welcome to the Auth0 Community!

Indeed, as you have mentioned, this indeed can be accomplished by using Actions. Implementing this behaviour using Forms can be quite complicated and I believe that the simplest approach would be the simplest.

The code inside the action would look something like this:

```auto
exports.onExecutePostLogin = async (event, api) => {
  if(event,user.email_verified != true) {

     api.authentication.challengeWith({ type: 'email' };

  }
};

```

Additionally, you can configure the `Email` attribute inside the Database connection that you are using to force the users to verify their email when they sign up.

Otherwise, you should be able to customize the MFA screens using ACUL. The screens that you would need to customize are:

1. Under the `mfa-email` prompt:

- `mfa-email-challenge`
- `mfa-email-email`

1. Under the `email-verification` prompt

- `email-verification-result`

Let me know if you have any other questions on the matter!

Kind Regards,  
Nik

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/auth0/original/3X/b/5/b560f266932fcce5d57f09a6595bd50518cae3f3.jpeg) [@system](https://community.auth0.com/u/system)\
**Post date:** [June 9, 2025, 6:40pm UTC](https://community.auth0.com/t/acul-form-for-entry-of-otp-for-non-verified-email-on-first-login/186996/4 "2025-06-09T18:40:07Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

---

<div class="post-metadata">

**Author:** ![remus.ivan](https://sea1.discourse-cdn.com/auth0/user_avatar/community.auth0.com/remus.ivan/32/68771_2.png) [@remus.ivan](https://community.auth0.com/u/remus.ivan)\
**Post date:** [September 5, 2025, 8:40pm UTC](https://community.auth0.com/t/acul-form-for-entry-of-otp-for-non-verified-email-on-first-login/186996/5 "2025-09-05T20:40:57Z")

</div>


