---
title: Before you begin
description: Explains the necessary server-side configuration for implementing one-time passcode (OTP) authentication, including setting up MFA policies in PingOne and configuring DaVinci flows.
component: orchsdks
page_id: orchsdks:davinci:use-cases/otp/00_before-you-begin
canonical_url: https://developer.pingidentity.com/orchsdks/davinci/use-cases/otp/00_before-you-begin.html
revdate: Fri, 9 Jan 2026 17:23:51 +0000
keywords: ["DaVinci", "OTP", "MFA", "Server Configuration", "PingOne", "Flows"]
section_ids:
  compatibility: Compatibility
  configuring_strong_authentication_mfa_methods_in_pingone: Configuring strong authentication (MFA) methods in PingOne
  configuring_an_mfa_policy_to_use_one_time_passcodes: Configuring an MFA policy to use one-time passcodes
  configuring_davinci_flows_for_one_time_passcodes: Configuring DaVinci Flows for one-time passcodes
  otp-in-dv-flow-forms: Configuring DaVinci Forms for one-time passcodes
  creating_a_davinci_form: Creating a DaVinci Form
  adding_a_form_to_a_davinci_flow: Adding a form to a DaVinci flow
  launch-davinci-sdks: Configuring a DaVinci flow to be launched by the Orchestration SDKs
  next_steps: Next Steps
  related_links: Related links
---

# Before you begin

[icon: circle-check, set=far]PingOne [icon: android, set=fab]Android [icon: apple, set=fab]iOS [icon: js, set=fab]JavaScript

To complete this tutorial, refer to the prerequisites in this section.

The tutorial also requires a configured server.

## Compatibility

* PingOne

  * Your PingOne instance must have DaVinci enabled.

* DaVinci

  * Your DaVinci flow uses the [PingOne MFA Connector](https://docs.pingidentity.com/connectors/p1_mfa_connector.html).

  * You have an MFA policy in PingOne configured to only use the following one-time passcode methods:

    * Email

    * SMS

    * Voice

## Configuring strong authentication (MFA) methods in PingOne

In this section, you configure PingOne to be able to authenticate users with one-time password methods supported by the Orchestration SDKs.

Select one or more of the OTP delivery methods below for instructions on configuring them in PingOne:

[icon: envelope, set=far, size=3x]

#### [Email](https://docs.pingidentity.com/pingone/strong_authentication_mfa/p1_strong_auth_email.html)

Configuring email authentication

[icon: mobile-signal, set=far, size=3x]

#### [SMS or Voice](https://docs.pingidentity.com/pingone/strong_authentication_mfa/p1_strong_auth_sms_voice_authentication.html)

Configuring SMS and voice authentication

## Configuring an MFA policy to use one-time passcodes

After configuring the OTP delivery methods you must create an MFA policy in PingOne. An MFA policy configures the relevant settings for the authentication methods that you want to enable.

Learn more in [Configuring an MFA policy for strong authentication](https://docs.pingidentity.com/pingone/strong_authentication_mfa/p1_creating_an_mfa_policy_for_strong_auth.html).

## Configuring DaVinci Flows for one-time passcodes

After configuring OTP delivery methods and creating an MFA policy, the next step is to configure a DaVinci flow to display buttons in your app so that users can choose which OTP delivery method to use.

### Configuring DaVinci Forms for one-time passcodes

Complete the following steps to integrate one-time passcodes with PingOne using DaVinci Forms.

#### Creating a DaVinci Form

1. [Create a form](https://docs.pingidentity.com/pingone/user_experience/p1_creating_form.html) to display your selected external identity providers.

   |   |                                                                                                                                                                           |
   | - | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   |   | PingOne includes a number of prebuilt templates that you can modify as required.![Out-of-the-box DaVinci Forms templates.](../../_images/davinci-forms-templates-OTP.png) |

2. To add one-time passcode delivery methods to the form:

   1. From the **Toolbox** tab, drag either of the following components onto your form:

      * **[icon: trackpad_input, set=material, size=inline] MFA Device Selection - Authentication**

        Use this component when users are signing in to the system with an existing account, and have previously registered their email or phone number.

      * **[icon: trackpad_input, set=material, size=inline] MFA Device Selection - Registration**

        Use this component when users are registering an account. The next step in the flow would be to ask for their email address or phone number.

      ![Adding an MFA selection list to a form in PingOne](../../_images/davinci-form-otp-select-auth.png)Figure 1. Adding an MFA selection list to a form in PingOne.

      |   |                                                                                                                                                                                |
      | - | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
      |   | The form preview area and configuration panel for the MFA components list all MFA methods.The actual list displayed to users is limited by the MFA policy you created earlier. |

3. Save your changes.

Learn more in [Creating a form](https://docs.pingidentity.com/pingone/user_experience/p1_creating_form.html) in the PingOne documentation.

#### Adding a form to a DaVinci flow

When you have created your MFA option forms, you must now include them as part of your DaVinci flow.

1. [Add the forms](https://docs.pingidentity.com/connectors/forms_connector.html#including-a-form-in-a-flow) you created to display OTP delivery options to a flow by using the [PingOne Forms connector](https://docs.pingidentity.com/connectors/forms_connector.html).

   ![Example of a Forms Connector in a DaVinci flow.](../../_images/davinci-form-select-device.png)Figure 2. Example of a Forms Connector in a DaVinci flow.

2. Save your changes.

## Configuring a DaVinci flow to be launched by the Orchestration SDKs

Now that your DaVinci flow is configured to display your OTP delivery methods you must configure PingOne so that you can launch the flow by using the Orchestration SDKs.

This involves performing the following high-level steps:

1. Checking that your DaVinci flow uses only [compatible connectors and fields](../../compatibility.html).

2. Creating an application in DaVinci to connect PingOne to the DaVinci flow.

3. Creating an application in PingOne that the Orchestration SDKs can connect to and access the DaVinci application and its PingOne Flow Policy.

To learn how to complete the steps, refer to [Launching a flow with a Ping SDK](https://docs.pingidentity.com/davinci/integrating_flows_into_applications/davinci_sdk_launching_a_flow_with_the_sdk.html) in the DaVinci documentation.

## Next Steps

Now that you have configured PingOne with OTP options, added them to a DaVinci flow, and configured applications so that the Orchestration SDKs can launch them, you are ready to connect the Orchestration SDKs.

## Related links

* [Adding a connector](https://docs.pingidentity.com/davinci/connectors/davinci_adding_a_connector.html)

* [HTTP Connector](https://docs.pingidentity.com/connectors/http_connector.html#adding-custom-html)

* [DaVinci Forms](https://docs.pingidentity.com/pingone/user_experience/p1_forms.html)

  * [Adding a form to a DaVinci flow](https://docs.pingidentity.com/connectors/forms_connector.html#including-a-form-in-a-flow)
