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

> Learn how to configure an update policy form using Forms for Actions for users to review and accept new terms of service or consent updates.

# Use Cases: Configure an update policy 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 custom privacy policies flows and store the consent under the `app_metadata` object.

<Frame>
  <img src="https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=356c5d5ad3dbf719e808071081f4e9fc" alt="Dashboard > Actions > Forms > Privacy policy use case" data-og-width="1404" width="1404" data-og-height="638" height="638" data-path="docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=280&fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=6d362dcb27cbf6ea27c5615f0d971525 280w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=560&fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=7e6e6840f0ed5165e0be058eb02f50e1 560w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=840&fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=aab646c0105ad550b3cba7281e5450d8 840w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1100&fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=04163b169dbbf2f2b3d7b208c557b39f 1100w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1650&fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=ed63de7839a0bf6cee8a9d4cf1d4d9d7 1650w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=2500&fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=40802379a4f001fce57697aea4ba015b 2500w" />
</Frame>

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

## 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-fix-docs-5605-seo-geo/C8-A4pU0jBc0_3cK/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?fit=max&auto=format&n=C8-A4pU0jBc0_3cK&q=85&s=9b9ee3e24275fecc41ded1d666b00df0" 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-fix-docs-5605-seo-geo/C8-A4pU0jBc0_3cK/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=280&fit=max&auto=format&n=C8-A4pU0jBc0_3cK&q=85&s=e01cc35966dea74e23b9f78fd519eac5 280w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/C8-A4pU0jBc0_3cK/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=560&fit=max&auto=format&n=C8-A4pU0jBc0_3cK&q=85&s=a72eb16a78430f944fc136ff61a27cbc 560w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/C8-A4pU0jBc0_3cK/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=840&fit=max&auto=format&n=C8-A4pU0jBc0_3cK&q=85&s=9fefff6922b7b89d8319d8f4d0202f03 840w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/C8-A4pU0jBc0_3cK/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1100&fit=max&auto=format&n=C8-A4pU0jBc0_3cK&q=85&s=5a6fc7c12d96565925d17aa7e70d7a11 1100w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/C8-A4pU0jBc0_3cK/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1650&fit=max&auto=format&n=C8-A4pU0jBc0_3cK&q=85&s=4745128d9ece0aef80a3c6db391a7fec 1650w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/C8-A4pU0jBc0_3cK/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=2500&fit=max&auto=format&n=C8-A4pU0jBc0_3cK&q=85&s=50d56989b5e6fd07e45373f6b2962767 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 new agreement acceptance value by following these steps:

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

   * **Rich text**: Enter a description of your privacy policies updates.
   * Select **Save**.
2. Drag a **Legal** field into the **Step** node.

   * **ID**: Enter `privacy_policies`.
   * **Required**: Enable the checkbox.
   * **Legal**: Enter `I agree to the Privacy Policy`.
   * Select **Save**.
3. Select **Publish** to save.

<Frame>
  <img src="https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/ctb_S1RtHc5dwSF_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?fit=max&auto=format&n=ctb_S1RtHc5dwSF_&q=85&s=d74b5a8e7d1740a988a33e068bc4d40e" alt="Dashboard > Actions > Forms > Use case privacy policy step node" data-og-width="1404" width="1404" data-og-height="559" height="559" data-path="docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/ctb_S1RtHc5dwSF_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=280&fit=max&auto=format&n=ctb_S1RtHc5dwSF_&q=85&s=f0c77a063659f2e2f64d416f8ed8ad0a 280w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/ctb_S1RtHc5dwSF_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=560&fit=max&auto=format&n=ctb_S1RtHc5dwSF_&q=85&s=57664be592be06d462d4f3d3c50ede2a 560w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/ctb_S1RtHc5dwSF_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=840&fit=max&auto=format&n=ctb_S1RtHc5dwSF_&q=85&s=d0d8cb1018d76d2fd4244c85cf3ffe87 840w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/ctb_S1RtHc5dwSF_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1100&fit=max&auto=format&n=ctb_S1RtHc5dwSF_&q=85&s=6ea51727b22aba8e106a7508ba6f243b 1100w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/ctb_S1RtHc5dwSF_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1650&fit=max&auto=format&n=ctb_S1RtHc5dwSF_&q=85&s=162bb2e2dfcf8a4613e5c92d1230c598 1650w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/ctb_S1RtHc5dwSF_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=2500&fit=max&auto=format&n=ctb_S1RtHc5dwSF_&q=85&s=3aca62000ea0724d3524d3d29ddd196d 2500w" />
