> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-chore-rate-limits-autoupdate.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Learn how to configure a progressive profile form using Forms for Actions

# Use Cases: Configure a progressive profile form using Forms

<Card title="Before you start">
  1. Create a [Machine-to-Machine Application](/docs/get-started/auth0-overview/create-applications/machine-to-machine-apps) with the following scopes enabled:

  * `read:users`
  * `update:users`
  * `create:users`
  * `read:users_app_metadata`
  * `update:users_app_metadata`
  * `create:users_app_metadata`

  2. Add a [Vault connection](/docs/customize/forms/vault) using the M2M application credentials.
</Card>

Forms for Actions allows you to create progressive profiling flows to decide when to prompt users to collect missing information, such as company name and job title, and store them as `user_metadata` attributes.

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/d976pW0r9bRNvjiU/docs/images/cdy7uua7fh8z/xUx9YmnHvnAqL19JvNtNP/60dae88f893d4ebe8e3523421e960596/Progressive-profle-overview.png?fit=max&auto=format&n=d976pW0r9bRNvjiU&q=85&s=734874622f80aa9f31f34ef5ec8bfe20" alt="Dashboard > Actions > Forms > Form" data-og-width="1404" width="1404" data-og-height="638" height="638" data-path="docs/images/cdy7uua7fh8z/xUx9YmnHvnAqL19JvNtNP/60dae88f893d4ebe8e3523421e960596/Progressive-profle-overview.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/d976pW0r9bRNvjiU/docs/images/cdy7uua7fh8z/xUx9YmnHvnAqL19JvNtNP/60dae88f893d4ebe8e3523421e960596/Progressive-profle-overview.png?w=280&fit=max&auto=format&n=d976pW0r9bRNvjiU&q=85&s=84209ef535fb06c16f350d45c43ba049 280w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/d976pW0r9bRNvjiU/docs/images/cdy7uua7fh8z/xUx9YmnHvnAqL19JvNtNP/60dae88f893d4ebe8e3523421e960596/Progressive-profle-overview.png?w=560&fit=max&auto=format&n=d976pW0r9bRNvjiU&q=85&s=5a0bb1b0a7b418e00ea5f6eb3ef90a85 560w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/d976pW0r9bRNvjiU/docs/images/cdy7uua7fh8z/xUx9YmnHvnAqL19JvNtNP/60dae88f893d4ebe8e3523421e960596/Progressive-profle-overview.png?w=840&fit=max&auto=format&n=d976pW0r9bRNvjiU&q=85&s=8c49e274ff9719e471d46473f0ab40ad 840w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/d976pW0r9bRNvjiU/docs/images/cdy7uua7fh8z/xUx9YmnHvnAqL19JvNtNP/60dae88f893d4ebe8e3523421e960596/Progressive-profle-overview.png?w=1100&fit=max&auto=format&n=d976pW0r9bRNvjiU&q=85&s=885d565c4752224312efa06e42e12d38 1100w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/d976pW0r9bRNvjiU/docs/images/cdy7uua7fh8z/xUx9YmnHvnAqL19JvNtNP/60dae88f893d4ebe8e3523421e960596/Progressive-profle-overview.png?w=1650&fit=max&auto=format&n=d976pW0r9bRNvjiU&q=85&s=f6d038dd66d1b34474e4b5cdb4c219d8 1650w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/d976pW0r9bRNvjiU/docs/images/cdy7uua7fh8z/xUx9YmnHvnAqL19JvNtNP/60dae88f893d4ebe8e3523421e960596/Progressive-profle-overview.png?w=2500&fit=max&auto=format&n=d976pW0r9bRNvjiU&q=85&s=22c004cf865a7084b9b1f749ee03b9df 2500w" />
</Frame>

The sections below outline how you can create a progressive profile form using nodes and flows, along with steps for adding your form to a [Post Login Action](/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger).

## Create a form from scratch

Follow these steps to create a form to gather information:

