> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-automated-sdk-version-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-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=88d849c51d50a6541ab72a6e11292344" 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-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=280&fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=d64697132caa8e6753fbd9866c7edd49 280w, https://mintcdn.com/docs-dev-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=560&fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=b98d41a91585263969b1b63b9b7895cc 560w, https://mintcdn.com/docs-dev-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=840&fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=5236a5a5d705f0461b674c3c5625d5be 840w, https://mintcdn.com/docs-dev-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1100&fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=c7b198372c4ce5dccd73e860c915feda 1100w, https://mintcdn.com/docs-dev-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1650&fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=02df8ab3fcaf6ba224d6899cc78b1300 1650w, https://mintcdn.com/docs-dev-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=2500&fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=a2afa834d72da7968e7395261c612911 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-automated-sdk-version-update/XtlkkDPWgoXYN4dm/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?fit=max&auto=format&n=XtlkkDPWgoXYN4dm&q=85&s=a2fdcbb567931f9382df7d9b2bfb6faf" 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-automated-sdk-version-update/XtlkkDPWgoXYN4dm/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=280&fit=max&auto=format&n=XtlkkDPWgoXYN4dm&q=85&s=d2c9e3051c0b2d45c9f157a477e1d669 280w, https://mintcdn.com/docs-dev-automated-sdk-version-update/XtlkkDPWgoXYN4dm/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=560&fit=max&auto=format&n=XtlkkDPWgoXYN4dm&q=85&s=ea2abf46fedb7f642099d646481e2f5f 560w, https://mintcdn.com/docs-dev-automated-sdk-version-update/XtlkkDPWgoXYN4dm/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=840&fit=max&auto=format&n=XtlkkDPWgoXYN4dm&q=85&s=d31419439be9971b17372fda8a46b5f9 840w, https://mintcdn.com/docs-dev-automated-sdk-version-update/XtlkkDPWgoXYN4dm/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1100&fit=max&auto=format&n=XtlkkDPWgoXYN4dm&q=85&s=57fd5022dd9a4330326e172d30d087b8 1100w, https://mintcdn.com/docs-dev-automated-sdk-version-update/XtlkkDPWgoXYN4dm/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1650&fit=max&auto=format&n=XtlkkDPWgoXYN4dm&q=85&s=9c621249934d6aa27baf1b4b529b30f5 1650w, https://mintcdn.com/docs-dev-automated-sdk-version-update/XtlkkDPWgoXYN4dm/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=2500&fit=max&auto=format&n=XtlkkDPWgoXYN4dm&q=85&s=814dc41af576938fc0e6d74652d1c4e2 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-automated-sdk-version-update/Mfscn3OW_ziJkv7Y/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?fit=max&auto=format&n=Mfscn3OW_ziJkv7Y&q=85&s=55d4584cbc4a866bf6c0da4ace76051a" 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-automated-sdk-version-update/Mfscn3OW_ziJkv7Y/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=280&fit=max&auto=format&n=Mfscn3OW_ziJkv7Y&q=85&s=6f49f527df9ae60356da28fd0587d99e 280w, https://mintcdn.com/docs-dev-automated-sdk-version-update/Mfscn3OW_ziJkv7Y/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=560&fit=max&auto=format&n=Mfscn3OW_ziJkv7Y&q=85&s=5e3cc19d89e906eef9024994fbcad686 560w, https://mintcdn.com/docs-dev-automated-sdk-version-update/Mfscn3OW_ziJkv7Y/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=840&fit=max&auto=format&n=Mfscn3OW_ziJkv7Y&q=85&s=cb9785948260b402edec9fbbe8155826 840w, https://mintcdn.com/docs-dev-automated-sdk-version-update/Mfscn3OW_ziJkv7Y/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1100&fit=max&auto=format&n=Mfscn3OW_ziJkv7Y&q=85&s=8c0d9217450ef64a9279c0192350dcdb 1100w, https://mintcdn.com/docs-dev-automated-sdk-version-update/Mfscn3OW_ziJkv7Y/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1650&fit=max&auto=format&n=Mfscn3OW_ziJkv7Y&q=85&s=0d287ed9e61a0635189a441fc7889870 1650w, https://mintcdn.com/docs-dev-automated-sdk-version-update/Mfscn3OW_ziJkv7Y/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=2500&fit=max&auto=format&n=Mfscn3OW_ziJkv7Y&q=85&s=99ea1e2a297e330ab19e35fca25f3575 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-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=c39e0103ca1909ce5c8baf151db63d76" 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-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=280&fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=921157600c86c0a0fb476d2b3f97585b 280w, https://mintcdn.com/docs-dev-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=560&fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=832413521495aa0b8454f86f6d9f58dd 560w, https://mintcdn.com/docs-dev-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=840&fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=27f7b2b96843d0c2f508b3bab257edfa 840w, https://mintcdn.com/docs-dev-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1100&fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=95a2e09406b3757ed792f66ac1ac1126 1100w, https://mintcdn.com/docs-dev-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1650&fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=2b0ef7f94ccada2be7c330de404764dc 1650w, https://mintcdn.com/docs-dev-automated-sdk-version-update/vHDfUj4FGE_wNVo5/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=2500&fit=max&auto=format&n=vHDfUj4FGE_wNVo5&q=85&s=48a1c2264e0d9ab2000d101b57ddfa35 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-automated-sdk-version-update/SbTD7cWLjlRajLDP/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?fit=max&auto=format&n=SbTD7cWLjlRajLDP&q=85&s=3be99d162ae0380122b1df6f6e679f98" 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-automated-sdk-version-update/SbTD7cWLjlRajLDP/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=280&fit=max&auto=format&n=SbTD7cWLjlRajLDP&q=85&s=70ec66052e5cd89076a1c62a0c801b31 280w, https://mintcdn.com/docs-dev-automated-sdk-version-update/SbTD7cWLjlRajLDP/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=560&fit=max&auto=format&n=SbTD7cWLjlRajLDP&q=85&s=1ede1e748866c4e72d9633ae2a31d78f 560w, https://mintcdn.com/docs-dev-automated-sdk-version-update/SbTD7cWLjlRajLDP/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=840&fit=max&auto=format&n=SbTD7cWLjlRajLDP&q=85&s=3824d4adc118c83580acd4c2180de48e 840w, https://mintcdn.com/docs-dev-automated-sdk-version-update/SbTD7cWLjlRajLDP/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1100&fit=max&auto=format&n=SbTD7cWLjlRajLDP&q=85&s=26a1329093363d8fe200762bce505d8a 1100w, https://mintcdn.com/docs-dev-automated-sdk-version-update/SbTD7cWLjlRajLDP/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1650&fit=max&auto=format&n=SbTD7cWLjlRajLDP&q=85&s=3b6a74a4daffb5ae40988cb4d6b3f2f5 1650w, https://mintcdn.com/docs-dev-automated-sdk-version-update/SbTD7cWLjlRajLDP/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=2500&fit=max&auto=format&n=SbTD7cWLjlRajLDP&q=85&s=ae604875e2b0c94df4f5167cb7072dc8 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-automated-sdk-version-update/xGD4meEcK8k3YKGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?fit=max&auto=format&n=xGD4meEcK8k3YKGF&q=85&s=e4be5a21f08f50132c3a6c0c950c350e" 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-automated-sdk-version-update/xGD4meEcK8k3YKGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=280&fit=max&auto=format&n=xGD4meEcK8k3YKGF&q=85&s=32634b9d78580be3b77d6a5c51e13672 280w, https://mintcdn.com/docs-dev-automated-sdk-version-update/xGD4meEcK8k3YKGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=560&fit=max&auto=format&n=xGD4meEcK8k3YKGF&q=85&s=423d83ca6d7b2fa9ca810981055e3d67 560w, https://mintcdn.com/docs-dev-automated-sdk-version-update/xGD4meEcK8k3YKGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=840&fit=max&auto=format&n=xGD4meEcK8k3YKGF&q=85&s=1eb6fdc4b9bf3fa3526e581971da635f 840w, https://mintcdn.com/docs-dev-automated-sdk-version-update/xGD4meEcK8k3YKGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1100&fit=max&auto=format&n=xGD4meEcK8k3YKGF&q=85&s=7f9719904995b34b85edfd5d136e633d 1100w, https://mintcdn.com/docs-dev-automated-sdk-version-update/xGD4meEcK8k3YKGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1650&fit=max&auto=format&n=xGD4meEcK8k3YKGF&q=85&s=85924a8d8bb83eeae67096dd378244f1 1650w, https://mintcdn.com/docs-dev-automated-sdk-version-update/xGD4meEcK8k3YKGF/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=2500&fit=max&auto=format&n=xGD4meEcK8k3YKGF&q=85&s=cf5ae84b2614c221e68ddafc3292c0af 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-automated-sdk-version-update/PdV8z1fnveWOkRs_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?fit=max&auto=format&n=PdV8z1fnveWOkRs_&q=85&s=dcf93bd8a0b301428502f31661cfbd33" 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-automated-sdk-version-update/PdV8z1fnveWOkRs_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=280&fit=max&auto=format&n=PdV8z1fnveWOkRs_&q=85&s=b31e1cbcf9eff23f4c480b34c9ba3bb5 280w, https://mintcdn.com/docs-dev-automated-sdk-version-update/PdV8z1fnveWOkRs_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=560&fit=max&auto=format&n=PdV8z1fnveWOkRs_&q=85&s=1ba58570e4dadbf249458f9cd6056e31 560w, https://mintcdn.com/docs-dev-automated-sdk-version-update/PdV8z1fnveWOkRs_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=840&fit=max&auto=format&n=PdV8z1fnveWOkRs_&q=85&s=cb78828e49441bbf92343678555fdfa0 840w, https://mintcdn.com/docs-dev-automated-sdk-version-update/PdV8z1fnveWOkRs_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1100&fit=max&auto=format&n=PdV8z1fnveWOkRs_&q=85&s=5f5f3c7c73c52d170e94f762432b198e 1100w, https://mintcdn.com/docs-dev-automated-sdk-version-update/PdV8z1fnveWOkRs_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1650&fit=max&auto=format&n=PdV8z1fnveWOkRs_&q=85&s=d42f943d90ea2863ecac5ffe6696ba2e 1650w, https://mintcdn.com/docs-dev-automated-sdk-version-update/PdV8z1fnveWOkRs_/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=2500&fit=max&auto=format&n=PdV8z1fnveWOkRs_&q=85&s=9ad1d64bb0c337ef70de4c96a3075ff6 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.