</Frame>

### Configure the Flow node

Add a **Flow** node after the **Step** node to update the `app_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 app_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-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=add35fc018a5a96d81ad6c083753decb" alt="Dashboard > Actions > Forms > Form" data-og-width="1404" width="1404" data-og-height="599" height="599" data-path="docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=280&fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=c12a3f84eca278b97cc4ddde4e24387b 280w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=560&fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=8d9ceb57e3c7681e5b8712d42014cb17 560w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=840&fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=11a3a15086e205dc7058e78d8248bea7 840w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1100&fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=fd36078d6d03be8a47b169d31329b54d 1100w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1650&fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=4acb7fcc1c1e0135e02a5317319d1241 1650w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/1D-Lt5r5I2Kt0XSk/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=2500&fit=max&auto=format&n=1D-Lt5r5I2Kt0XSk&q=85&s=5c2e49987eb90eafac3cc24b75165598 2500w" />
</Frame>

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

1. Select the **Flow** **Update app\_metadata** > **Edit flow** to open the Flow editor in a new tab.
2. Below the StartAction, 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 app\_metadata with the privacy\_policies and privacy\_policies\_timestamp properties.

     ```text lines theme={null}
     {
       "app_metadata": {
         "privacy_policies": true,
         "privacy_policies_timestamp": "{{ functions.toTimestamp() }}"
       }
     }
     ```

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

<Frame>
  <img src="https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/hFFdtxDUq_zWEo9P/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?fit=max&auto=format&n=hFFdtxDUq_zWEo9P&q=85&s=1fe166b40f06a2af692e0e45c584eeb9" alt="Dashboard > Actions > Forms > User case privacy policy code" data-og-width="1404" width="1404" data-og-height="338" height="338" data-path="docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/hFFdtxDUq_zWEo9P/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=280&fit=max&auto=format&n=hFFdtxDUq_zWEo9P&q=85&s=fb17ecfaff7f4d6ddbf1a3c913157fec 280w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/hFFdtxDUq_zWEo9P/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=560&fit=max&auto=format&n=hFFdtxDUq_zWEo9P&q=85&s=42a39df42941342cebaa4bada6f7111a 560w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/hFFdtxDUq_zWEo9P/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=840&fit=max&auto=format&n=hFFdtxDUq_zWEo9P&q=85&s=570f0baad761df0cef2cbdc534fc5ea0 840w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/hFFdtxDUq_zWEo9P/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1100&fit=max&auto=format&n=hFFdtxDUq_zWEo9P&q=85&s=8503da3d901956ce09e5190b9a0c8c8e 1100w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/hFFdtxDUq_zWEo9P/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1650&fit=max&auto=format&n=hFFdtxDUq_zWEo9P&q=85&s=2b39a4f5b12b01fc06cba7e3275b4f95 1650w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/hFFdtxDUq_zWEo9P/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=2500&fit=max&auto=format&n=hFFdtxDUq_zWEo9P&q=85&s=c0904c6750c13e1e793c59621c7675b5 2500w" />
</Frame>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  The flow **Update app\_metadata** adds a `privacy_policies true` value to the app`_metadata` object and also generates a timestamp with a [helper function.](/docs/customize/forms/variables)
</Callout>

## Retrieve the form render code

Retrieve your 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-fix-docs-5605-seo-geo/RDdfoU8kMIBuLZM7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?fit=max&auto=format&n=RDdfoU8kMIBuLZM7&q=85&s=784e85497c2c547c0b31301776f17b4d" 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-fix-docs-5605-seo-geo/RDdfoU8kMIBuLZM7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=280&fit=max&auto=format&n=RDdfoU8kMIBuLZM7&q=85&s=7de8ad4e741761f87006cd53e673c59d 280w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/RDdfoU8kMIBuLZM7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=560&fit=max&auto=format&n=RDdfoU8kMIBuLZM7&q=85&s=78fea2b7c66ce34b503fdeedc902017f 560w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/RDdfoU8kMIBuLZM7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=840&fit=max&auto=format&n=RDdfoU8kMIBuLZM7&q=85&s=2305a1957697fe57c7d772410a2f2dfc 840w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/RDdfoU8kMIBuLZM7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1100&fit=max&auto=format&n=RDdfoU8kMIBuLZM7&q=85&s=6f5f9d0fda4a4479b8ede58b987adc16 1100w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/RDdfoU8kMIBuLZM7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1650&fit=max&auto=format&n=RDdfoU8kMIBuLZM7&q=85&s=419ed2424e60dde56d9eb2a3da00d7da 1650w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/RDdfoU8kMIBuLZM7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=2500&fit=max&auto=format&n=RDdfoU8kMIBuLZM7&q=85&s=2c6d4be4eb12fea02aaa25217109bcab 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 Update Policy 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 render 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.user.app_metadata.privacy_policies !== true) {
       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 is missing the app metadata `privacy_policies` property.
   </Callout>
4. Select **Deploy.**
5. Drag and Drop the **Render Update Policy Form** Action to the **Login** flow.

   <Frame>
     <img src="https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/gzg1qjYdVNLgPe6U/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?fit=max&auto=format&n=gzg1qjYdVNLgPe6U&q=85&s=6b32a21744984c8e3791058d85e029f5" alt="Dashboard > Forms > Use Case > Render update policy form login action" data-og-width="1370" width="1370" data-og-height="668" height="668" data-path="docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/gzg1qjYdVNLgPe6U/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=280&fit=max&auto=format&n=gzg1qjYdVNLgPe6U&q=85&s=1fb2d456fd1e570cf0822f2929611d41 280w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/gzg1qjYdVNLgPe6U/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=560&fit=max&auto=format&n=gzg1qjYdVNLgPe6U&q=85&s=bdf99cba08a48c81a24cc9d972dbabcd 560w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/gzg1qjYdVNLgPe6U/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=840&fit=max&auto=format&n=gzg1qjYdVNLgPe6U&q=85&s=6ca73c6dbd5b41606be7b0ac8bb90e12 840w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/gzg1qjYdVNLgPe6U/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1100&fit=max&auto=format&n=gzg1qjYdVNLgPe6U&q=85&s=a2f6d12000ad1560451b37bbefc9a215 1100w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/gzg1qjYdVNLgPe6U/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1650&fit=max&auto=format&n=gzg1qjYdVNLgPe6U&q=85&s=52bfdbf66bc4e7b62dd0d6d5545de1db 1650w, https://mintcdn.com/docs-dev-fix-docs-5605-seo-geo/gzg1qjYdVNLgPe6U/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=2500&fit=max&auto=format&n=gzg1qjYdVNLgPe6U&q=85&s=ef3cc93963e56f7f1dfd26c089c65df5 2500w" />
   </Frame>
6. Select **Apply.**

### Test implementation

Test the implementation by following these steps:

1. Log in with an existing user whose app`_metadata` attribute `privacy_policies` does not have a value.
2. The post-login Action in the Login flow will render the form and prompt for acceptance.
3. Select **Auth0 Dashboard > User Management > Users,** locate the user and verify that the `app_metadata` attribute `privacy_policies` contains a `true` value and a timestamp.
