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 Everest Forms forms.
- OTP channels
- Email, SMS, WhatsApp and Voice Call (Voice Call is available in India only).
- Two ways to add OTP
- Switch a form on in the Forms tab, so its normal Email and Phone fields are verified. Or add the Authyo Email, Authyo Phone or Authyo Email / Phone field from General Fields.
- You need
- Everest Forms, WordPress 5.5+, PHP 7.4+, and an Authyo account with a Client ID and Client Secret.
- Settings location
- WordPress admin, under Authyo OTP.
- Safety net
- If your Authyo wallet balance runs out, forms keep accepting submissions without OTP and you get an email about it. This protection is on by default and can be turned off.
- Get the plugin
- WordPress.org: Authyo OTP for Everest Forms
Overview
Authyo OTP for Everest Forms adds a one-time-password check to your Everest Forms forms. Visitors verify their email address or phone number before the form can be submitted, which reduces spam and fake submissions.
The quickest way is the Forms tab: switch OTP on for a form and its normal Email and Phone fields are verified automatically, with no change to the form itself. If you prefer, you can add the dedicated Authyo fields to a form instead.
This plugin is an independent add-on for Everest Forms, developed by Konceptwise Digital Media Pvt. Ltd. It is not affiliated with, endorsed by or supported by Everest Forms.
-
Per-form switch
Turn OTP on for the forms you choose. Their existing Email and Phone fields stay exactly as they are, and are verified automatically.
-
Dedicated Authyo fields
Add Authyo Email, Authyo Phone or the smart Authyo Email / Phone field from General Fields.
-
Four OTP channels
Email, SMS, WhatsApp and Voice Call. Voice Call is currently available in India only.
-
Send a test OTP
Send one real code to yourself to confirm your keys and channels work.
-
Guided setup
A setup walkthrough and a progress meter show what is left to do.
-
Country selector
Show all countries or only the ones you serve, and preselect a default country.
-
Abuse limits
Built-in limits on how often codes can be sent protect your Authyo balance.
-
Fail-safe protection
If your balance runs out, forms keep working and you are emailed once a day. You can switch this off to block submissions instead.
Requirements
- WordPress 5.5 or later and PHP 7.4 or later.
- Everest Forms installed and activated.
- An Authyo account with an application. You will need its Client ID and Client Secret.
- Balance in your Authyo wallet to send OTPs.
Installation
Install Everest Forms first, then the Authyo add-on.
Install and activate Everest Forms
Go to Plugins → Add New, search for Everest Forms, then click Install Now and Activate. Skip this step if it is already active.
Install Authyo OTP for Everest Forms
Go to Plugins → Add New, search for Authyo OTP for Everest 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. The settings page has five tabs: General, Verification Methods, Forms, How to Use and Support. At the top, a status shows OTP is live, OTP is switched off or Setup needed.
Setup
Connect the plugin to your Authyo account and choose how OTPs are sent. You can use Setup Authyo for a guided walkthrough, or fill in the tabs 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 Client ID and Client Secret. Create an application first if you do not have one.
Paste them into the General tab
In WordPress go to Authyo OTP → General. Under API Credentials, enter the Client ID and Client Secret, then click Save Changes. Until you do this, forms submit without verification.
Choose your verification channels
Open the Verification Methods tab. Under Verification Channels, switch on Email, SMS, WhatsApp and Voice Call as needed, and pick a Primary Channel (Phone). Voice Call is currently available only for India. If no phone channel is on, phone fields are not verified and do not block a form.
Send a test OTP
On the same tab, use Send a test OTP. Choose Email OTP or a phone channel, enter your own email address or phone number, and click Send test OTP. Type the code you receive and click Verify code. This uses one OTP from your Authyo balance and confirms everything works.
Next, turn OTP on for your forms in the Forms tab (see the next section).
How to use
There are two ways to add OTP to a form. Use either one, or both on different forms.
Option 1: switch a form on in the Forms tab
Open Authyo OTP → Forms. Switch on each form you want to protect. On those forms, the normal Email and Phone fields must be verified with a one-time code before the form can be submitted. Use Turn all on or Turn all off to change every form at once, and the search box to find a form. Forms you leave off are not affected.
The form’s own fields are never replaced. Their IDs, names and stored entries stay exactly as they were, and the OTP controls are added next to them. A form that already contains an Authyo field is always verified, whatever its switch says. A form with no Email or Phone field is marked so you can see there is nothing to verify.
Option 2: add an Authyo field
Edit a form with Everest Forms → All Forms. In the General Fields section, add Authyo Email to verify an email address, Authyo Phone to verify a phone number, or Authyo Email / Phone, a smart field that accepts either one.
Save and test
Save the form and open it on your site. Enter an email address or phone number, request the code, enter it and submit. If a visitor submits without verifying, the form says “Verification is required. Please verify before submitting”.
Forms that existed before version 1.0.4 are not affected until you switch them on, because the per-form switch is off by default.
Settings reference
Every setting in the plugin, grouped by the tab where you find it under Authyo OTP.
General: API credentials 4
- Client ID
- The Client ID of your Authyo application.
- Client Secret
- The Client Secret of your Authyo application. After saving it shows Saved. Leave it blank to keep the saved value.
- Remove my saved keys when I save
- Deletes your stored credentials. OTP stops working until you add new ones.
- Let Authyo know when this plugin is activated or deactivated (optional)
- Never ticked by default. When ticked, and a Client ID is saved, the plugin tells Authyo when it is activated or deactivated: the event, your site address, plugin, WordPress and PHP versions, your Client ID and the time. Your Client Secret, form entries and visitor data are never sent.
General: failsafe protection 1
- Let forms submit without OTP when my wallet is empty Default: On
- When on, forms keep accepting submissions if your Authyo wallet runs out, so you do not lose leads, and you are emailed once a day. Turn it off to block submissions instead.
Verification Methods: channels 5
- Email, SMS, WhatsApp, Voice Call
- Switch on the channels you want to offer. Voice Call is available only in India.
- Primary Channel (Phone)
- The channel used first for phone numbers: SMS, WhatsApp or Voice Call. Fallback options appear after 1 minute.
- Allow visitor to choose method
- When on, visitors see a button for each enabled channel straight away, instead of a single “Send OTP” button.
- Strict Validation (Multi-page Forms)
- When on, visitors cannot move to the next page of a multi-step form until the Authyo fields on the current page are verified.
- Send a test OTP
- Sends one real code, using your saved keys, to your own email address or phone number. It uses one OTP from your balance.
Verification Methods: optional verification 2
By default verification is mandatory. These options add a Skip Verification button to the form.
- Allow Skip for Email OTP
- Let visitors submit without verifying their email address.
- Allow Skip for Phone OTP
- Let visitors submit without verifying their phone number.
Verification Methods: country selection 3
- Select All Countries / Select Specific Countries
- Show every country in the phone field dropdown, or only the ones you choose.
- Default Country
- The country preselected in the phone field. Visitors can still change it.
- Country List Cache
- The country list is cached. Use Refresh Cache to fetch the latest list. If Authyo cannot be reached, the list you already have keeps working.
Verification Methods: OTP defaults 4
- OTP Length Default: 6
- Number of digits in the code. Allowed range: 4 to 8.
- Expiry (minutes) Default: 5
- How long a code stays valid. Allowed range: 1 to 10.
- Resend Cooldown (seconds) Default: 60
- The wait before another code can be sent to the same contact. Allowed range: 10 to 120.
- Max Resends Default: 3
- How many times a code can be re-sent to the same contact within 10 minutes. Allowed range: 1 to 5.
Forms 3
- Form switch Default: Off
- Turn OTP on for a form. Its normal Email and Phone fields must then be verified before submit.
- Turn all on / Turn all off
- Change every form at once.
- Search forms
- Find a form by name. The tab also shows how many forms are on.
Form fields (in the Everest Forms builder) 3
- Authyo Email
- A field that verifies an email address with an OTP.
- Authyo Phone
- A field that verifies a phone number by SMS, WhatsApp or Voice Call, with a country selector.
- Authyo Email / Phone
- A smart field that accepts either an email address or a phone number.
No settings match your search.
How code sending is limited
To protect your Authyo balance from abuse, the plugin limits how often codes can be sent. These limits are built in.
Per contact
A second code to the same email or phone number must wait for the Resend Cooldown (default 60 seconds). A contact can receive up to Max Resends + 1 codes in 10 minutes (default 4), and up to 10 codes a day from anyone.
Per visitor
One visitor can request up to 30 codes every 10 minutes and 150 codes a day, to any contact.
Whole site
The site as a whole can send up to 500 codes an hour.
Behind Cloudflare or a load balancer
The limits are counted per visitor IP address. If your host does not pass on the visitor’s real IP address, every visitor looks the same and shares one limit, so people see “Too many attempts”. Ask your host to restore the real IP, or return it with the
authyo_evf_client_ipfilter.
Troubleshooting
Most problems have a quick fix. Find your issue below.
The status says “Setup needed”
The status says “OTP is switched off”
I see “Your saved Authyo keys could not be read”
wp-config.php were changed after your keys were saved. Enter your Client ID and Client Secret again and save.I see a message about OpenSSL
I see “Your Authyo balance is low”
The OTP does not arrive
The form submits without asking for an OTP
Visitors see “Too many attempts” or “Too many verification attempts”
Visitors see “Session expired. Send OTP again”
Visitors see “Verification is required. Please verify before submitting”
Visitors see “The value entered does not match the one that was verified”
Visitors see “Voice Call in the selected country is not available”
A multi-page form will not move to the next page
Frequently asked questions
Does this plugin require Everest Forms?
Which OTP methods are supported?
Is an Authyo account required?
Do I have to change my forms to use OTP?
Will it change my existing form fields or entries?
Are my existing forms affected when I install it?
What happens if my Authyo balance runs out?
Can I test it without a real visitor?
Is any data sent to Authyo about my site?
Is this plugin made by the Everest 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.