1. Open the Form editor by selecting **Auth0 Dashboard > Actions > Forms.**
2. Select **Create Form** > **Start from scratch**.

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

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/1dJCUNJ4t68AQZpC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?fit=max&auto=format&n=1dJCUNJ4t68AQZpC&q=85&s=e1212c02cef939245db1d1a4b3ff2de3" alt="Dashboard > Forms > Use Cases > Form" data-og-width="1234" width="1234" data-og-height="371" height="371" data-path="docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/1dJCUNJ4t68AQZpC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=280&fit=max&auto=format&n=1dJCUNJ4t68AQZpC&q=85&s=ba300453c7bb3b0d0765ee8f046b3400 280w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/1dJCUNJ4t68AQZpC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=560&fit=max&auto=format&n=1dJCUNJ4t68AQZpC&q=85&s=1b5f90c7caae4bf70568d00e782f1b47 560w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/1dJCUNJ4t68AQZpC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=840&fit=max&auto=format&n=1dJCUNJ4t68AQZpC&q=85&s=059bb4cf0d4a8ad2ee86d069b9c1d29c 840w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/1dJCUNJ4t68AQZpC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1100&fit=max&auto=format&n=1dJCUNJ4t68AQZpC&q=85&s=848377f903a6f2ad5d9233712d6d6392 1100w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/1dJCUNJ4t68AQZpC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1650&fit=max&auto=format&n=1dJCUNJ4t68AQZpC&q=85&s=71da92ea5abea339a1acfeb31c620da2 1650w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/1dJCUNJ4t68AQZpC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=2500&fit=max&auto=format&n=1dJCUNJ4t68AQZpC&q=85&s=b0072b28450c2bd1579c12bf62f8966c 2500w" />
</Frame>

### Configure the Step node

The Step node is the graphical interface visible to users. Add [Fields](/docs/customize/forms/nodes-and-components) to the Step node to collect the user's company name and job title 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**: `Complete your profile! We need you to complete your profile to personalize your experience.`
   * Select **Save**.
2. Drag a **Text** field into the **Step** node.

   * **ID**: Enter `company_name`.
   * **Label**: Enable the checkbox.
   * **Label**: Enter `Company name`.
   * **Required**: Enable the checkbox.
   * Select **Save**.
3. Drag a **Text** field into the **Step** node.

   1. **ID**: Enter `job_title`.
   2. **Label**: Enter `Job title`.
   3. **Label**: Enable the checkbox.
   4. **Required**: Enable the checkbox.
   5. Select **Save**.
4. Select **Publish** to save.

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/n9DrMFubcMJNYbJ7/docs/images/cdy7uua7fh8z/6H1lRzwKyYioQyQJ9MtIoM/aa248e92fc028a68a5b92ff361a11644/progressive-profile-step.png?fit=max&auto=format&n=n9DrMFubcMJNYbJ7&q=85&s=245db67d2876287c00c49a957aaaa848" alt="Dashboard > Actions > Forms > Form > Step node" data-og-width="1404" width="1404" data-og-height="533" height="533" data-path="docs/images/cdy7uua7fh8z/6H1lRzwKyYioQyQJ9MtIoM/aa248e92fc028a68a5b92ff361a11644/progressive-profile-step.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/n9DrMFubcMJNYbJ7/docs/images/cdy7uua7fh8z/6H1lRzwKyYioQyQJ9MtIoM/aa248e92fc028a68a5b92ff361a11644/progressive-profile-step.png?w=280&fit=max&auto=format&n=n9DrMFubcMJNYbJ7&q=85&s=b1b0dd2befef1fd013d0dfebdf3056c2 280w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/n9DrMFubcMJNYbJ7/docs/images/cdy7uua7fh8z/6H1lRzwKyYioQyQJ9MtIoM/aa248e92fc028a68a5b92ff361a11644/progressive-profile-step.png?w=560&fit=max&auto=format&n=n9DrMFubcMJNYbJ7&q=85&s=f6c638d4631fe1ec91900a9cf2e5f0c4 560w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/n9DrMFubcMJNYbJ7/docs/images/cdy7uua7fh8z/6H1lRzwKyYioQyQJ9MtIoM/aa248e92fc028a68a5b92ff361a11644/progressive-profile-step.png?w=840&fit=max&auto=format&n=n9DrMFubcMJNYbJ7&q=85&s=ff3193a621d396b525837eff585280ba 840w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/n9DrMFubcMJNYbJ7/docs/images/cdy7uua7fh8z/6H1lRzwKyYioQyQJ9MtIoM/aa248e92fc028a68a5b92ff361a11644/progressive-profile-step.png?w=1100&fit=max&auto=format&n=n9DrMFubcMJNYbJ7&q=85&s=f9d0ab43bca269e6cd4d2f1b2f26f382 1100w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/n9DrMFubcMJNYbJ7/docs/images/cdy7uua7fh8z/6H1lRzwKyYioQyQJ9MtIoM/aa248e92fc028a68a5b92ff361a11644/progressive-profile-step.png?w=1650&fit=max&auto=format&n=n9DrMFubcMJNYbJ7&q=85&s=14d49cbba6f0555c2d5e8d905c63adbb 1650w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/n9DrMFubcMJNYbJ7/docs/images/cdy7uua7fh8z/6H1lRzwKyYioQyQJ9MtIoM/aa248e92fc028a68a5b92ff361a11644/progressive-profile-step.png?w=2500&fit=max&auto=format&n=n9DrMFubcMJNYbJ7&q=85&s=290212b5ae2b9af252669682943b4407 2500w" />
</Frame>

