Configure human-assisted SMS OTP

task australia Updated Nov 6, 2026 4 min read configure-human-assisted-sms-otp.md
Raw file servicenow.com

Configure the HA SMS OTP service to enable human agents to generate and validate one-time pass codes during live interactions.

Before you begin

Role required: sn_auth_ha_sms_otp_admin

Perform the following:

  • The HA SMS OTP plugin must be installed (sn_auth_ha_sms_otp). This also installs the dependent Multi-factor authentication with SMS plugin (com.snc.authentication.sms_mfa) if not already present.
  • For OOB delivery mode: configure an SMS provider (Twilio, Infobip, or Custom) under All > Multi-factor Authentication > Providers. To know more, see SMS one-time passcode (OTP) authentication for provider setup instructions.
  • Grant the sn_auth_ha_sms_otp_caller role to any user or integration that will call the HA SMS OTP API.
  • Grant the consuming application scope explicit permission to execute the HA SMS OTP API methods.

Procedure

  1. Navigate to All > Authentication Factors > Human-Assisted SMS OTP > Service Configurations.

  2. Select an existing configuration record to edit, or select New to create one.

  3. Fill in the fields described in the following table.

Field

Description

Default

Name

Label for this configuration (for example, HR Helpdesk SMS OTP).

Default HA SMS OTP

Global User Retry Window (days)

The rolling time window, in days, over which a user's OTP retry attempts are counted. Attempts made within this window accumulate toward the user's retry limit; once the window elapses, the count resets.

7 days

Global User Lockout Duration (days)

The number of days a user is prevented from requesting further OTPs after exhausting their allowed retry attempts.

1 day

Active

When cleared, this configuration is skipped at runtime. If no active configuration exists, OTP requests fail.Note: Only one active record can exist per domain.

true

Delivery Mode

  • OOB: the platform sends the SMS via the configured provider.
  • BYO: the platform generates and validates the OTP; the consuming application handles delivery.

OOB

Phone Number Resolution

How the platform resolves the end user's phone number for OOB delivery. - Provided by calling application: phone number is passed in the API request.

  • Resolved from configured table: platform looks up the phone from the table and column configured below. Applies to OOB only.

Config-table lookup

Phone Table

Table used to look up the end user's phone number (for example, sys_user). Used with config-table lookup only.

—

Phone Column

Column on the Phone Table that stores the phone number in E.164 format (for example, mobile_phone). Used with config-table lookup only.

—

User Column

Column on the Phone Table used to match the end user to a record (for example, sys_id). Used with config-table lookup only.

—

OTP Code Length

Number of digits in the generated OTP.

6 (range: 6 to 8)

OTP Expiry (Minutes)

Minutes before an unverified OTP expires and a new one must be requested.

3 (range: 1 to 10)

Per-Conversation User Retry Limit

Maximum incorrect validation attempts per conversation. Counts failed validateCode calls only. Triggering a resend does not consume this budget.

3 (range: 1 to 10)

Resend Cooldown (seconds)

Minimum seconds between consecutive OTP generation requests within the same conversation.

60 (range: 0 to 600)

Global User Retry Limit

Maximum failed OTP verification attempts for a single end user within the configured retry window. When exhausted, the user is locked out for the configured lockout duration, after which the counter resets.

10 (range: 1 to 100)

Rate Limit Per Minute Per Agent

Maximum OTP requests a single agent can trigger per minute. Set to 0 to turn off.

10 (range: 0 to 100)

Rate Limit Per Minute Per Tenant

Maximum OTP requests across all agents in the tenant per minute. Set to 0 to turn off.

100 (range: 0 to 1000)

Domain

Domain this record belongs to. Controls visibility in domain-separated instances.

—

**Note:** If Delivery Mode is set to OOB and your SMS provider is a Custom type, phone number resolution uses the table and field configured in your MFA Provider Custom config record, not the Phone Number Resolution selection above. In case of a mismatch, the MFA Provider Custom config takes precedence.
  1. Select Submit.

Result

The HA SMS OTP service configuration is active and available for use by the consuming application's scriptable API calls. The consuming application can now call generateCode and validateCode to authenticate end users during human-assisted interactions.

Related topics

Human-assisted SMS OTP authentication

SMS one-time passcode (OTP) authentication

Authentication factor configuration for AI voice agents

Keywords configure human-assisted SMS OTPHA SMS OTP service configurationdelivery modephone number resolution
Search documentation
Search document titles and file paths on the australia branch