---
title: Configuring an adapter instance
description: Configure the One-Time Passcode IdP Adapter to allow PingFederate to use notification publishers to send one-time passcodes (OTPs) to users during sign-on.
component: otp
page_id: otp:setup:pf_otp_ik_configuring_an_adapter_instance
canonical_url: https://docs.pingidentity.com/integrations/otp/setup/pf_otp_ik_configuring_an_adapter_instance.html
revdate: October 6, 2025
section_ids:
  steps: Steps
  example: Example:
---

# Configuring an adapter instance

Configure the One-Time Passcode IdP Adapter to allow PingFederate to use notification publishers to send one-time passcodes (OTPs) to users during sign-on.

## Steps

1. Sign on to the PingFederate admin console.

2. On the **Identity Provider > Adapters** tab, click **Create New Instance**.

3. On the **Type** tab, set the basic adapter instance attributes.

   1. In the **Instance Name** field, enter a name for the adapter instance.

   2. In the **Instance ID** field, enter a unique identifier for the adapter instance.

   3. In the **Type** list, select **One-Time Passcode IdP Adapter**. Click **Next**.

4. On the **IdP Adapter** tab, in the **Notification Delivery Methods** section, configure a list of delivery methods by assigning contact information and message templates to your notification publishers.

   1. Click **Add a new row to 'Notification Delivery Methods'**.

   2. In the **Notification Publisher** list, select the notification publisher that you want to use.

   3. In the **Contact Attribute** list, enter the attribute that contains the user's contact information for this delivery method. For example, `email`, or `phone`.

   4. In the **Language Properties and Templates Key** field, enter a key. You can find an explanation of keys in [Language property and template keys](pf_otp_ik_language_property_and_template_keys.html).

   5. In the **Action** column, click **Update**.

   6. To add more delivery methods, repeat steps a - e.

   7. Change the order of the delivery methods to define the sequence that the adapter attempts the deliveries when **Device Selection** is set to **Automatic**.

5. On the **IdP Adapter** tab, in the **User Attribute Mapping** section, configure user data mapping from the chained attribute to the target attribute.

   1. Click **Add a new row to 'User Attribute Mapping'**.

   2. In the **Source User Attribute** field, enter the name of the source attribute that contains the user information.

   3. In the **Target User Attribute** field, enter the name of the target attribute to use in the `otp.adapter*` templates and authentication API responses.

   4. In the **Action** column, click **Update**.

   5. To add more user information attributes, repeat steps a - d.

      ### Example:

      | Chained Attribute | Target Attribute |
      | ----------------- | ---------------- |
      | firstName         | first\_name      |
      | lastName          | last\_name       |
      | title             | title            |

      If the chained attributes contain acceptable values for the `firstName`, `lastName`, and `title` attributes, the One-Time Passcode IdP Adapter assigns the values to `first_name`, `last_name`, and `title`.

      In the `otp.adapter*` templates, these attributes are accessible using the following velocity template variables:

      * `$userData.first_name`

      * `$userData.last_name`

      * `$userData.title`

      In the Authentication API `DEVICE_SELECTION_REQUIRED` and `OTP_REQUIRED` response model states, the `userData` object contains the mapped attributes.

      |   |                                                                                                                                                                                                                                                                                                                                        |
      | - | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      |   | The attributes you add with this table are available for reference and use only within the four user-facing browser templates that are directly rendered by the adapter. You can find a list of these `otp.adapter*` templates and more information about using them in [Customizing templates](pf_otp_ik_customizing_templates.html). |

6. Configure the adapter instance by referring to [One-Time Passcode IdP Adapter settings reference](pf_otp_ik_one_time_passcode_idp_adapter_settings_reference.html). Click **Next**.

7. On the **Actions** tab, test your connection to the database. Resolve any issues that are reported, and then click **Next**.

8. On the **Extended Contract** tab, add any attributes that you expect to retrieve in addition to the core contract attributes. Click **Next**.

9. Complete the adapter configuration.

10. On the **Summary** tab, check that the configuration is correct. Click **Done**.

11. On the **Manage IdP Adapter Instances** tab, click **Save**.

12. Modify your PingFederate authentication policy to include your One-Time Passcode IdP Adapter instance. Position it after a first-factor authentication step, such as the HTML Form IdP Adapter.

    You can find general information about configuring authentication policies in [Policies](https://docs.pingidentity.com/pingfederate/latest/administrators_reference_guide/qmq1564002987890.html) in the PingFederate documentation.
