> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging-docs-5625.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-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=19e7f60942fe92a25cbcac31256249c5" 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-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=280&fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=378f460178daf013918c2b11ce2f77a1 280w, https://mintcdn.com/docs-staging-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=560&fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=af171015383617ed8da8c9f6033ec3e4 560w, https://mintcdn.com/docs-staging-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=840&fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=7e99bba6dd2992d43d62e23d66ad5b1d 840w, https://mintcdn.com/docs-staging-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1100&fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=6ad1152d48099cbb7e3d950bd9bd493b 1100w, https://mintcdn.com/docs-staging-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1650&fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=bc5d5baf52f31ab852b75d249f719223 1650w, https://mintcdn.com/docs-staging-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=2500&fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=ba5714b516bcf31b903e989087cb2f92 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-docs-5625/u1f8LrN8_22wdapa/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?fit=max&auto=format&n=u1f8LrN8_22wdapa&q=85&s=adfadad21e8987d7251ef6935093e53e" 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-docs-5625/u1f8LrN8_22wdapa/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=280&fit=max&auto=format&n=u1f8LrN8_22wdapa&q=85&s=76184f857173595d52eeab579962779f 280w, https://mintcdn.com/docs-staging-docs-5625/u1f8LrN8_22wdapa/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=560&fit=max&auto=format&n=u1f8LrN8_22wdapa&q=85&s=8507d26403671575991efd54652ef7ec 560w, https://mintcdn.com/docs-staging-docs-5625/u1f8LrN8_22wdapa/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=840&fit=max&auto=format&n=u1f8LrN8_22wdapa&q=85&s=cafa73148a4a2151dc5733597d2cc44d 840w, https://mintcdn.com/docs-staging-docs-5625/u1f8LrN8_22wdapa/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1100&fit=max&auto=format&n=u1f8LrN8_22wdapa&q=85&s=3304b1a235c06efa7c53b769d37ab4e3 1100w, https://mintcdn.com/docs-staging-docs-5625/u1f8LrN8_22wdapa/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1650&fit=max&auto=format&n=u1f8LrN8_22wdapa&q=85&s=30d6174cf4cb7d8b3b810f256a8beec4 1650w, https://mintcdn.com/docs-staging-docs-5625/u1f8LrN8_22wdapa/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=2500&fit=max&auto=format&n=u1f8LrN8_22wdapa&q=85&s=59d7a2a16d8a8103416ac7e9eedb7f41 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-docs-5625/aCHxTbyFylokk0AU/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?fit=max&auto=format&n=aCHxTbyFylokk0AU&q=85&s=0edf080fd6b8aa83fdbf0210b1af13bb" 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-docs-5625/aCHxTbyFylokk0AU/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=280&fit=max&auto=format&n=aCHxTbyFylokk0AU&q=85&s=32ad943b6bbf2bd2dbcf6ea61245f8f4 280w, https://mintcdn.com/docs-staging-docs-5625/aCHxTbyFylokk0AU/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=560&fit=max&auto=format&n=aCHxTbyFylokk0AU&q=85&s=ab447b1ee18de3d88a8afb7e24338ff5 560w, https://mintcdn.com/docs-staging-docs-5625/aCHxTbyFylokk0AU/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=840&fit=max&auto=format&n=aCHxTbyFylokk0AU&q=85&s=f8e9926de2449b45899a6a6c3b535d5f 840w, https://mintcdn.com/docs-staging-docs-5625/aCHxTbyFylokk0AU/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1100&fit=max&auto=format&n=aCHxTbyFylokk0AU&q=85&s=db5b9ce33b71c1b910db1968501ef2c9 1100w, https://mintcdn.com/docs-staging-docs-5625/aCHxTbyFylokk0AU/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1650&fit=max&auto=format&n=aCHxTbyFylokk0AU&q=85&s=9776901ec2bb39b2a001a8dba7d158d5 1650w, https://mintcdn.com/docs-staging-docs-5625/aCHxTbyFylokk0AU/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=2500&fit=max&auto=format&n=aCHxTbyFylokk0AU&q=85&s=34be4c9ee257057455e450c12de36e48 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-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=4cc98ab8e403afa24343646466d9a590" 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-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=280&fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=c914b4d339018a8827ea53b0783e2937 280w, https://mintcdn.com/docs-staging-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=560&fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=423b534f5346585d3af45518c0baba05 560w, https://mintcdn.com/docs-staging-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=840&fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=1a90cb884b416d111728a23b79dcd0e0 840w, https://mintcdn.com/docs-staging-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1100&fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=052aab41fdc2bd7eeb88bf0a2d21c39e 1100w, https://mintcdn.com/docs-staging-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1650&fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=9be36efec495d18d19dc03843dcf9e35 1650w, https://mintcdn.com/docs-staging-docs-5625/1zv1vOcz66r9b-Qe/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=2500&fit=max&auto=format&n=1zv1vOcz66r9b-Qe&q=85&s=ce262f2387b33549f182e825a122c94b 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-docs-5625/0h2bOfOzxm4JcrJM/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?fit=max&auto=format&n=0h2bOfOzxm4JcrJM&q=85&s=2446e5856995ccd17972d8902391aa33" 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-docs-5625/0h2bOfOzxm4JcrJM/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=280&fit=max&auto=format&n=0h2bOfOzxm4JcrJM&q=85&s=9b9941009d84d850acf1a98dd5597fdc 280w, https://mintcdn.com/docs-staging-docs-5625/0h2bOfOzxm4JcrJM/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=560&fit=max&auto=format&n=0h2bOfOzxm4JcrJM&q=85&s=637fa1cc0e61fdf391e2a786a3460df8 560w, https://mintcdn.com/docs-staging-docs-5625/0h2bOfOzxm4JcrJM/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=840&fit=max&auto=format&n=0h2bOfOzxm4JcrJM&q=85&s=546ac6d6e2d5d6230781b923404e233d 840w, https://mintcdn.com/docs-staging-docs-5625/0h2bOfOzxm4JcrJM/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1100&fit=max&auto=format&n=0h2bOfOzxm4JcrJM&q=85&s=6c811d6a2de5f7ff3a3823250ef0f622 1100w, https://mintcdn.com/docs-staging-docs-5625/0h2bOfOzxm4JcrJM/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1650&fit=max&auto=format&n=0h2bOfOzxm4JcrJM&q=85&s=3f6bbce743c3bd9e4cb3d5d8baf5a061 1650w, https://mintcdn.com/docs-staging-docs-5625/0h2bOfOzxm4JcrJM/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=2500&fit=max&auto=format&n=0h2bOfOzxm4JcrJM&q=85&s=ef864110e544c698bae8f9c3719b6314 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-docs-5625/kIafRrF_i0ufdi-0/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?fit=max&auto=format&n=kIafRrF_i0ufdi-0&q=85&s=1a9d342ffe4e2ce05659cdd627e6c1b3" 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-docs-5625/kIafRrF_i0ufdi-0/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=280&fit=max&auto=format&n=kIafRrF_i0ufdi-0&q=85&s=94cd2da4d946a75bdfe6656b8231a9b6 280w, https://mintcdn.com/docs-staging-docs-5625/kIafRrF_i0ufdi-0/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=560&fit=max&auto=format&n=kIafRrF_i0ufdi-0&q=85&s=50a8fe3d9b264f98b7626d49d3429a6c 560w, https://mintcdn.com/docs-staging-docs-5625/kIafRrF_i0ufdi-0/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=840&fit=max&auto=format&n=kIafRrF_i0ufdi-0&q=85&s=7b8ebb49eba55a3803456965d26d4639 840w, https://mintcdn.com/docs-staging-docs-5625/kIafRrF_i0ufdi-0/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1100&fit=max&auto=format&n=kIafRrF_i0ufdi-0&q=85&s=731267c310fc16979c49633272951a9e 1100w, https://mintcdn.com/docs-staging-docs-5625/kIafRrF_i0ufdi-0/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1650&fit=max&auto=format&n=kIafRrF_i0ufdi-0&q=85&s=60171528f7cfa8a1a4c2478174282f46 1650w, https://mintcdn.com/docs-staging-docs-5625/kIafRrF_i0ufdi-0/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=2500&fit=max&auto=format&n=kIafRrF_i0ufdi-0&q=85&s=537896f86a4ce42ab06d89f894aa66a8 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-docs-5625/yrI6LxUqvZygMVZI/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?fit=max&auto=format&n=yrI6LxUqvZygMVZI&q=85&s=e8a9cceeb0cd5189317b40b81f53f123" 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-docs-5625/yrI6LxUqvZygMVZI/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=280&fit=max&auto=format&n=yrI6LxUqvZygMVZI&q=85&s=768eab9cd79b95cb97613e581549cc48 280w, https://mintcdn.com/docs-staging-docs-5625/yrI6LxUqvZygMVZI/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=560&fit=max&auto=format&n=yrI6LxUqvZygMVZI&q=85&s=55867b87a6edc5c4735bd0d256d350dd 560w, https://mintcdn.com/docs-staging-docs-5625/yrI6LxUqvZygMVZI/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=840&fit=max&auto=format&n=yrI6LxUqvZygMVZI&q=85&s=141b8fcde5236714bcf7052fe38de45c 840w, https://mintcdn.com/docs-staging-docs-5625/yrI6LxUqvZygMVZI/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1100&fit=max&auto=format&n=yrI6LxUqvZygMVZI&q=85&s=9ea14ffe4e2be394c168abd197ee6980 1100w, https://mintcdn.com/docs-staging-docs-5625/yrI6LxUqvZygMVZI/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1650&fit=max&auto=format&n=yrI6LxUqvZygMVZI&q=85&s=a88a3b3ea5b63e4a9da1b9e875dc363b 1650w, https://mintcdn.com/docs-staging-docs-5625/yrI6LxUqvZygMVZI/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=2500&fit=max&auto=format&n=yrI6LxUqvZygMVZI&q=85&s=649e74b3bc60a448c97905a7b33adb7e 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.
