---
schema_version: "1"
id: d4cf54dbbe4cc93aab3951e160b1b516b67c0df37088c0d6dc8a784090ce5d79
title: Configure Settings for a Custom One-Time Password Provider
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/custom_otp_provider_settings.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.custom_otp_provider_settings.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 95fd7e4d22dc46ce9d47834869cc9d0216bfcfc3cf284fddd20e639d9952d272
description: To use your custom one-time password (OTP) delivery handler Apex class, add it to your Experience Cloud site settings.
products:
  - Security
  - Cross Cloud
release: "264"
---
# Configure Settings for a Custom One-Time Password Provider

To use your custom one-time password (OTP) delivery handler Apex class, add it to your Experience Cloud site settings.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: both Salesforce Classic (not available in all orgs) and Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Professional</strong>, <strong>Enterprise</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d73551e49">User Permissions
              Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d73551e49 ">To customize an Experience Cloud site:</td>
            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d73551e49 ">
              <ul>
                <li>Be a member of the site AND Create and Set Up Experiences<p>OR</p>
                </li>
                <li>Be a member of the site AND View Setup and Configuration AND an experience
                  admin, publisher, or builder in that site</li>
              </ul>
            </td>
          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d73551e49 ">To publish an Experience Cloud site:</td>
            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d73551e49 ">
              <ul>
                <li>Be a member of the site AND Create and Set Up Experiences<p>OR</p>
                </li>
                <li>Be a member of the site AND an experience admin or publisher in that site</li>
              </ul>
            </td>
          </tr>
        </tbody>
      </table>

Before you get started, [create an Apex class that implements the `Auth.CustomOneTimePasswordDeliveryHandler`](https://help.salesforce.com/s/articleView?id=xcloud.custom_otp_provider_create_apex.htm&release=264.0.0&type=5 "Custom one-time password (OTP) delivery relies on an Apex handler that implements the Auth.CustomOneTimePasswordDeliveryHandler interface. Your custom OTP delivery handler calls out to your provider to send an OTP to the user via SMS. You can customize the content of the SMS message and the short code that the user sees.") interface.

To add a custom OTP delivery handler to an Experience Cloud site, you must contact Salesforce Customer Support. When Support gives you access to this feature, we recommend that you configure all Experience Cloud sites in your org to use a custom OTP provider. If you don't configure a custom OTP provider, though, the site uses the Salesforce default provider.

1. Contact Salesforce Customer Support and ask to allow a custom messaging service for OTPs sent to external users.
2. From Setup, in the Quick Find box, enter Sites, and then select **All Sites**.
3. Next to your Experience Cloud site name, click **Workspaces**.
4. Select **Administration**, and then select **Login & Registration**.
5. Under Custom One-Time Password (OTP) Delivery, for OTP Delivery Handler, click ![lookup magnifying glass](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-identity-264-0-0-production-enus/699dab6f-8f1a-4662-b24f-6521d5b747f7/resources-global/_corporate/images/lookup.png) and search for the custom OTP delivery Apex class that you created.
6. Save your changes.
7. Test all configurations for your site that send an OTP via SMS. When you confirm that all use cases are working as expected, implement your changes in production.