### Configure the flow node

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**.
   * Select **Save**.
4. Link the **Flow** node to the **Step** and **Ending Screen** nodes as pictured below.
5. Select **Publish** to save.

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/7LyO-bj3SpfWWVhU/docs/images/cdy7uua7fh8z/5C91DaWn4LGtJT9BF87ssu/095171d0c452a287c44bfde12fd6d13f/link-nodes.png?fit=max&auto=format&n=7LyO-bj3SpfWWVhU&q=85&s=099b9bf083d0bdce8bcd451891a631d5" alt="Dashboard > Actions > Forms > Form" data-og-width="1404" width="1404" data-og-height="540" height="540" data-path="docs/images/cdy7uua7fh8z/5C91DaWn4LGtJT9BF87ssu/095171d0c452a287c44bfde12fd6d13f/link-nodes.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/7LyO-bj3SpfWWVhU/docs/images/cdy7uua7fh8z/5C91DaWn4LGtJT9BF87ssu/095171d0c452a287c44bfde12fd6d13f/link-nodes.png?w=280&fit=max&auto=format&n=7LyO-bj3SpfWWVhU&q=85&s=0f2fa5c36ffdbf712134554b8ba23c48 280w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/7LyO-bj3SpfWWVhU/docs/images/cdy7uua7fh8z/5C91DaWn4LGtJT9BF87ssu/095171d0c452a287c44bfde12fd6d13f/link-nodes.png?w=560&fit=max&auto=format&n=7LyO-bj3SpfWWVhU&q=85&s=4aa7dc5f0c65f8a36ea84427d56c8e55 560w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/7LyO-bj3SpfWWVhU/docs/images/cdy7uua7fh8z/5C91DaWn4LGtJT9BF87ssu/095171d0c452a287c44bfde12fd6d13f/link-nodes.png?w=840&fit=max&auto=format&n=7LyO-bj3SpfWWVhU&q=85&s=49da9437962e8f4714c6c9d86660bfaf 840w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/7LyO-bj3SpfWWVhU/docs/images/cdy7uua7fh8z/5C91DaWn4LGtJT9BF87ssu/095171d0c452a287c44bfde12fd6d13f/link-nodes.png?w=1100&fit=max&auto=format&n=7LyO-bj3SpfWWVhU&q=85&s=16ce65f268f0997cc43a5ba3bdd9e91f 1100w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/7LyO-bj3SpfWWVhU/docs/images/cdy7uua7fh8z/5C91DaWn4LGtJT9BF87ssu/095171d0c452a287c44bfde12fd6d13f/link-nodes.png?w=1650&fit=max&auto=format&n=7LyO-bj3SpfWWVhU&q=85&s=9cbfeabfc06c9ec2ba47fcfa92a0ccb6 1650w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/7LyO-bj3SpfWWVhU/docs/images/cdy7uua7fh8z/5C91DaWn4LGtJT9BF87ssu/095171d0c452a287c44bfde12fd6d13f/link-nodes.png?w=2500&fit=max&auto=format&n=7LyO-bj3SpfWWVhU&q=85&s=38fd7b43e53fea587e231f889d790fd7 2500w" />
</Frame>

Add an Auth0 Update user action to the flow by following these steps:

1. Select the **Update user\_metadata** flow, then select the **Edit Flow** to open the Flow editor in a new tab.
2. Below the **Start** action, select the **+** icon to add an **Update user** action. Complete the fields below, then select **Save** to continue.

   * **Connection**: Select from the dropdown the Vault connection to your M2M application.

   * **User ID**: Enter `{{context.user.user_id}}`.

   * **Body**: Copy and paste the following code to update the user\_metadata with `job_title` and `company_name` properties.

     ```json lines theme={null}
     {
        "user_metadata": {
           "job_title": "{{fields.job_title}}",
           "company_name": "{{fields.company_name}}"
        }
     }
     ```

   * Select **Save**.
