Skip to main content

Overview

SMS verification adds an extra layer of identity assurance by requiring signers to confirm their phone number via a one-time password (OTP) before completing a submission. Codes expire after 5 minutes and are tied to a specific submission.

White-label SMS copy

Account settings support sms_sender_name, sms_invitation_template, and sms_otp_template. Invitation templates may use {{company_name}} and must include {{signing_url}}; OTP templates may use {{company_name}} and must include {{code}}. Templates are limited to 480 characters, and the final rendered message is limited to 320 characters. Control characters are removed before the rendered length is checked. Use PUT /api/settings with top-level "preview": true to validate and render both messages without saving. Preview uses the account’s current brand and domain with a representative 24-character signing slug. The same 320-character check runs again when a message is sent, so later brand or domain changes cannot produce an oversized SMS.

Step 1: Configure SMS Provider

Set up your Twilio credentials. This only needs to be done once per account.

Step 2: Check Configuration

Verify that SMS verification is properly configured before initiating a flow.

Step 3: Send OTP

Send a 6-digit verification code to the signer’s phone number. The code is valid for 300 seconds (5 minutes).

Step 4: Verify OTP

Submit the 6-digit code the signer received. On success, the verification result is stored in the submitter’s values.

Stored Verification Data

After successful verification, the following object is saved to the submitter’s values hash under the corresponding field UUID:
This data is included in the submission response and audit trail, providing a permanent record that the signer verified their phone number.

Step 5: Check Verification Status

Poll the current status of a pending verification. Useful for showing countdown timers in the signing UI.

Complete Flow Diagram

Phone Number Format

All phone numbers must use E.164 format: