> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-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-dev-fix-docs-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=86cae2641534a21f1b7d3a45bf53bb0a" 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-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=280&fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=bbc6566194f18de0ad58c877010bc262 280w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=560&fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=0bb373ac698279761de7b4994b422768 560w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=840&fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=3ecbd3c53bfabc8d3bafff1c576d4f66 840w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1100&fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=a4cbdfbe248462353db91c4e0376b0b5 1100w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1650&fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=f1c50979176db49fb765ef4c38e5bc4d 1650w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=2500&fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=a3f3779065774f966572806ad09d31ad 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-5615-oin-update/2VNFwboo2UzUjeGP/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?fit=max&auto=format&n=2VNFwboo2UzUjeGP&q=85&s=61aa8a7f9a4fa73f728e7e3395792d02" 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-5615-oin-update/2VNFwboo2UzUjeGP/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=280&fit=max&auto=format&n=2VNFwboo2UzUjeGP&q=85&s=d81545334c956837e26a1c0bf5e6f96f 280w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/2VNFwboo2UzUjeGP/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=560&fit=max&auto=format&n=2VNFwboo2UzUjeGP&q=85&s=a26af75563abaf393f16bdfaeb58cda3 560w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/2VNFwboo2UzUjeGP/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=840&fit=max&auto=format&n=2VNFwboo2UzUjeGP&q=85&s=48e070e62fcc8725105abb18fddee94f 840w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/2VNFwboo2UzUjeGP/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1100&fit=max&auto=format&n=2VNFwboo2UzUjeGP&q=85&s=fc7c081241bc917f928c5e72f06845f6 1100w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/2VNFwboo2UzUjeGP/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1650&fit=max&auto=format&n=2VNFwboo2UzUjeGP&q=85&s=a29c82cdd9838b660443efa67fcb9e63 1650w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/2VNFwboo2UzUjeGP/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=2500&fit=max&auto=format&n=2VNFwboo2UzUjeGP&q=85&s=709506dc632afef3007f8b241d7fc576 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-5615-oin-update/4iSQv6x4kz4qffWz/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?fit=max&auto=format&n=4iSQv6x4kz4qffWz&q=85&s=67b9d46e8c0336cdaad4bf351d87024e" 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-5615-oin-update/4iSQv6x4kz4qffWz/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=280&fit=max&auto=format&n=4iSQv6x4kz4qffWz&q=85&s=baa93e785a5a60369cad0b10e17ae4a0 280w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/4iSQv6x4kz4qffWz/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=560&fit=max&auto=format&n=4iSQv6x4kz4qffWz&q=85&s=2fd150fe9033277754cd84e53adf1c22 560w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/4iSQv6x4kz4qffWz/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=840&fit=max&auto=format&n=4iSQv6x4kz4qffWz&q=85&s=65d3366340977bd7f97248988ddca7e0 840w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/4iSQv6x4kz4qffWz/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1100&fit=max&auto=format&n=4iSQv6x4kz4qffWz&q=85&s=2654d1d931e7d5982e25c1c7f4da1130 1100w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/4iSQv6x4kz4qffWz/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1650&fit=max&auto=format&n=4iSQv6x4kz4qffWz&q=85&s=f8e8b3d69975666ae7b885fdbdee2030 1650w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/4iSQv6x4kz4qffWz/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=2500&fit=max&auto=format&n=4iSQv6x4kz4qffWz&q=85&s=936e7e40da53ea9bb27c6cc8125e384f 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-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=3a5c5416b0081f9f48c6c5878900dbe1" 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-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=280&fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=a21a10b41b9194ccec02825ec2b030ce 280w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=560&fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=8dc717d88cdb486f4013e50e25c2ecf7 560w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=840&fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=19d3e8ff4582bfaa2cc3df68dae9b290 840w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1100&fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=71dd9ff77928fba2980aeda14cbb79ca 1100w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1650&fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=4fd794e9ccc0f02c866b21b8e73648b3 1650w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/8jGffKCbQH3F162y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=2500&fit=max&auto=format&n=8jGffKCbQH3F162y&q=85&s=83e5793c93eea255bd2062f89b7de564 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-5615-oin-update/ZglcuROEz7fKsCpu/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?fit=max&auto=format&n=ZglcuROEz7fKsCpu&q=85&s=a4ea3cb6a81a396ff438c17562e06aa2" 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-5615-oin-update/ZglcuROEz7fKsCpu/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=280&fit=max&auto=format&n=ZglcuROEz7fKsCpu&q=85&s=88505091e70191b39e4476aca45b4006 280w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/ZglcuROEz7fKsCpu/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=560&fit=max&auto=format&n=ZglcuROEz7fKsCpu&q=85&s=692f0bba50936e7684f1dc828b82ca0d 560w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/ZglcuROEz7fKsCpu/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=840&fit=max&auto=format&n=ZglcuROEz7fKsCpu&q=85&s=dabc907d5498ac65134f25de89694946 840w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/ZglcuROEz7fKsCpu/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1100&fit=max&auto=format&n=ZglcuROEz7fKsCpu&q=85&s=25de766b85580bba8df5f1dccb6c755a 1100w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/ZglcuROEz7fKsCpu/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1650&fit=max&auto=format&n=ZglcuROEz7fKsCpu&q=85&s=3ac5c72808d22b40b4e433fd8f686c54 1650w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/ZglcuROEz7fKsCpu/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=2500&fit=max&auto=format&n=ZglcuROEz7fKsCpu&q=85&s=f77e1393bed667ba49aacd008521180a 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-5615-oin-update/ABQMBv8Xn3SnaQ44/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?fit=max&auto=format&n=ABQMBv8Xn3SnaQ44&q=85&s=12bf6c1cc6967a0dc1f76a5d9a9d80e2" 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-5615-oin-update/ABQMBv8Xn3SnaQ44/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=280&fit=max&auto=format&n=ABQMBv8Xn3SnaQ44&q=85&s=8fbadd1d9d32fd3155b18798d50e1c61 280w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/ABQMBv8Xn3SnaQ44/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=560&fit=max&auto=format&n=ABQMBv8Xn3SnaQ44&q=85&s=636d0e1b6ba367da0f06f94c687538e3 560w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/ABQMBv8Xn3SnaQ44/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=840&fit=max&auto=format&n=ABQMBv8Xn3SnaQ44&q=85&s=df7f5ebe34c7370cfd9341314f3f11f1 840w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/ABQMBv8Xn3SnaQ44/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1100&fit=max&auto=format&n=ABQMBv8Xn3SnaQ44&q=85&s=528f0864968cf12af94d4a4079e558e5 1100w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/ABQMBv8Xn3SnaQ44/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1650&fit=max&auto=format&n=ABQMBv8Xn3SnaQ44&q=85&s=f086af18cb50561bf7294fc021425517 1650w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/ABQMBv8Xn3SnaQ44/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=2500&fit=max&auto=format&n=ABQMBv8Xn3SnaQ44&q=85&s=43015b3e234b53f43876f92a8d890c9b 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-5615-oin-update/EwYSOcnoqzpnhYxP/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?fit=max&auto=format&n=EwYSOcnoqzpnhYxP&q=85&s=087dda7e753781eb223f05da1b15960d" 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-5615-oin-update/EwYSOcnoqzpnhYxP/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=280&fit=max&auto=format&n=EwYSOcnoqzpnhYxP&q=85&s=06fcc96dc43e997e26131c1bb725f211 280w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/EwYSOcnoqzpnhYxP/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=560&fit=max&auto=format&n=EwYSOcnoqzpnhYxP&q=85&s=80e5df0fd25bc910d0372027796dc836 560w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/EwYSOcnoqzpnhYxP/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=840&fit=max&auto=format&n=EwYSOcnoqzpnhYxP&q=85&s=4b9b9bc2a317b80c1de2f313e5775e6e 840w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/EwYSOcnoqzpnhYxP/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1100&fit=max&auto=format&n=EwYSOcnoqzpnhYxP&q=85&s=dfcb50c9e55d89e2bbcba62d3cbd065a 1100w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/EwYSOcnoqzpnhYxP/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1650&fit=max&auto=format&n=EwYSOcnoqzpnhYxP&q=85&s=0a1c4076d30f85d16e7cb7b01f34cfda 1650w, https://mintcdn.com/docs-dev-fix-docs-5615-oin-update/EwYSOcnoqzpnhYxP/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=2500&fit=max&auto=format&n=EwYSOcnoqzpnhYxP&q=85&s=5fe4a601145e26f93aa17996309afbdb 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.