3. Select **Publish** to save.

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/yNUDgTv1OuG0yM2C/docs/images/cdy7uua7fh8z/65Jx4W5oIZJyyvA8z4HqIx/0661b1a8ca6361c54fc4fef07ba59f0b/update-user.png?fit=max&auto=format&n=yNUDgTv1OuG0yM2C&q=85&s=bbebbdb8492bd6cc08d4080daa306b78" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="244" height="244" data-path="docs/images/cdy7uua7fh8z/65Jx4W5oIZJyyvA8z4HqIx/0661b1a8ca6361c54fc4fef07ba59f0b/update-user.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/yNUDgTv1OuG0yM2C/docs/images/cdy7uua7fh8z/65Jx4W5oIZJyyvA8z4HqIx/0661b1a8ca6361c54fc4fef07ba59f0b/update-user.png?w=280&fit=max&auto=format&n=yNUDgTv1OuG0yM2C&q=85&s=f2df05d05c70062ead30f92587259b71 280w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/yNUDgTv1OuG0yM2C/docs/images/cdy7uua7fh8z/65Jx4W5oIZJyyvA8z4HqIx/0661b1a8ca6361c54fc4fef07ba59f0b/update-user.png?w=560&fit=max&auto=format&n=yNUDgTv1OuG0yM2C&q=85&s=cb9bd5e1534869ea3339a6811a8c7b1b 560w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/yNUDgTv1OuG0yM2C/docs/images/cdy7uua7fh8z/65Jx4W5oIZJyyvA8z4HqIx/0661b1a8ca6361c54fc4fef07ba59f0b/update-user.png?w=840&fit=max&auto=format&n=yNUDgTv1OuG0yM2C&q=85&s=784bf31bb48f9375e6ecfbb43c898935 840w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/yNUDgTv1OuG0yM2C/docs/images/cdy7uua7fh8z/65Jx4W5oIZJyyvA8z4HqIx/0661b1a8ca6361c54fc4fef07ba59f0b/update-user.png?w=1100&fit=max&auto=format&n=yNUDgTv1OuG0yM2C&q=85&s=5fe7a608161d7a694889aa05e04a9b6e 1100w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/yNUDgTv1OuG0yM2C/docs/images/cdy7uua7fh8z/65Jx4W5oIZJyyvA8z4HqIx/0661b1a8ca6361c54fc4fef07ba59f0b/update-user.png?w=1650&fit=max&auto=format&n=yNUDgTv1OuG0yM2C&q=85&s=3d66d52c90fc30e41d3a9be8259a3cc9 1650w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/yNUDgTv1OuG0yM2C/docs/images/cdy7uua7fh8z/65Jx4W5oIZJyyvA8z4HqIx/0661b1a8ca6361c54fc4fef07ba59f0b/update-user.png?w=2500&fit=max&auto=format&n=yNUDgTv1OuG0yM2C&q=85&s=0bfd95e7ee2e3be2d7d4b23ff459cef1 2500w" />
</Frame>

### Retrieve the form render code

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

* From the Form editor, select **`<> Render`**.
* Select **Copy**.

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/Xd_ZjOhmZVkCYP_o/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?fit=max&auto=format&n=Xd_ZjOhmZVkCYP_o&q=85&s=562744b723acc0fd648347add02796be" alt="Dashboard > Actions > Forms > Form > Embed" data-og-width="1400" width="1400" data-og-height="848" height="848" data-path="docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/Xd_ZjOhmZVkCYP_o/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=280&fit=max&auto=format&n=Xd_ZjOhmZVkCYP_o&q=85&s=0da3d18ef91f47074d416ee9b0b3b20b 280w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/Xd_ZjOhmZVkCYP_o/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=560&fit=max&auto=format&n=Xd_ZjOhmZVkCYP_o&q=85&s=f1bccff08815d6350423c77cb8f1deb3 560w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/Xd_ZjOhmZVkCYP_o/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=840&fit=max&auto=format&n=Xd_ZjOhmZVkCYP_o&q=85&s=db34acba3bb68e6445d283a6636fa20b 840w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/Xd_ZjOhmZVkCYP_o/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1100&fit=max&auto=format&n=Xd_ZjOhmZVkCYP_o&q=85&s=3e4bb76a4a366b11c549b347ed61e459 1100w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/Xd_ZjOhmZVkCYP_o/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1650&fit=max&auto=format&n=Xd_ZjOhmZVkCYP_o&q=85&s=c4bfa660ee6dc184691e8a60f38b88ba 1650w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/Xd_ZjOhmZVkCYP_o/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=2500&fit=max&auto=format&n=Xd_ZjOhmZVkCYP_o&q=85&s=cde519fc96b1bc24b97122f99eb772c3 2500w" />
</Frame>

## Create a Post Login Action

Create a post-login Action to render your form by following these steps:

1. Navigate to **Auth0 Dashboard > Actions > Flows > Login.**
2. Select the **+** icon and select **Build from scratch**:

   * **Name**: Enter `Render Progressive Profile Form`.
   * **Trigger**: Select `Login / Post Login`.
   * **Runtime**: Select the recommended version.
