> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging-fix-docs-5605-seo-geo.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-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=a55ac0cb0c7080ba1d2bc8ec9fb33731" 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-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=280&fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=d9104862c2857b60b95925ff5d414eb4 280w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=560&fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=f4b6099856c73fc557813d513a6c9db0 560w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=840&fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=244822bfd82edf98a5fc38107342bd34 840w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1100&fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=8f7ad4ec103fba7d005cc61818e0fac0 1100w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=1650&fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=9f2a7b8c62545ed62aaabad997c94b26 1650w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6i68dMvHDTijfRmSgN1x8Q/ad900e7d4c0fb34645921435472b8684/privavy-policy-form.png?w=2500&fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=08cb98d1de490dee0f635e74ee757ea2 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-5605-seo-geo/hpkMle10oGTDtqkC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?fit=max&auto=format&n=hpkMle10oGTDtqkC&q=85&s=6c11fa1c7adadcb630f104dc0d3fcfc3" 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-5605-seo-geo/hpkMle10oGTDtqkC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=280&fit=max&auto=format&n=hpkMle10oGTDtqkC&q=85&s=9a18a8cbbea79e243f75beabf01796a9 280w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/hpkMle10oGTDtqkC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=560&fit=max&auto=format&n=hpkMle10oGTDtqkC&q=85&s=5c1c31f94fe0554a0f63cf2e48eedb8c 560w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/hpkMle10oGTDtqkC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=840&fit=max&auto=format&n=hpkMle10oGTDtqkC&q=85&s=f6670db10c310becb6da5a97cfbbfadc 840w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/hpkMle10oGTDtqkC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1100&fit=max&auto=format&n=hpkMle10oGTDtqkC&q=85&s=9ae4df3c06f06d48ab03941223dc6dfe 1100w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/hpkMle10oGTDtqkC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=1650&fit=max&auto=format&n=hpkMle10oGTDtqkC&q=85&s=0b25366e91aae403c807bea7d71fc487 1650w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/hpkMle10oGTDtqkC/docs/images/cdy7uua7fh8z/2TZ9jSjgEcARFpULI6hz4R/a4319a1bd482f2ee5cc23100fdb2f42c/New-form-Forms-for-action-use-case.png?w=2500&fit=max&auto=format&n=hpkMle10oGTDtqkC&q=85&s=6a26c8d8d4e6cac697ffdf89e0580f6c 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-5605-seo-geo/2or3If6KdnXC62bH/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?fit=max&auto=format&n=2or3If6KdnXC62bH&q=85&s=c739fbc492ec9341990d22137fab2113" 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-5605-seo-geo/2or3If6KdnXC62bH/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=280&fit=max&auto=format&n=2or3If6KdnXC62bH&q=85&s=f5aa708b13cd35c37353d544705427fb 280w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2or3If6KdnXC62bH/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=560&fit=max&auto=format&n=2or3If6KdnXC62bH&q=85&s=b08b9481e4b69c1a72025a05181a7565 560w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2or3If6KdnXC62bH/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=840&fit=max&auto=format&n=2or3If6KdnXC62bH&q=85&s=1f392c4e5fffb59abbc99141176a2230 840w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2or3If6KdnXC62bH/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1100&fit=max&auto=format&n=2or3If6KdnXC62bH&q=85&s=e9a4cbf314a89403320f267a2e7afe8c 1100w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2or3If6KdnXC62bH/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=1650&fit=max&auto=format&n=2or3If6KdnXC62bH&q=85&s=f3b1c5b6ae2c25f5a17e0338a1ccd291 1650w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2or3If6KdnXC62bH/docs/images/cdy7uua7fh8z/59zFFjQjAnjogkc2QGIqqJ/0ad66b1b636544122aa4e65968b76c2c/privacy-policy-step-node.png?w=2500&fit=max&auto=format&n=2or3If6KdnXC62bH&q=85&s=3655f8fd42abd6cf074f3c83cad7c181 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-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=7f7cf9a2a01e090f02ba10dc781d9328" 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-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=280&fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=047ba615a0ae831a52d176bf3ff8c37e 280w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=560&fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=1ead61efa01a026809acd146209c5994 560w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=840&fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=007659fd4fe11b6732bdbbe01008eb9d 840w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1100&fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=9361dacf82910641658c475531191a0c 1100w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=1650&fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=0a3278ea8d97ac3cb9dfe94959950496 1650w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/2m63_DTdHGbfxp1y/docs/images/cdy7uua7fh8z/6YIkzm7SrpM9LW76AXuRzh/353c518fe82bbaa440836da1d83596d6/link-policies.png?w=2500&fit=max&auto=format&n=2m63_DTdHGbfxp1y&q=85&s=9c51995e93532914a3c87d87879050d8 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-5605-seo-geo/ZrCBRfoSfRh7umN0/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?fit=max&auto=format&n=ZrCBRfoSfRh7umN0&q=85&s=062a36b6d08e504175c012df31d14491" 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-5605-seo-geo/ZrCBRfoSfRh7umN0/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=280&fit=max&auto=format&n=ZrCBRfoSfRh7umN0&q=85&s=078f69237b877fc12e529cb96074c13a 280w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/ZrCBRfoSfRh7umN0/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=560&fit=max&auto=format&n=ZrCBRfoSfRh7umN0&q=85&s=45e0b42dda509b6cdf984a9cde473a37 560w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/ZrCBRfoSfRh7umN0/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=840&fit=max&auto=format&n=ZrCBRfoSfRh7umN0&q=85&s=207cf827f71357a6101cf438575a7146 840w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/ZrCBRfoSfRh7umN0/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1100&fit=max&auto=format&n=ZrCBRfoSfRh7umN0&q=85&s=334c1a3afa6a1c2c0cacd052a3a46dba 1100w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/ZrCBRfoSfRh7umN0/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=1650&fit=max&auto=format&n=ZrCBRfoSfRh7umN0&q=85&s=1c55abeb7af191a923857bb99522aa8c 1650w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/ZrCBRfoSfRh7umN0/docs/images/cdy7uua7fh8z/CvMNIwWrOUwaFW4X3G28p/1fb70ae57a20749d9ffaaba8dc0b7e26/update-user-privacy.png?w=2500&fit=max&auto=format&n=ZrCBRfoSfRh7umN0&q=85&s=18879b25725d0797a20bf55db7e601f7 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-5605-seo-geo/7a6PKQlHGjQ9_XYn/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?fit=max&auto=format&n=7a6PKQlHGjQ9_XYn&q=85&s=4cc59704c5ba57c7129a58add7d8ac2b" 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-5605-seo-geo/7a6PKQlHGjQ9_XYn/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=280&fit=max&auto=format&n=7a6PKQlHGjQ9_XYn&q=85&s=99cfe2567b88b43a5f1a0c12d56dbd6a 280w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/7a6PKQlHGjQ9_XYn/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=560&fit=max&auto=format&n=7a6PKQlHGjQ9_XYn&q=85&s=49678cc0597e741dab73527f2ea86b7b 560w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/7a6PKQlHGjQ9_XYn/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=840&fit=max&auto=format&n=7a6PKQlHGjQ9_XYn&q=85&s=14762322597723e082a71f16220649b7 840w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/7a6PKQlHGjQ9_XYn/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1100&fit=max&auto=format&n=7a6PKQlHGjQ9_XYn&q=85&s=9c6ba6006fcf5984f10aca6070de8d92 1100w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/7a6PKQlHGjQ9_XYn/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=1650&fit=max&auto=format&n=7a6PKQlHGjQ9_XYn&q=85&s=c601ecde975afd74c6baa9fad528f0d7 1650w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/7a6PKQlHGjQ9_XYn/docs/images/cdy7uua7fh8z/2EIUzc539sq9lwoTKbjoJv/496a864c0fc44a782c9cadca119dbfb0/embed.png?w=2500&fit=max&auto=format&n=7a6PKQlHGjQ9_XYn&q=85&s=90bcaee82cab315fefd046687010a354 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-5605-seo-geo/xHB4KJB_SzxMv-MB/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?fit=max&auto=format&n=xHB4KJB_SzxMv-MB&q=85&s=9c916815416cc9aea900248d6c4acee4" 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-5605-seo-geo/xHB4KJB_SzxMv-MB/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=280&fit=max&auto=format&n=xHB4KJB_SzxMv-MB&q=85&s=16fedfec81262904cce15db5dc3f12ba 280w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/xHB4KJB_SzxMv-MB/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=560&fit=max&auto=format&n=xHB4KJB_SzxMv-MB&q=85&s=44f6c62dbf4cae36d50dc975a9464472 560w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/xHB4KJB_SzxMv-MB/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=840&fit=max&auto=format&n=xHB4KJB_SzxMv-MB&q=85&s=17d76abbc6a64dd3cbcb5df264a17ef3 840w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/xHB4KJB_SzxMv-MB/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1100&fit=max&auto=format&n=xHB4KJB_SzxMv-MB&q=85&s=47d1310aecf7f1171a99c3208a96b348 1100w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/xHB4KJB_SzxMv-MB/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=1650&fit=max&auto=format&n=xHB4KJB_SzxMv-MB&q=85&s=a1ddbab6d89cea07f8380efb94a14852 1650w, https://mintcdn.com/docs-staging-fix-docs-5605-seo-geo/xHB4KJB_SzxMv-MB/docs/images/cdy7uua7fh8z/5TOwDgevZsBqd7yZynUYWU/41ca909dc3007aed4f40ff794a05efa5/postlogin.png?w=2500&fit=max&auto=format&n=xHB4KJB_SzxMv-MB&q=85&s=fe5f4f0fad8029e0c7e229041fd76448 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.
