Use Cases: Configure additional signup steps using Forms

Before you start

Create a Machine-to-Machine Application with the following scopes enabled:

  • read:users

  • update:users

  • create:users

  • read:users_app_metadata

  • update:users_app_metadata

  • create:users_app_metadata

Forms for Actions allows you to create additional signup steps to reduce user friction when signing up.

Dashboard > Forms > Use Case Custom Signup Form

The sections below outline how you can create additional signup steps forms using nodes and flows, along with steps for adding your form to a Post Login Action.

Create a form with Forms for Actions

To create a new information gathering form, follow these steps:

  1. Navigate to Auth0 Dashboard > Actions > Forms.

  2. Select Actions > Forms to open the Form editor in a new tab.

  3. Select Create form > Start from scratch.

By default, a new form contains a Start node, a Step node, and an Ending screen node.

Dashboard > Forms > Use Cases > Form

Configure the Start node

To ensure that the Auth0 pipeline connection is secure, add a Hidden field variable named context_token by following these steps:

  1. Select the Start node from the Form editor.

  2. Select Add New Item.

  3. Enter context_token. A Default value is not needed.

  4. Select Publish to save.

Dashboard > Forms > Uses cases > Start node

Add a Get user flow

Add a Get user Flow node to validate the context_token value, gather user data, and store this information for further processing by following these steps:

  1. Select Flow from the bottom of the Form editor.

  2. Remove the existing link between the Start and Step nodes.

  3. Select the new Flow > Click to add a flow > Create a new flow.

    1. Enter Get user in the Name field.

    2. Select Create.

  4. Link the Flow Get user node to the Start and Step nodes.

  5. Select Publish to save.

Dashboard > Forms > Use Case > Get user flow node

Add a Router node

Add a Router node that reviews the user logins_count value to determine the appropriate next steps. If the logins_count value is 1 it indicates a new user signup and continues to the Step node to prompt the user for the information, if the values is other than 1, the authentication flow resumes to login.

  1. Return to the Form editor and select Router.

  2. Remove the existing link between the Get user Flow and Step nodes.

  3. Select the new Router node to add a new rule.

    1. Select Rule 1.

    2. Alias: Enter Finish Sign-up.

    3. Variable:

      1. Enter {{state.user.logins_count}}.

      2. From the dropdown menu, select is equal to, Value: Enter 1.

    4. Select Publish to save.

  4. Add a link from the rule Finish Sign-up to the Step node and link the Default Case rule to the Ending screen node.

  5. Select Publish to save.

Dashboard > Forms > Use Cases > Custom signup steps router node

Configure the Step node

The Step node is the graphical interface visible to users. Add Fields to the Step node to collect the user first name and last name values by following these steps:

  1. Drag a Rich text field from the Components menu into the Step node.

    • Rich text: Enter a custom message.

      • Example: Finish signing up.

  2. Drag a Text field into the Step node.

    • ID: Enter first_name.

    • Label: Enter First name.

    • Label: Enable the checkbox.

    • Required: Enable the checkbox.

  3. Drag a Text field into the Step node.

    • ID: Enter last_name.

    • Label: Enter Last name.

    • Label: Enable the checkbox.

    • Required: Enable the checkbox.

  4. Select Publish to save.

Dashboard > Forms > Use Case Custom Signup Steps Step node

Add an Update user_metadata flow

Add a Flow node after the Step node to update the user_metadata and resume the authentication flow by following these steps:

  1. Select Flow from the bottom of the Form editor.

  2. Remove the existing link between the Step and Ending Screen nodes.

  3. Select the new Flow > Click to add a flow > Create a new flow.

    • Enter Update user_metadata in the Name field.

    • Select Create.

  4. Link the Flow node to the Step and Ending Screen nodes as pictured below.

  5. Select Publish to save.

Dashboard > Forms > Use Case Custom Signup Step Update User metadata flow

Retrieve your form embed code

Retrieve your form embed code to visually render the form with a custom Post Login Action by following these steps:

  1. From the Form editor, select the Embed tab.

  2. Select Copy.

Dashboard > Forms > Use Case > Embed Code

Create a custom Post Login Action

Create a custom Post Login Action to render your form by following these steps:

  1. Navigate to Auth0 Dashboard > Actions > Flows > Login.

  2. Select Custom.

  3. Select the + icon to Build from scratch:

    • Name: Enter Render Additional Signup Form.

    • Trigger: Select Login / Post Login.

    • Runtime: Select Node 18 (Recommended).

  4. Select Create.

To configure the custom Action:

  1. Delete the existing code from the Code editor.

  2. Paste the form embed code into the Code editor.

  3. To add a Secret, select the Key icon from the left-side menu of the Code editor.

  4. Select Add Secret.

    • Key: Enter SHARED_CONTENT_TOKEN_SECRET.

    • Value: Enter MY_SECRET_PASSWORD.

  5. Select Create.

  6. Select Deploy.

    Dashboard > Forms > Use Case Custom Signup Steps Render Form Action

  7. Drag and Drop the Render Additional Signup Form Action to the Login flow.

    Dashboard > Forms > Use Cases Custom Signup Steps Login Flow

  8. Select Apply.

Test implementation

Test the implementation by following these steps:

  • Sign up to an application with a new user.

  • The custom Post Login Action in the Login flow will render the form and prompt for the information.

  • Select Auth0 Dashboard > User Management > Users, locate the new user and verify that its attributes first_name and last_name contain the information from the additional signup step.