3. Select **Create**.

To configure the post-login Action:

1. Delete the existing code from the Code editor.
2. Paste the form embed code into the Code editor.
3. Edit the code to define the conditional logic that will render the form.

   ```javascript lines theme={null}
   /**
   * @param {Event} event - Details about the user and the context in which they are logging in.
   * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.
   */
   exports.onExecutePostLogin = async (event, api) => {
     const FORM_ID = 'REPLACE_WITH_YOUR_FORM_ID';

     if (
       event.stats.logins_count > 2 &&
       !event.user.user_metadata.company_name &&
       !event.user.user_metadata.job_title
     ) {
       api.prompt.render(FORM_ID);
     }
   }

   exports.onContinuePostLogin = async (event, api) => { }
   ```

   <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
     The example code above will render the form when a user has a login count > 2 and is missing the user metadata company\_name and job\_title properties.
   </Callout>
4. Select **Deploy.**
5. Drag and Drop the **Render Progressive Profile Form** Action to the **Login** flow.

   <Frame>
     <img src="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/cCb4WKEQ0bpF6C_O/docs/images/cdy7uua7fh8z/1QjjZdpTqTxx012UDN4xk9/99fba5ef4068a5688f1762eea7f42976/renderprogessiveprofile.png?fit=max&auto=format&n=cCb4WKEQ0bpF6C_O&q=85&s=fddd69084946e1a268d21795e57a6c3d" alt="Dashboard > Forms > Use Cases Progressive Profile Login Action" data-og-width="1079" width="1079" data-og-height="524" height="524" data-path="docs/images/cdy7uua7fh8z/1QjjZdpTqTxx012UDN4xk9/99fba5ef4068a5688f1762eea7f42976/renderprogessiveprofile.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/cCb4WKEQ0bpF6C_O/docs/images/cdy7uua7fh8z/1QjjZdpTqTxx012UDN4xk9/99fba5ef4068a5688f1762eea7f42976/renderprogessiveprofile.png?w=280&fit=max&auto=format&n=cCb4WKEQ0bpF6C_O&q=85&s=5e28ed9fe69497abdcc0d8a42cf45394 280w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/cCb4WKEQ0bpF6C_O/docs/images/cdy7uua7fh8z/1QjjZdpTqTxx012UDN4xk9/99fba5ef4068a5688f1762eea7f42976/renderprogessiveprofile.png?w=560&fit=max&auto=format&n=cCb4WKEQ0bpF6C_O&q=85&s=80b3dabe8403309827684a2e83c0f027 560w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/cCb4WKEQ0bpF6C_O/docs/images/cdy7uua7fh8z/1QjjZdpTqTxx012UDN4xk9/99fba5ef4068a5688f1762eea7f42976/renderprogessiveprofile.png?w=840&fit=max&auto=format&n=cCb4WKEQ0bpF6C_O&q=85&s=55a7ea6104f4fa0e1e9eb3e0448c94be 840w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/cCb4WKEQ0bpF6C_O/docs/images/cdy7uua7fh8z/1QjjZdpTqTxx012UDN4xk9/99fba5ef4068a5688f1762eea7f42976/renderprogessiveprofile.png?w=1100&fit=max&auto=format&n=cCb4WKEQ0bpF6C_O&q=85&s=9a2dd6cbe34ebdcf949a4a57036a56d5 1100w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/cCb4WKEQ0bpF6C_O/docs/images/cdy7uua7fh8z/1QjjZdpTqTxx012UDN4xk9/99fba5ef4068a5688f1762eea7f42976/renderprogessiveprofile.png?w=1650&fit=max&auto=format&n=cCb4WKEQ0bpF6C_O&q=85&s=6bbed1705822a316151ddc5e4c078012 1650w, https://mintcdn.com/docs-dev-chore-rate-limits-autoupdate/cCb4WKEQ0bpF6C_O/docs/images/cdy7uua7fh8z/1QjjZdpTqTxx012UDN4xk9/99fba5ef4068a5688f1762eea7f42976/renderprogessiveprofile.png?w=2500&fit=max&auto=format&n=cCb4WKEQ0bpF6C_O&q=85&s=33269f9c6e1b48e57157941eb212d632 2500w" />
   </Frame>
6. Select **Apply**.

### Test implementation

Test the implementation by following these steps:

1. Log in with an existing user whose login count is greater than 2 and their `user_metadata` attributes `company_name` and `job_title` have no values.
2. The post-login action in the Login flow will render the form and prompt for the information.
3. Select **Auth0 Dashboard > User Management > Users,** locate the user and verify that the `user_metadata` attributes `company_name` and `job_title` contain information.
