Product update · Leads

Verify visitors' phone numbers with a pay-as-you-go OTP wallet

Website visitors confirm their phone number with a one-time code before they chat. Pay per code from an OTP wallet, with a clear rate per country.

Gopi Krishna Lakkepuram

· 3 min read

Shipped
Area
Leads
Available on
Pro and Max · paid add-on

A lead form is only as useful as the number on it. A mistyped digit, or a made-up number, means your team calls someone who never asked to hear from you. OTP Verification fixes that for your website chat: before the conversation starts, the visitor gets a one-time code on their phone and types it in. Every phone number that reaches your team has been confirmed by the person who owns it.

What's new

  • Phone verification in the website chat. With the lead form on, you can require visitors to verify their number with a one-time code before they chat.
  • A pay-as-you-go OTP wallet. Codes are paid from a dollar balance in your billing settings. You top it up when you need to, and each code sent is deducted at that country's rate.
  • A rate for every country, in plain view. The OTP Wallet tab lists the per-message cost for each supported country, and Usage History shows every code sent with its country, cost and the balance after it.
  • Choose which countries you accept. Supported Countries for OTP limits verification to the phone country codes you pick. The country picker shows each country's rate next to its name, and marks countries without a rate as Not supported.

How to use it

  1. Activate the OTP Verification add-on from Billing & Subscription. Once it's active, an OTP Wallet tab appears there.
  2. Top up your wallet from the OTP Wallet tab.
  3. Open your chatbot in Studio, go to the Design tab and pick the Lead Form screen.
  4. Under Content, in Lead Capture, turn on Show Lead Form, then turn on Login Required.
  5. Optional: in Supported Countries for OTP, select the countries you want to verify. Leave it empty to allow every country.
  6. Test it in your draft, then publish.

You can also change the wording visitors see during verification, such as the send-code button and the code field, on the same Lead Form screen.

Good to know

  • Website chat only. OTP Verification runs in the chat on your website. On WhatsApp, Instagram DM and Messenger the contact details come from the platform, so there's no code step.
  • It's a paid add-on on Pro and Max. It isn't included in any plan, and the wallet is billed separately from your plan and your AI responses.
  • Numbers outside your selected countries skip the code. If you limit verification to some countries, visitors with other numbers can still chat, without verifying.
  • An empty wallet doesn't block your chat. If your OTP balance runs out, visitors can still start a conversation; they just aren't asked for a code until you top up.
  • Codes expire after 5 minutes, and each visitor has a daily limit on code requests to stop abuse. Each code is charged from your wallet when it's requested.
For developers

The widget's verification flow uses the public chatbot endpoints: POST /api/chatbot-conversations/{id}/send-otp sends the code and /authenticate exchanges it for a conversation token. The chatbot's supportedCountryCodes setting holds the ISO country codes you selected.

Explore Hyperleap AI

An AI front desk that answers customer questions, collects contact details, and books appointments on your website and messaging channels.