PingOne Solution Packs

Configuring PingOne for the Verified Frontline Workers flow pack solution

Verify that your PingOne environment has the necessary configuration to run the Verified Frontline Workers flow pack solution and enable all the features that you want to use.

About this task

These steps ensure that the PingOne configuration is correct and enable features such as magic links, agreements, and social sign-on.

Steps

  1. Create an Identity Verification policy for use in the Frontline Worker - Registration, Authentication and Account Recovery with ID Verification and Recognize - Main Flow.

    1. In the PingOne admin console, go to Identity Verification > Verify Policies.

    2. Click the + icon.

    3. Configure Government ID settings.

      1. Set Government ID to Required.

      2. Select a Document Authentication Provider to verify the government ID.

      3. Select an Inspection Type for the government ID.

      4. In the Government ID Retry Attempts field, enter a number of times a user can retry scanning an ID if the first attempt fails.

      5. If you have users in the USA, select the Enable AAMVA option to enable verification of ID information against the AAMVA Driver’s License Data Verification (DLDV) service.

      6. Select the Fail Expired IDs option to fail verification if the government ID has expired.

      7. If you have users in India, select the Enable Aadhaar Verification (India) option to enable user verification of Aadhaar digital IDs through the DigiLocker wallet.

    4. Configure Facial Comparison settings.

      1. Set Facial Comparison to Required.

      2. Select a Threshold for matching the selfie to the ID.

    5. Configure Liveness settings.

      1. Set Liveness to Required.

      2. Select a Threshold for matching the selfie to the ID.

      3. Select a number of Selfie Retry Attempts, between 0 and 3.

    6. Configure Email settings.

      1. Set Email Verification to Disabled.

    7. Click Save.

  2. Create an Identity Verification policy for use in the Frontline Worker - Remote User Registration.

    1. In the PingOne admin console, go to Identity Verification > Verify Policies.

    2. Click the + icon.

    3. Configure Government ID settings.

      1. Set Government ID to Required.

      2. Select a Document Authentication Provider to verify the government ID.

      3. Select an Inspection Type for the government ID.

      4. In the Government ID Retry Attempts field, enter a number of times a user can retry scanning an ID if the first attempt fails.

      5. If you have users in the USA, select the Enable AAMVA option to enable verification of ID information against the AAMVA Driver’s License Data Verification (DLDV) service.

      6. Select the Fail Expired IDs option to fail verification if the government ID has expired.

      7. If you have users in India, select the Enable Aadhaar Verification (India) option to enable user verification of Aadhaar digital IDs through the DigiLocker wallet.

    4. Configure Facial Comparison settings.

      1. Set Facial Comparison to Required.

      2. Select a Threshold for matching the selfie to the ID.

    5. Configure Liveness settings.

      1. Set Liveness to Required.

      2. Select a Threshold for matching the selfie to the ID.

      3. Select a number of Selfie Retry Attempts, between 0 and 3.

    6. Configure Email settings.

      1. Set Email Verification to Required.

    7. Click Save.

  3. (Optional) If you plan to use PingOne Protect, create a new predictor:

    1. In the PingOne admin console, go to Threat Protection > Predictors.

    2. Click the + icon to add a predictor.

    3. In the Choose Type list, select Custom.

    4. In the Display Name field, enter Allowed IP List.

    5. In the Compact Name field, enter allowedIPList.

    6. In the Attribute Mapping field, enter ${event.ip}.

    7. In the Risk Level Mapping section, click IP Ranges.

    8. In the Low, Medium, and High fields, enter one or more IP ranges to match each risk rating.

    9. Click Save.

  4. (Optional) If you plan to use PingOne Protect, create a new risk policy:

    1. In the PingOne admin console, go to Threat Protection > Risk Policies.

    2. Click the Global policy tab.

    3. Click the + icon to add a policy.

    4. For Name, enter Allowed IP Risk Policy.

    5. Click + Add Predictor.

    6. In the Risk Model list, select the Allowed IP List predictor.

    7. Click Apply.

    8. In the Rules section, click Mitigation, then click + Add.

    9. Set one or more mitigation rules.

      1. Click Add.

      2. In the Rule list, select a rule type.

      3. Use the Operator, Level, and Returned Action lists to configure the rule.

        For example, if the rule is Adversary in the Middle and you select Equals, High, and Deny, the rule denies access if a high risk of an adversary in the middle attack is detected.

      4. Click Apply.

    10. Set the Fallback action to Deny.

      1. Locate the Fallback rule and click Edit.

      2. In the Returned Action list, select Deny.

      3. Click Apply.

    11. Click Apply.

  5. Create three PingOne populations for workers, supervisors, and onboarding workers.

    1. Go to Directory > Populations.

    2. Click the + icon to add a population.

    3. Enter a population name:

      Name Description

      Supervisors

      Contains users who can authenticate themselves and register new employees.

      Workers

      Contains verified employee accounts who can authenticate themselves.

      Onboarding workers

      Temporarily contains employees who are invited to register by email. After registration, these employees are moved to the worker population.

    4. Click Save.

    5. Note the population ID for the new population.

    6. Repeat steps a-e for the remaining populations.

  6. Add the necessary user attributes.

    Name Description

    accountStatus

    Controls whether the user account is active for authentication. Only enabled users appear on the login page.

    New accounts have a status of DISABLED. When the worker successfully completes the required identity verification and enrollment process, or when a supervisor approves the registration without ID verification, the status is set to ENABLED.

    accountVerifyStatus

    Tracks the worker’s current identity verification status. Valid values are ID_NOT_VERIFIED, VERIFIED, and ID Verification Pending (Approved by Supervisor on-site).

    dateOfBirth

    The user’s date of birth.

    inviteLinkExpiresAt

    The timestamp at which the invite link expires.

    inviteTokenHash

    Stores the hash of the raw invitation token.

    registrationRetryAttempts

    Stores the number of failed or successful registration attempts. This is used to limit the number of retries.

    inviteTokenSalt

    Stores the per-invitation cryptographic salt used to generate and validate the invite token hash during remote registration.

    lastAuthenticatedAt

    Stores the timestamp of the user’s last successful authentication.

    1. In the PingOne admin console, go to Directory > User Attributes.

    2. Click the + icon.

    3. For the attribute type, select Declared.

    4. Click Next.

    5. In the Name field, enter an attribute name from the table above.

    6. In the Display Name field, enter the same attribute name from the table above.

    7. In the Description field, enter the description from the table above.

    8. Select No Validation.

    9. Click Save.

    10. Click the blue toggle to the right to enable the attribute.

    11. Repeat steps a-j for the remaining attributes.

  7. Create the Invite Notification template:

    1. In PingOne, go to User Experience > Notification Templates.

    2. Click to create a new template.

    3. In the Type list, select General.

    4. In the Name field, enter a name for the template. For example: Invite Notification.

      Note the template name for later use.

    5. Click Create.

    6. In the Subject field, configure a subject:

      1. Click the Pencil icon.

      2. Enter the subject Frontline Worker Account Registration.

      3. Click the icon.

    7. In the New Email field, configure the message body:

      1. Click the Pencil icon.

      2. Enter a body for the new transaction message.

        You can use the following variables in the message:

        • ${link}: The invite link.

        • ${username}: The new user’s user name.

        • ${companyName}: The name of your company.

        For example:

        <!DOCTYPE html>
        <html lang="en">
        <head>
          <meta charset="UTF-8" />
          <meta name="viewport" content="width=device-width, initial-scale=1.0" />
          <title>Complete your registration</title>
          <style>
            html, body { margin: 0; padding: 0; }
            @media screen and (max-width: 560px) {
              .page-pad { padding: 18px 10px !important; }
              .hero-pad { padding: 24px 18px 21px !important; }
              .hero-title { font-size: 34px !important; }
              .content-pad { padding: 26px 20px 24px !important; }
              .body-copy { font-size: 15px !important; line-height: 27px !important; }
              .notice-pad { padding: 18px 18px !important; }
              .cta-button { display: block !important; padding-left: 22px !important; padding-right: 22px !important; }
            }
            @page { size: auto !important; }
          </style>
        </head>
        <body style="margin:0; padding:0; background-color:#eef2f7; font-family:Arial, Helvetica, sans-serif; color:#243648;">
          <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; background-color:#eef2f7; margin:0; padding:0;">
            <tr>
              <td class="page-pad" align="center" style="padding:32px 12px;">
                <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width:720px; width:100%;">
                  <tr>
                    <td style="padding-bottom:18px;">
                      <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; background-color:#ffffff; border:1px solid #d9e1ea; border-radius:24px;">
                        <tr>
                          <td class="hero-pad" data-glean-id="registration-email-hero" align="center" style="padding:28px 24px 24px; background-color:#f7fbfd; border-radius:24px;">
                            <div data-glean-id="registration-email-company-label" style="font-size:11px; line-height:16px; font-weight:700; letter-spacing:0.34em; color:#8a98a8; margin-bottom:10px;">
                              ${companyName}
                            </div>
                            <div class="hero-title" data-glean-id="registration-email-title" style="font-size:48px; line-height:1.08; font-weight:700; color:#243648; margin:0;">
                              Complete your registration
                            </div>
                            <div data-glean-id="registration-email-subtitle" style="font-size:16px; line-height:24px; color:#6c7c8d; margin-top:12px;">
                              You have been invited to complete your registration
                            </div>
                          </td>
                        </tr>
                      </table>
                    </td>
                  </tr>
                  <tr>
                    <td>
                      <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; background-color:#ffffff; border:1px solid #d9e1ea; border-radius:24px;">
                        <tr>
                          <td class="content-pad" data-glean-id="registration-email-content" style="padding:32px 32px 28px;">
                            <p data-glean-id="registration-email-recipient" style="margin:0 0 24px; font-size:16px; line-height:26px; font-weight:700; color:#243648;">
                              ${username},
                            </p>
                            <p class="body-copy" data-glean-id="registration-email-welcome" style="margin:0 0 22px; font-size:16px; line-height:30px; color:#243648;">
                              Welcome to ${companyName}.
                            </p>
                            <p class="body-copy" data-glean-id="registration-email-invitation" style="margin:0 0 22px; font-size:16px; line-height:30px; color:#243648;">
                              You have been invited to complete your registration. To get started, select the button below.
                            </p>
                            <p class="body-copy" data-glean-id="registration-email-verification" style="margin:0 0 26px; font-size:16px; line-height:30px; color:#243648;">
                              You will be asked to confirm your personal details and complete the required steps for your role.
                            </p>
                            <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; margin:0 0 28px; border:1px solid #f0d9b8; background-color:#fff7eb; border-radius:18px;">
                              <tr>
                                <td class="notice-pad" data-glean-id="registration-email-notice" style="padding:22px 24px; font-size:15px; line-height:28px; font-weight:700; color:#8a5a12;">
                                  Before continuing, review your personal details carefully. If anything is incorrect, contact
                                  <a href="mailto:${supportEmail}" style="color:#c47b15; text-decoration:none; font-weight:700;">${supportEmail}</a>
                                  before continuing.
                                </td>
                              </tr>
                            </table>
                            <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; margin:0 0 28px;">
                              <tr>
                                <td align="center">
                                  <a class="cta-button" data-glean-id="registration-email-cta" href="${link}" style="display:inline-block; background-color:#1f86c7; color:#ffffff; text-decoration:none; font-size:17px; line-height:22px; font-weight:700; padding:16px 34px; border-radius:14px;">
                                    Begin Registration
                                  </a>
                                </td>
                              </tr>
                            </table>
                            <p data-glean-id="registration-email-footer" style="margin:0; font-size:13px; line-height:24px; text-align:center; color:#6c7c8d;">
                              This message was sent by ${companyName}. If you were not expecting this email, contact support. Do not share your registration link with anyone else.
                            </p>
                          </td>
                        </tr>
                      </table>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </body>
        </html>
      3. Click the icon.

    8. Click X to close the template.

  8. Create the Account Created template:

    1. In PingOne, go to User Experience > Notification Templates.

    2. Click to create a new template.

    3. In the Type list, select General.

    4. In the Name field, enter a name for the template. For example: Account Created.

      Note the template name for later use.

    5. Click Create.

    6. In the Subject field, configure a subject:

      1. Click the Pencil icon.

      2. Enter the subject You are Welcome.

      3. Click the icon.

    7. In the New Email field, configure the message body:

      1. Click the Pencil icon.

      2. Enter a body for the new transaction message.

        You can use the following variables in the message:

        • ${link}: The invite link.

        • ${username}: The new user’s user name.

        • ${companyName}: The name of your company.

        For example:

        <!DOCTYPE html>
        <html lang="en">
        <head>
          <meta charset="UTF-8" />
          <meta name="viewport" content="width=device-width, initial-scale=1.0" />
          <title>Welcome to ${companyName}</title>
          <style>
            html, body { min-height: 100%; }
            * { box-sizing: border-box; }
            @media screen and (max-width: 620px) {
              .email-shell { padding: 18px 10px !important; }
              .hero-title { font-size: 36px !important; }
              .content-pad { padding: 26px 22px 24px !important; }
            }
            @media print {
              body { background: #eef2f7 !important; }
              .email-shell { padding: 18px 10px !important; }
            }
            @page { size: auto !important; }
          </style>
        </head>
        <body style="margin:0; padding:0; background-color:#eef2f7; font-family:Arial, Helvetica, sans-serif; color:#243648;">
          <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; background-color:#eef2f7; margin:0; padding:0;">
            <tr>
              <td align="center" class="email-shell" style="padding:32px 12px;">
                <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width:720px; width:100%;">
                  <tr>
                    <td style="padding-bottom:18px;">
                      <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; background-color:#ffffff; border:1px solid #d9e1ea; border-radius:24px;">
                        <tr>
                          <td align="center" data-glean-id="welcome-email-hero" style="padding:28px 24px 24px; background-color:#f7fbfd; border-radius:24px;">
                            <div data-glean-id="company-name-kicker" style="font-size:11px; line-height:16px; font-weight:700; letter-spacing:0.34em; color:#8a98a8; margin-bottom:10px;">
                              ${companyName}
                            </div>
                            <div data-glean-id="welcome-email-title" class="hero-title" style="font-size:48px; line-height:1.08; font-weight:700; color:#1d8f4d; margin:0;">
                              Welcome to ${companyName}
                            </div>
                            <div data-glean-id="registration-status" style="font-size:16px; line-height:24px; color:#6c7c8d; margin-top:12px;">
                              Your registration is complete
                            </div>
                          </td>
                        </tr>
                      </table>
                    </td>
                  </tr>
                  <tr>
                    <td>
                      <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; background-color:#ffffff; border:1px solid #d9e1ea; border-radius:24px;">
                        <tr>
                          <td data-glean-id="welcome-email-body" class="content-pad" style="padding:32px 32px 28px;">
                            <p data-glean-id="recipient-greeting" style="margin:0 0 24px; font-size:16px; line-height:26px; font-weight:700; color:#243648;">
                              ${username},
                            </p>
                            <p data-glean-id="registration-confirmation" style="margin:0 0 22px; font-size:16px; line-height:30px; color:#243648;">
                              Welcome to ${companyName}. Your registration is complete.
                            </p>
                            <p data-glean-id="identity-verification" style="margin:0 0 22px; font-size:16px; line-height:30px; color:#243648;">
                              You are all set to begin. Follow the instructions provided to continue with the next steps for your role.
                            </p>
                            <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" data-glean-id="support-callout" style="width:100%; margin:0 0 28px; border:1px solid #d9e1ea; background-color:#f8fafc; border-radius:18px;">
                              <tr>
                                <td style="padding:20px 24px; font-size:15px; line-height:28px; color:#6c7c8d;">
                                  If you have questions or need help, contact
                                  <a data-glean-id="support-email-link" href="mailto:${supportEmail}" style="color:#1f86c7; text-decoration:none; font-weight:700;">${supportEmail}</a>.
                                </td>
                              </tr>
                            </table>
                            <p data-glean-id="email-footer-notice" style="margin:0; font-size:13px; line-height:24px; text-align:center; color:#6c7c8d;">
                              This message was sent by ${companyName}. If you did not create this account, contact support. For your security, never share your sign-in details or access link with anyone else.
                            </p>
                          </td>
                        </tr>
                      </table>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </body>
        </html>
      3. Click the icon.

    8. Click X to close the template.

  9. Create the Helpdesk Request template:

    1. In PingOne, go to User Experience > Notification Templates.

    2. Click to create a new template.

    3. In the Type list, select General.

    4. In the Name field, enter a name for the template. For example: Helpdesk Request.

      Note the template name for later use.

    5. Click Create.

    6. In the Subject field, configure a subject:

      1. Click the Pencil icon.

      2. Enter the subject Frontline HelpDesk Request.

      3. Click the icon.

    7. In the New Email field, configure the message body:

      1. Click the Pencil icon.

      2. Enter a body for the new transaction message.

        You can use the following variables in the message:

        • ${link}: The invite link.

        • ${username}: The new user’s user name.

        • ${companyName}: The name of your company.

        For example:

        <!DOCTYPE html>
        <html lang="en">
        <head>
          <meta charset="UTF-8" />
          <meta name="viewport" content="width=device-width, initial-scale=1.0" />
          <title>Account Recovery Assistance Request - ${companyName}</title>
          <style>
            @media screen and (max-width: 600px) {
              .email-shell { padding: 18px 8px !important; }
              .email-card { border-radius: 18px !important; }
              .hero-title { font-size: 30px !important; }
              .content-cell { padding: 24px 20px 22px !important; }
              .details-cell { padding-left: 16px !important; padding-right: 16px !important; }
              .details-label { width: 38% !important; }
            }
            @media print {
              body { background-color: #ffffff !important; }
              .email-shell { padding: 0 !important; }
            }
            @page { size: auto !important; }
          </style>
        </head>
        <body style="margin:0; padding:0; background-color:#eef2f7; font-family:Arial, Helvetica, sans-serif; color:#243648;">
          <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; background-color:#eef2f7; margin:0; padding:0;">
            <tr>
              <td class="email-shell" align="center" style="padding:32px 12px;">
                <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width:720px; width:100%;">
                  <tr>
                    <td data-glean-id="email-header" style="padding-bottom:18px;">
                      <table class="email-card" role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; background-color:#ffffff; border:1px solid #d9e1ea; border-radius:24px;">
                        <tr>
                          <td align="center" style="padding:28px 24px 24px; background-color:#f7fbfd; border-radius:24px;">
                            <div data-glean-id="company-name" style="font-size:11px; line-height:16px; font-weight:700; letter-spacing:0.34em; color:#8a98a8; margin-bottom:10px;">
                              ${companyName}
                            </div>
                            <div class="hero-title" data-glean-id="email-title" style="font-size:40px; line-height:1.12; font-weight:700; color:#243648; margin:0;">
                              Account Recovery Assistance Request
                            </div>
                            <div data-glean-id="email-subtitle" style="font-size:16px; line-height:24px; color:#6c7c8d; margin-top:12px;">
                              Assistance requested by a frontline worker
                            </div>
                          </td>
                        </tr>
                      </table>
                    </td>
                  </tr>
                  <tr>
                    <td data-glean-id="email-body">
                      <table class="email-card" role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; background-color:#ffffff; border:1px solid #d9e1ea; border-radius:24px;">
                        <tr>
                          <td class="content-cell" style="padding:32px 32px 28px;">
                            <p data-glean-id="greeting" style="margin:0 0 24px; font-size:16px; line-height:26px; font-weight:700; color:#243648;">
                              Hello Helpdesk Team,
                            </p>
                            <p data-glean-id="recovery-description" style="margin:0 0 22px; font-size:16px; line-height:30px; color:#243648;">
                              I’m unable to complete the selfie verification step and need assistance recovering access to my account.
                            </p>
                            <p data-glean-id="verification-description" style="margin:0 0 22px; font-size:16px; line-height:30px; color:#243648;">
                              Review the information below and help me restart the identity verification process so I can regain access to my account.
                            </p>
                            <table data-glean-id="worker-details" role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; margin:0 0 26px; border:1px solid #d9e1ea; background-color:#f8fafc; border-radius:18px;">
                              <tr>
                                <td class="details-cell" style="padding:22px 24px 8px; font-size:15px; line-height:24px; font-weight:700; color:#243648;">
                                  Frontline worker information
                                </td>
                              </tr>
                              <tr>
                                <td class="details-cell" style="padding:0 24px 22px;">
                                  <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;">
                                    <tr data-glean-id="worker-full-name">
                                      <td class="details-label" width="42%" style="padding:8px 0; font-size:14px; line-height:22px; color:#6c7c8d;">Worker name</td>
                                      <td style="padding:8px 0; font-size:14px; line-height:22px; font-weight:700; color:#243648;">${fullName}</td>
                                    </tr>
                                    <tr data-glean-id="worker-email">
                                      <td class="details-label" width="42%" style="padding:8px 0; font-size:14px; line-height:22px; color:#6c7c8d;">Work email address</td>
                                      <td style="padding:8px 0; font-size:14px; line-height:22px; font-weight:700; color:#243648; word-break:break-word;">${email}</td>
                                    </tr>
                                    <tr data-glean-id="worker-username">
                                      <td class="details-label" width="42%" style="padding:8px 0; font-size:14px; line-height:22px; color:#6c7c8d;">Username</td>
                                      <td style="padding:8px 0; font-size:14px; line-height:22px; font-weight:700; color:#243648; word-break:break-word;">${username}</td>
                                    </tr>
                                    <tr data-glean-id="worker-id">
                                      <td class="details-label" width="42%" style="padding:8px 0; font-size:14px; line-height:22px; color:#6c7c8d;">Worker ID</td>
                                      <td style="padding:8px 0; font-size:14px; line-height:22px; font-weight:700; color:#243648; word-break:break-word;">${userId}</td>
                                    </tr>
                                    <tr data-glean-id="request-timestamp">
                                      <td class="details-label" width="42%" style="padding:8px 0; font-size:14px; line-height:22px; color:#6c7c8d;">Request submitted</td>
                                      <td style="padding:8px 0; font-size:14px; line-height:22px; font-weight:700; color:#243648;">${requestTimestamp}</td>
                                    </tr>
                                  </table>
                                </td>
                              </tr>
                            </table>
                            <table data-glean-id="requested-action" role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%; margin:0 0 26px; border:1px solid #f0d9b8; background-color:#fff7eb; border-radius:18px;">
                              <tr>
                                <td style="padding:20px 24px; font-size:15px; line-height:28px; font-weight:700; color:#8a5a12;">
                                  Requested assistance: Verify the information above and enable the frontline worker to complete identity verification again so they can regain access to their account.
                                </td>
                              </tr>
                            </table>
                            <p data-glean-id="contact-details" style="margin:0 0 22px; font-size:16px; line-height:30px; color:#243648;">
                              Contact me at <a href="mailto:${email}" style="color:#1f86c7; text-decoration:none; font-weight:700;">${email}</a> if any additional information is required.
                            </p>
                            <p data-glean-id="privacy-notice" style="margin:0; font-size:13px; line-height:24px; text-align:center; color:#6c7c8d;">
                              This request was submitted by a frontline worker through ${companyName}. Handle this information in accordance with your organization’s privacy and account-recovery procedures.
                            </p>
                          </td>
                        </tr>
                      </table>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </body>
        </html>
      3. Click the icon.

    8. Click X to close the template.

  10. (Optional) If you plan to use an agreement, verify that you have an agreement configured in PingOne and copy the agreement ID.

    Learn more about configuring agreements in Adding an agreement in the PingOne documentation.

    1. Go to User Experience > Agreements.

    2. Verify that the agreement exists and is enabled.

    3. Click the agreement to open the details panel.

    4. On the API tab, copy the ID.

    The agreement ID is used in a later procedure to configure the flows in DaVinci.