> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging-fix-docs-5615-oin-update.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-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=b9341054d18e48bb72bf9b34301f42d9" 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-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=280&fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=1d85c4cd839f9fa8271604828ee43f68 280w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=560&fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=b9d992e8b8e9f230325afefbd3cb24ed 560w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=840&fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=153313ea2112ba62e2e1ce22f989314a 840w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1100&fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=7b4f718db8a9d889f799e767327d9e6b 1100w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1650&fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=0ef61fe053849f5715dd4365c7285aae 1650w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=2500&fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=87501d2d3d8ccccf11caf376f50f2faf 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-staging-fix-docs-5615-oin-update/-8fz40XS79LUMoGe/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?fit=max&auto=format&n=-8fz40XS79LUMoGe&q=85&s=2d2af959afbe717b2738328fd2fd61df" 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-staging-fix-docs-5615-oin-update/-8fz40XS79LUMoGe/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=280&fit=max&auto=format&n=-8fz40XS79LUMoGe&q=85&s=443585f0aa75fddb7d6aa9ae34a0ffab 280w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/-8fz40XS79LUMoGe/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=560&fit=max&auto=format&n=-8fz40XS79LUMoGe&q=85&s=984ba2bdbbe3b2327674cd543c81594b 560w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/-8fz40XS79LUMoGe/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=840&fit=max&auto=format&n=-8fz40XS79LUMoGe&q=85&s=cccea1027d8efb86a2fc960ad40bcd34 840w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/-8fz40XS79LUMoGe/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1100&fit=max&auto=format&n=-8fz40XS79LUMoGe&q=85&s=a46c1a3213717e5ca302501439dcd2d0 1100w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/-8fz40XS79LUMoGe/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1650&fit=max&auto=format&n=-8fz40XS79LUMoGe&q=85&s=7cb27afe303b6b1d95ba2dfea7b3c1e5 1650w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/-8fz40XS79LUMoGe/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=2500&fit=max&auto=format&n=-8fz40XS79LUMoGe&q=85&s=73efefd53ee7d8f3e97c6cd6c9d5fee2 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-staging-fix-docs-5615-oin-update/lgZFq_7SJqFVmhN_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?fit=max&auto=format&n=lgZFq_7SJqFVmhN_&q=85&s=ab4cbf84896271406ec9d44be22101a3" 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-staging-fix-docs-5615-oin-update/lgZFq_7SJqFVmhN_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=280&fit=max&auto=format&n=lgZFq_7SJqFVmhN_&q=85&s=2cd1c08b0b26ce7f7d12add9e742abd4 280w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/lgZFq_7SJqFVmhN_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=560&fit=max&auto=format&n=lgZFq_7SJqFVmhN_&q=85&s=5f0d60cab3ae0fb8f3a4b41631b923c6 560w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/lgZFq_7SJqFVmhN_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=840&fit=max&auto=format&n=lgZFq_7SJqFVmhN_&q=85&s=30a596530a22d413934d90cce2043284 840w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/lgZFq_7SJqFVmhN_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1100&fit=max&auto=format&n=lgZFq_7SJqFVmhN_&q=85&s=6b2d361095f6415d37129672efa53560 1100w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/lgZFq_7SJqFVmhN_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1650&fit=max&auto=format&n=lgZFq_7SJqFVmhN_&q=85&s=b23b92727d8979ca8c971cbf09855c5c 1650w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/lgZFq_7SJqFVmhN_/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=2500&fit=max&auto=format&n=lgZFq_7SJqFVmhN_&q=85&s=8ea17aab90585602bda38f7bfbce619f 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-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=d87e9bc89308410359a23ffd6a0b950b" 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-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=280&fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=080d695a49caa1c472c24753b078f7c0 280w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=560&fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=db22982810a1fa265cc543bb0995628e 560w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=840&fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=cd9803dc7e454f4039f5e1873b5262d5 840w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1100&fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=75b5614f33aaa97491228d7bbc731498 1100w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1650&fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=dc21b1450095e654ea38bebf0702b006 1650w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/xR0zwngnfKr4TmaP/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=2500&fit=max&auto=format&n=xR0zwngnfKr4TmaP&q=85&s=18a642f5cd70a91b696acc42e9500065 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-staging-fix-docs-5615-oin-update/t2vU1v3fYsxw_koJ/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?fit=max&auto=format&n=t2vU1v3fYsxw_koJ&q=85&s=8b0fb406064a67e338c832a6a756415a" 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-staging-fix-docs-5615-oin-update/t2vU1v3fYsxw_koJ/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=280&fit=max&auto=format&n=t2vU1v3fYsxw_koJ&q=85&s=7973206e6d40584dffcaf3d687b7ed39 280w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/t2vU1v3fYsxw_koJ/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=560&fit=max&auto=format&n=t2vU1v3fYsxw_koJ&q=85&s=5ec708302fa74ca47b253a2956fddcd9 560w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/t2vU1v3fYsxw_koJ/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=840&fit=max&auto=format&n=t2vU1v3fYsxw_koJ&q=85&s=8538510501595df2c5e9d0a5ea77a3fe 840w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/t2vU1v3fYsxw_koJ/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1100&fit=max&auto=format&n=t2vU1v3fYsxw_koJ&q=85&s=4ad3ecb74aebc6d99cc7be9bab9cf323 1100w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/t2vU1v3fYsxw_koJ/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1650&fit=max&auto=format&n=t2vU1v3fYsxw_koJ&q=85&s=c4e67176fcffad228ded6188733f1963 1650w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/t2vU1v3fYsxw_koJ/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=2500&fit=max&auto=format&n=t2vU1v3fYsxw_koJ&q=85&s=4e5b59fc8834364f1537325d7313a001 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-staging-fix-docs-5615-oin-update/X3EixnBb7j2pm2D7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?fit=max&auto=format&n=X3EixnBb7j2pm2D7&q=85&s=e95e134ffcab243a734c4333320c07e4" 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-staging-fix-docs-5615-oin-update/X3EixnBb7j2pm2D7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=280&fit=max&auto=format&n=X3EixnBb7j2pm2D7&q=85&s=7fd1c9bacf6f4e91c3f8309a0701e01b 280w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/X3EixnBb7j2pm2D7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=560&fit=max&auto=format&n=X3EixnBb7j2pm2D7&q=85&s=9039657832933a6ef353ea1004eac4ca 560w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/X3EixnBb7j2pm2D7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=840&fit=max&auto=format&n=X3EixnBb7j2pm2D7&q=85&s=66382ae154a185b7c7c9b90214f2498b 840w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/X3EixnBb7j2pm2D7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1100&fit=max&auto=format&n=X3EixnBb7j2pm2D7&q=85&s=2d511feed78f5d6ab213d69d51c6f481 1100w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/X3EixnBb7j2pm2D7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1650&fit=max&auto=format&n=X3EixnBb7j2pm2D7&q=85&s=646c0e20482cd59ba5230ede75c60a1d 1650w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/X3EixnBb7j2pm2D7/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=2500&fit=max&auto=format&n=X3EixnBb7j2pm2D7&q=85&s=c3c09244bbff75754e8b007dda956477 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-staging-fix-docs-5615-oin-update/mSNQMbUUMff4WXd2/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?fit=max&auto=format&n=mSNQMbUUMff4WXd2&q=85&s=4cf00d8b206ca05acaa9807d376afc08" 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-staging-fix-docs-5615-oin-update/mSNQMbUUMff4WXd2/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=280&fit=max&auto=format&n=mSNQMbUUMff4WXd2&q=85&s=4b09f23b7b7674f2dfedf712a409b109 280w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/mSNQMbUUMff4WXd2/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=560&fit=max&auto=format&n=mSNQMbUUMff4WXd2&q=85&s=c36f57a6077b0c2924d30fcfc8006ad1 560w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/mSNQMbUUMff4WXd2/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=840&fit=max&auto=format&n=mSNQMbUUMff4WXd2&q=85&s=286b15ba90bef1a6ca5c509be8cdf357 840w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/mSNQMbUUMff4WXd2/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1100&fit=max&auto=format&n=mSNQMbUUMff4WXd2&q=85&s=f4709c7d5bd0ccbe32a50d40da24ff9d 1100w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/mSNQMbUUMff4WXd2/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1650&fit=max&auto=format&n=mSNQMbUUMff4WXd2&q=85&s=4a2cb2331c776c6ef751f956279ac80d 1650w, https://mintcdn.com/docs-staging-fix-docs-5615-oin-update/mSNQMbUUMff4WXd2/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=2500&fit=max&auto=format&n=mSNQMbUUMff4WXd2&q=85&s=77a7a8497bef557a112716b332bb0ce3 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.
