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

> Configure an update policy form using Forms for Actions

# 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-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=9f975be59bffaa6316154e7b4a5ac7c9" 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-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=280&fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=2cc568adcba649d42a524a8c9fd5cb7e 280w, https://mintcdn.com/docs-dev-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=560&fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=d96f3a86f01943a2573e0a84b6e27d98 560w, https://mintcdn.com/docs-dev-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=840&fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=ea6cceb2c3d9c6ff9476a21ec802821e 840w, https://mintcdn.com/docs-dev-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1100&fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=e8b2ea4c17971c03b5b6a40aa211897d 1100w, https://mintcdn.com/docs-dev-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1650&fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=4d11d204168722ef4b7632f7e4a62501 1650w, https://mintcdn.com/docs-dev-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=2500&fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=c8bc72ca3b757e75484fef33f72e49d8 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-dr-2812/YG5yWkidhHAuKnmN/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?fit=max&auto=format&n=YG5yWkidhHAuKnmN&q=85&s=53c352c8fa3ccfce8e8db69c77cf5830" 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-dr-2812/YG5yWkidhHAuKnmN/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=280&fit=max&auto=format&n=YG5yWkidhHAuKnmN&q=85&s=5b1556a0c58fe2435a19c4aa27d94c0e 280w, https://mintcdn.com/docs-dev-dr-2812/YG5yWkidhHAuKnmN/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=560&fit=max&auto=format&n=YG5yWkidhHAuKnmN&q=85&s=c098b738b38946aea54a81456e3ca90c 560w, https://mintcdn.com/docs-dev-dr-2812/YG5yWkidhHAuKnmN/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=840&fit=max&auto=format&n=YG5yWkidhHAuKnmN&q=85&s=a6d03e89f1ea071e780f48efe3639ce6 840w, https://mintcdn.com/docs-dev-dr-2812/YG5yWkidhHAuKnmN/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1100&fit=max&auto=format&n=YG5yWkidhHAuKnmN&q=85&s=2cd2f2ff322c07300aafec387c0b04a9 1100w, https://mintcdn.com/docs-dev-dr-2812/YG5yWkidhHAuKnmN/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1650&fit=max&auto=format&n=YG5yWkidhHAuKnmN&q=85&s=f89f23c1fcc0f78816e4c4cb1f3b7875 1650w, https://mintcdn.com/docs-dev-dr-2812/YG5yWkidhHAuKnmN/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=2500&fit=max&auto=format&n=YG5yWkidhHAuKnmN&q=85&s=57a6c68a7b13c3d4f7bc88ba881fe759 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-dr-2812/e71W31voHBE6PTB5/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?fit=max&auto=format&n=e71W31voHBE6PTB5&q=85&s=6649b3cd436662c731d7f4977d948c48" 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-dr-2812/e71W31voHBE6PTB5/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=280&fit=max&auto=format&n=e71W31voHBE6PTB5&q=85&s=293fb1a799bb8d2a889b4e03bf653b0b 280w, https://mintcdn.com/docs-dev-dr-2812/e71W31voHBE6PTB5/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=560&fit=max&auto=format&n=e71W31voHBE6PTB5&q=85&s=505ff0680f312e9f59ae8b1a66561ef4 560w, https://mintcdn.com/docs-dev-dr-2812/e71W31voHBE6PTB5/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=840&fit=max&auto=format&n=e71W31voHBE6PTB5&q=85&s=8e80b616f769612e5482bc7d98144167 840w, https://mintcdn.com/docs-dev-dr-2812/e71W31voHBE6PTB5/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1100&fit=max&auto=format&n=e71W31voHBE6PTB5&q=85&s=575a5c1074ff9c968ce7139bf4fe7780 1100w, https://mintcdn.com/docs-dev-dr-2812/e71W31voHBE6PTB5/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1650&fit=max&auto=format&n=e71W31voHBE6PTB5&q=85&s=ec81779cecf0a1dbdc5a76bc6c82771d 1650w, https://mintcdn.com/docs-dev-dr-2812/e71W31voHBE6PTB5/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=2500&fit=max&auto=format&n=e71W31voHBE6PTB5&q=85&s=aebd1d76aaeb35b586dd4f01e01e7025 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-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=8442127482f955621c4e5215d0f03f0b" 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-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=280&fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=6897637d9614e78c7efec494f9b9107d 280w, https://mintcdn.com/docs-dev-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=560&fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=bbfe050e5b7df290a750b08d2d132ca3 560w, https://mintcdn.com/docs-dev-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=840&fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=1ffad2c5cc9a6447a5186e06b61ad84f 840w, https://mintcdn.com/docs-dev-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1100&fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=745227c5ba17ecd06d2910365919229c 1100w, https://mintcdn.com/docs-dev-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1650&fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=88fa1dc8832e8aa9f1ddc54ff14d2c85 1650w, https://mintcdn.com/docs-dev-dr-2812/c18UhtP2E2nzvC9j/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=2500&fit=max&auto=format&n=c18UhtP2E2nzvC9j&q=85&s=c818ef96adca037440d730fdb06e0e11 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-dr-2812/CLbLM5zNQYJyJYbj/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?fit=max&auto=format&n=CLbLM5zNQYJyJYbj&q=85&s=7980413544225851d372056a7d65fe51" 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-dr-2812/CLbLM5zNQYJyJYbj/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=280&fit=max&auto=format&n=CLbLM5zNQYJyJYbj&q=85&s=081d051c7edca4775a20e1445e8122a1 280w, https://mintcdn.com/docs-dev-dr-2812/CLbLM5zNQYJyJYbj/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=560&fit=max&auto=format&n=CLbLM5zNQYJyJYbj&q=85&s=8f13803c7522e2d9e5fcaed9b561935a 560w, https://mintcdn.com/docs-dev-dr-2812/CLbLM5zNQYJyJYbj/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=840&fit=max&auto=format&n=CLbLM5zNQYJyJYbj&q=85&s=3b1e75f5a5cdfc1d89531704cb5bd6cf 840w, https://mintcdn.com/docs-dev-dr-2812/CLbLM5zNQYJyJYbj/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1100&fit=max&auto=format&n=CLbLM5zNQYJyJYbj&q=85&s=f2aa651aac17e212b9b9a56e01f993fa 1100w, https://mintcdn.com/docs-dev-dr-2812/CLbLM5zNQYJyJYbj/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1650&fit=max&auto=format&n=CLbLM5zNQYJyJYbj&q=85&s=d9497f11ae21c5ed3b86ddf2ea48b7fb 1650w, https://mintcdn.com/docs-dev-dr-2812/CLbLM5zNQYJyJYbj/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=2500&fit=max&auto=format&n=CLbLM5zNQYJyJYbj&q=85&s=2f00cabb49a741b449f1167faab07a65 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-dr-2812/rOGd7IzKD4o-yaGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?fit=max&auto=format&n=rOGd7IzKD4o-yaGF&q=85&s=91be0262f2953ce9d2889e935acee26a" 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-dr-2812/rOGd7IzKD4o-yaGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=280&fit=max&auto=format&n=rOGd7IzKD4o-yaGF&q=85&s=49069998d6f684fd8b2c628f1dfeafed 280w, https://mintcdn.com/docs-dev-dr-2812/rOGd7IzKD4o-yaGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=560&fit=max&auto=format&n=rOGd7IzKD4o-yaGF&q=85&s=4ea42db1ef07045e3e600afe6a7503bb 560w, https://mintcdn.com/docs-dev-dr-2812/rOGd7IzKD4o-yaGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=840&fit=max&auto=format&n=rOGd7IzKD4o-yaGF&q=85&s=c58d2945ad64bce1e25bff87bf9bd212 840w, https://mintcdn.com/docs-dev-dr-2812/rOGd7IzKD4o-yaGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1100&fit=max&auto=format&n=rOGd7IzKD4o-yaGF&q=85&s=a13e14bd9dcd0bcc33e93d105a0df3b7 1100w, https://mintcdn.com/docs-dev-dr-2812/rOGd7IzKD4o-yaGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1650&fit=max&auto=format&n=rOGd7IzKD4o-yaGF&q=85&s=bc09ce4446e04dc4b500ca9fdd2fc160 1650w, https://mintcdn.com/docs-dev-dr-2812/rOGd7IzKD4o-yaGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=2500&fit=max&auto=format&n=rOGd7IzKD4o-yaGF&q=85&s=afdf2657a8f697498a7016fe7b654ed1 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-dr-2812/hEecDbBDyH8HvfR_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?fit=max&auto=format&n=hEecDbBDyH8HvfR_&q=85&s=9b0cf482acbe9ebcfb3ca7a7704e6972" 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-dr-2812/hEecDbBDyH8HvfR_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=280&fit=max&auto=format&n=hEecDbBDyH8HvfR_&q=85&s=62ae7c3489f32fe566dd085edca40db8 280w, https://mintcdn.com/docs-dev-dr-2812/hEecDbBDyH8HvfR_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=560&fit=max&auto=format&n=hEecDbBDyH8HvfR_&q=85&s=2e92ddb196af52dd0c4cb7de0a746539 560w, https://mintcdn.com/docs-dev-dr-2812/hEecDbBDyH8HvfR_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=840&fit=max&auto=format&n=hEecDbBDyH8HvfR_&q=85&s=b0dd41d62e42296fdc54036d9493147c 840w, https://mintcdn.com/docs-dev-dr-2812/hEecDbBDyH8HvfR_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1100&fit=max&auto=format&n=hEecDbBDyH8HvfR_&q=85&s=de77fcddc50b581962943aebc26a6951 1100w, https://mintcdn.com/docs-dev-dr-2812/hEecDbBDyH8HvfR_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1650&fit=max&auto=format&n=hEecDbBDyH8HvfR_&q=85&s=ae73411f00205b903bb1e86ead99a52a 1650w, https://mintcdn.com/docs-dev-dr-2812/hEecDbBDyH8HvfR_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=2500&fit=max&auto=format&n=hEecDbBDyH8HvfR_&q=85&s=bc30f741feddd73bda2267203d2ee687 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.
