Note: Voice Call OTP is currently available only in India.
At a glance
- What it does
- Adds one-time-password (OTP) verification for email addresses and phone numbers to Ninja Forms forms, using drag-and-drop fields.
- OTP channels
- Email, SMS, WhatsApp and Voice Call (Voice Call is available in India only).
- Fields it adds
- Authyo Email and Authyo Phone, in the form builder’s field list. No shortcodes are needed.
- You need
- Ninja Forms (free or paid), WordPress 5.0+, and an Authyo account with an App ID, Client ID and Client Secret.
- Settings location
- WordPress admin, under Authyo OTP for Ninja Forms (the menu item is labelled Authyo OTP).
- Safety net
- If Authyo is not configured or your wallet balance is used up, submissions continue without OTP so no leads are lost.
- Get the plugin
- WordPress.org: Authyo OTP for Ninja Forms
Overview
Authyo OTP for Ninja Forms adds a one-time-password check to your Ninja Forms forms. Visitors verify their email address or phone number before the form can be submitted, which cuts spam and fake submissions.
You add OTP with a normal form field. In the Ninja Forms builder, drag in an Authyo Email or Authyo Phone field. The plugin is focused on form verification only, so it stays light.
This plugin is an independent add-on for Ninja Forms, developed by Konceptwise Digital Media Pvt. Ltd. It is not affiliated with, endorsed by or supported by Ninja Forms.
-
Native Ninja Forms fields
Two Authyo fields that you drag into any form, like any other field. No shortcodes.
-
Email and phone OTP
Verify an email address, a phone number, or both in the same form.
-
Four OTP channels
Email, SMS, WhatsApp and Voice Call. Voice Call is currently available in India only.
-
Fallback methods
Phone OTP can fall back from one channel to another. Set a primary method and a fallback timer.
-
Visitor channel choice
Optionally let visitors choose SMS, WhatsApp or Voice Call as soon as they enter their number.
-
Country selector
Show all countries, selected countries only, or a single country.
-
Setup wizard
A five-step popup that takes you from credentials to a form with OTP.
-
Fail-safe protection
Submissions continue if Authyo is not configured or your balance is exhausted, so no leads are lost.
Requirements
- WordPress 5.0 or later.
- Ninja Forms (free or paid) installed and activated. The plugin shows a notice if it is missing.
- An Authyo account with an application. You will need its App ID, Client ID and Client Secret.
- Balance in your Authyo wallet to send OTPs.
Installation
Install Ninja Forms first, then the Authyo add-on.
Install and activate Ninja Forms
Go to Plugins → Add New, search for Ninja Forms, then click Install Now and Activate. Skip this step if it is already active.
Install Authyo OTP for Ninja Forms
Go to Plugins → Add New, search for Authyo OTP for Ninja Forms, then click Install Now and Activate. You can also upload the plugin ZIP using Plugins → Add New → Upload Plugin.
Open the plugin settings
A new Authyo OTP item appears in the WordPress admin menu. A setup popup and an interactive tour help you get started.
Setup
Connect the plugin to your Authyo account and choose how OTPs are sent. You can use the setup popup, or fill in the settings page yourself.
Create your Authyo account
Go to app.authyo.io and create a free account.
Copy your credentials
Open your applications in the Authyo dashboard and copy the App ID, Client ID and Client Secret. Create an application first if you do not have one.
Paste them into the settings
Go to Authyo OTP → Settings. Under API Credentials, enter the App ID, Client ID and Client Secret, then save. After saving, leave a field blank to keep its saved value.
The setup popup has five steps: Credentials, Channels, Countries, OTP Behaviour and Form Setup. The first two are required and the rest are optional.
Enable your OTP channels
Under Enable OTP Channels, switch on Email, SMS, WhatsApp and Voice Call as needed. For phone channels, make sure your form has a phone field. Voice Call is currently available only for India.
Choose the phone method and countries (optional)
Under Phone OTP Method, pick the Primary Phone OTP Method. Under Country Settings, choose which countries the phone field shows. The defaults work for most sites.
How to use
OTP is added with a form field, not a shortcode. Edit a form in Ninja Forms and drag an Authyo field into it.
Open your form
Go to Ninja Forms → Dashboard and open the form you want to protect, or create a new one.
Add an Authyo field
In the form builder, add one of these from the field list: Authyo Email to verify an email address, or Authyo Phone to verify a phone number by SMS, WhatsApp or Voice Call. Use both to verify both.
Set the field options
Click the field and set its Label, Label Position, Required, Placeholder and Description as you would for any Ninja Forms field.
Save and test the form
Save the form and open it on your site. Enter an email address or phone number, request the code, type the code you receive and submit. If a visitor submits without verifying, the form shows “Please verify your email OTP” or “Please verify your phone OTP”.
You can also use the Form Setup step of the setup popup to add the Authyo fields to a form for you.
Settings reference
Every setting in the plugin, found under Authyo OTP.
API credentials 3
- App ID
- The App ID of your Authyo application.
- Client ID
- The Client ID of your Authyo application.
- Client Secret
- The Client Secret of your Authyo application. After saving, leave it blank to keep the saved value.
Enable OTP channels 1
- Email, SMS, WhatsApp, Voice Call
- Switch on the channels you want to offer. At least one is required. For phone channels your form needs a phone field. Voice Call is currently available only for India.
General configuration 3
- OTP Length Default: 6
- Number of digits in the code. Allowed range: 4 to 8.
- OTP Expiry (seconds) Default: 300
- How long a code stays valid.
- Resend Cooldown (seconds) Default: 30
- How long before the Resend button is enabled. Allowed range: 10 to 300.
Phone OTP method 3
- Primary Phone OTP Method Default: SMS
- The method used first when sending phone OTPs: SMS, WhatsApp or Voice Call. Only the enabled channels are shown to visitors.
- Fallback Timer (seconds) Default: 30
- How long to wait before fallback options appear. Allowed range: 10 to 300.
- Allow Visitor Method Choice
- When on, visitors pick SMS, WhatsApp or Voice Call right after entering their number. When off, the primary method is used first and fallback options appear after the timer.
Country settings 3
- Country List Mode
- All Countries, Selected Countries Only or Single Country.
- Allowed Countries
- The countries to include when Selected Countries Only is chosen. Hold Ctrl or Cmd to pick several.
- Default Country
- The country preselected in the phone field.
Form fields (in the Ninja Forms builder) 2
- Authyo Email
- A field that sends an OTP to an email address. Options: Label, Label Position, Required, Placeholder and Description.
- Authyo Phone
- A field that sends an OTP to a phone number by SMS, WhatsApp or Voice Call. Options: Label, Label Position, Required, Placeholder and Description.
No settings match your search.
Troubleshooting
Most problems have a quick fix. Find your issue below.
I see a notice that Ninja Forms must be installed and active
I do not see the Authyo fields in the form builder
The OTP does not arrive
I see “Could not decrypt stored value — please re-enter”
Visitors see “Please verify your email OTP” or “Please verify your phone OTP”
The form submits without asking for an OTP
Phone OTP options do not appear
The code expired
The wrong countries show in the phone field
Frequently asked questions
Does it work with the free version of Ninja Forms?
Do I need an Authyo account?
Which OTP methods are supported?
How do I add OTP to a form?
Can I verify both email and phone in one form?
What happens if my Authyo balance runs out?
Can I limit the countries?
Is any data stored?
Is this plugin made by the Ninja Forms team?
Still need help?
If you couldn’t find the answer in this guide, submit our support form and the Authyo team will get back to you.