Authyo | OTP

Form integrations

Authyo OTP for Elementor Form

Build forms in Elementor with built-in OTP verification. Add the Authyo Form widget, turn on OTP for email and phone fields, and verify visitors by SMS, WhatsApp, Email or Voice Call.

  • WordPress 5.8+
  • PHP 7.4+
  • Requires Elementor
  • Updated
  1. Install Add Elementor and the Authyo plugin.
  2. Connect Paste your Client ID and Client Secret.
  3. Build a form Add the Authyo Form widget and enable OTP.

Note: Voice Call OTP is currently available only in India.

At a glance

What it does
Adds an Authyo Form widget to Elementor with OTP verification for email and phone fields, plus lead management.
OTP channels
Email, SMS, WhatsApp and Voice Call.
How you add it
Drag the Authyo Form widget (in the Authyo category) onto a page in the Elementor editor. There is no shortcode.
You need
Elementor (free or Pro), WordPress 5.8+, PHP 7.4+, and an Authyo account with a Client ID and Client Secret.
Settings location
WordPress admin, under Authyo OTP for Elementor Form (General Settings, Lead Management and How to Use).
Form fields
First Name, Last Name, Email, Phone, Message, Dropdown, Checkbox, Radio Button, File Upload, Hidden Field and Multi-Step Form.

Overview

Authyo OTP for Elementor Form adds its own form widget to Elementor. You build the form with the fields you need, switch on Enable OTP for the email and phone fields, and visitors verify their contact details with a one-time password (OTP) before they can submit.

The plugin also saves every submission in a Lead Management screen, where you can filter, change the status of and export your leads.

This plugin is an independent add-on for Elementor, developed by Konceptwise Digital Media Pvt. Ltd. It is not affiliated with, endorsed by or supported by Elementor Ltd.

  • Authyo Form widget

    A complete form builder inside Elementor, with 11 field types and styling controls.

  • OTP on email and phone

    Switch on OTP for each email or phone field on its own.

  • Four OTP channels

    Email, SMS, WhatsApp and Voice Call, with a primary phone method and fallback.

  • Multi-step forms

    Split a long form into steps with Next and Previous buttons and a step indicator.

  • File uploads

    Let visitors attach files. They are stored in your Media Library.

  • Lead Management

    See every submission, set its status, search, filter, export to CSV and delete.

  • Country selector

    A phone field with 250+ countries. Show all, or only the ones you serve.

  • Failsafe protection

    Optionally let forms submit if an OTP cannot be sent, for example when your balance runs out.

Requirements

  • WordPress 5.8 or later and PHP 7.4 or later.
  • Elementor installed and activated. Both the free plugin and Elementor Pro work.
  • 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 Elementor first, then the Authyo plugin.

  1. Install and activate Elementor

    Go to Plugins → Add New, search for Elementor, then click Install Now and Activate. Skip this step if it is already active.

  2. Install Authyo OTP for Elementor Form

    Go to Plugins → Add New, search for Authyo OTP for Elementor Form, then click Install Now and Activate. You can also upload the plugin ZIP using Plugins → Add New → Upload Plugin.

  3. Open the plugin menu

    A new Authyo OTP for Elementor Form item appears in the WordPress admin menu, with three pages: General Settings, Lead Management and How to Use. If your credentials are not set, a notice reminds you to configure them.

Setup

Connect the plugin to your Authyo account. You can use the setup wizard, or fill in the settings yourself.

  1. Create your Authyo account

    Go to app.authyo.io and create a free account.

  2. 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.

  3. Paste them into General Settings

    Go to Authyo OTP for Elementor Form → General Settings → General. Under API Credentials, enter the Client ID and Client Secret, then click Save Changes. The page shows Connected once the credentials are set.

    The setup wizard has five steps: Credentials, Channels, Countries, OTP Behaviour and Finish. It covers the same settings as the tabs.

  4. Enable your OTP channels

    Open the OTP Channel tab. Switch on Email OTP, SMS OTP, WhatsApp OTP and Voice Call OTP as needed. Set a Primary Phone OTP Method and choose whether to Allow Visitor Method Choice. At least one channel is required.

  5. Review the OTP defaults and countries (optional)

    The OTP Defaults tab controls code length, expiry, resend cooldown and the resend limit. The Country tab controls which countries appear in the phone field. The recommended defaults work for most sites.

If your credentials are not set, OTP is switched off on your forms and no OTP is sent. Administrators see a message on the form with a link to the settings. Visitors do not.

How to use

The form is an Elementor widget, so you add it in the editor and not with a shortcode.

  1. Add the widget to a page

    Open a page or post with Elementor. Search for Authyo Form, or find it in the Authyo category, and drag it onto the page. It starts with these fields: First Name, Last Name, Email, Phone and Message.

  2. Set up the form fields

    Open Form Fields to add, remove or reorder fields. For each field you can set the Type, Label, Placeholder, Required and Column Width. Dropdown, Checkbox and Radio fields take their options one per line.

  3. Switch on OTP

    Click an Email or Phone field and set Enable OTP to Yes. Visitors must then verify that email address or phone number before they can submit. Each field is set on its own, so you can verify only the phone, only the email, or both.

  4. Add steps (optional)

    Add a Multi-Step Form field between the fields where you want to split the form. For example: name fields, a Multi-Step field, contact fields, another Multi-Step field, then the message gives three steps. Set the Button Label for the Next button. Required fields are checked before the visitor moves on, and Submit shows on the last step.

  5. Allow file uploads (optional)

    Add a File Upload field and set Max File Size (MB). The default is 10 MB. Files go into your Media Library and the file link is saved with the lead.

  6. Choose what happens after submit

    Under After Submit, set the Success Title and Success Message, or enter a Redirect URL to send visitors to a thank-you page.

  7. Style the form

    Use the Style tab to change the card, header, button and input field colors, radius, spacing and borders. The Buttons section controls the submit button’s size, alignment, text, link, ID and class.

  8. Publish and test

    Publish the page and submit the form as a visitor. Enter an email address or phone number, request the code, enter it and submit.

Settings reference

Every setting in the plugin, grouped by where you find it.

General Settings: API credentials 2
Client ID
The Client ID of your Authyo application.
Client Secret
The Client Secret of your Authyo application. Use the eye icon to show or hide it. After saving, leave it blank to keep the saved value.
General Settings: failsafe protection 2

Keeps submissions flowing if your Authyo wallet runs dry or the API is unreachable.

Bypass OTP on failure Default: Off
When on, forms still submit if Authyo cannot send an OTP, for example because of an empty wallet or a network error. Your site administration email is alerted when this happens.
Low Balance Warning (credits) Default: 50
An alert is sent to your site administration email when your wallet drops below this amount.
OTP Channel 7
Email OTP, SMS OTP, WhatsApp OTP, Voice Call OTP
Switch on the channels you want to offer. At least one is required.
Primary Phone OTP Method Default: SMS
The method used first for phone OTPs: SMS, WhatsApp or Voice Call.
Allow Visitor Method Choice Default: Off
Lets visitors pick their preferred delivery method when they request a code.
Fallback Timer (seconds)
If the primary method does not deliver, an alternative is suggested after this many seconds. Allowed range: 15 to 120.
Strict Validation (Multi-step Forms) Default: Off
When on, visitors cannot move to the next step until the required verification on the current step is complete.
Allow Skipping Email Verification Default: Off
Visitors can submit even if their email address is not verified.
Allow Skipping Phone Verification Default: Off
Visitors can submit even if their phone number is not verified.
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 60.
Resend Cooldown (seconds) Default: 30
How long visitors must wait before requesting another code. Allowed range: 0 to 300.
Max Resends Default: 3
How many times a visitor can request a new code. Allowed range: 1 to 10.
Country 3
All Countries / Specific Countries Default: All Countries
Show every country in the phone field dropdown, or only the ones you choose. Search to find a country.
Default Country
The country preselected when the phone field loads. It must be one of the allowed countries.
Country List Cache
The country list is fetched from Authyo and cached. Use Refresh Cache to get the latest list. A built-in fallback list is used if the Authyo list cannot be loaded.
Widget: Form Header 2
Title / Subtitle
The heading and the line of text at the top of the form.
Show Icon
Show or hide the icon in the header.
Widget: form field options 10
Type
First Name, Last Name, Email, Phone, Message, Dropdown, Checkbox, Radio Button, File Upload, Hidden Field or Multi-Step Form.
Label, Placeholder, Required
The text shown with the field, the hint inside it, and whether it must be filled in.
Options
For Dropdown, Checkbox and Radio fields. Enter each option on a new line.
Enable OTP
For Email and Phone fields. Set to Yes to require OTP verification.
Default Value
A value the field starts with. Useful for hidden fields.
Button Label Default: Next
For a Multi-Step Form field. The text on the Next button.
Column Width
How wide the field is, so you can place fields side by side.
Rows
The height of a Message field.
Max File Size (MB) Default: 10
For File Upload fields. The largest file allowed.
ID / Class
Optional ID and custom CSS classes for the field.
Widget: buttons and after submit 5
Submit Button Default text: Submit
The button text, plus an optional URL. When a URL is set, the button acts as a link instead of submitting the form.
Size, Column Width, Alignment
How the buttons look and where they sit.
Label and Required Mark
Show or hide the field labels and the required marker.
Success Title and Success Message Defaults: Submitted! / Your form has been submitted successfully.
What visitors see after submitting.
Redirect URL
Send visitors to this address after submitting. Leave it empty to show the success message.
Lead Management 5
Status
Each lead is New, Contacted, Converted or Spam. Change it from the dropdown.
Search and filter
Search leads and filter by status.
Lead details
Open a lead to see its date, form, channel, OTP status and every submitted field.
Export CSV
Download leads with ID, date, form, status, channel and all field values.
Delete
Delete one lead, or select several and use Delete Selected. This cannot be undone.

Troubleshooting

Most problems have a quick fix. Find your issue below.

I do not see the Authyo Form widget in Elementor
Check that Elementor is installed and active and that the Authyo plugin is active. Reload the Elementor editor, then search for “Authyo Form” or look in the Authyo category.
The form shows a message that OTP is disabled
Your Client ID and Client Secret are not set. Only administrators see this message. Open General Settings, enter the credentials and save.
The “Enable OTP” option is missing on a field
The option appears only on Email and Phone fields. If a notice says the credentials are not set, configure them in General Settings first.
The OTP does not arrive
Check your Client ID and Client Secret, that the channel is switched on in the OTP Channel tab, and that your Authyo wallet has balance. Check that the email address or phone number is valid. If you see “No OTP channels are enabled”, switch on at least one channel.
Visitors see “Please enter a valid email address” or “valid phone number”
The contact detail is not in a valid format. For phone numbers, choose the right country and check the digits.
Visitors see “Too many attempts” or “Too many verification attempts”
The visitor reached the limit for codes. They should wait a few minutes and try again. You can allow more resends with Max Resends under OTP Defaults.
Visitors see “The OTP you entered is invalid”
The code was wrong. Check the digits and try again, or request a new code.
Visitors see “Session expired. Please send a new OTP”
The code timed out. By default a code is valid for 5 minutes. Ask the visitor to request a new one, or raise Expiry (minutes) (up to 60).
Visitors see “OTP verification is required. Please verify all OTP fields before submitting”
Every field that has OTP enabled must be verified before the form can be submitted. Ask the visitor to verify each one, or switch on the skip options in the OTP Channel tab.
Visitors see “This form could not be validated. Please reload the page” or an invalid nonce message
The page was open for a long time, or an old cached copy is being shown. Reload the page. If it keeps happening, exclude the page from caching.
The country list is empty or says unavailable
Check your internet connection and credentials, then open General Settings → Country and click Refresh Cache.
Forms submit without OTP when my wallet is empty
That is the Bypass OTP on failure setting. When on, forms continue to submit if an OTP cannot be sent, and an alert goes to your site administration email. Top up your Authyo wallet to restore verification, or turn the setting off.

Frequently asked questions

Do I need an Authyo account?
Yes. You need an Authyo account to get a Client ID and Client Secret for the plugin settings.
Which OTP channels are supported?
Email, SMS, WhatsApp and Voice Call. You can switch each channel on or off in the OTP Channel tab.
Does it work without Elementor Pro?
Yes. It works with the free Elementor plugin and with Elementor Pro.
How do I turn OTP on for a field?
In the Authyo Form widget, click an Email or Phone field and set Enable OTP to Yes.
Can I build multi-step forms?
Yes. Add a Multi-Step Form field wherever you want a new step. Next and Previous buttons and a step indicator appear automatically.
Where are my form submissions saved?
In Authyo OTP for Elementor Form → Lead Management, where you can search, filter, change status, delete and export to CSV.
Where do uploaded files go?
Into your WordPress Media Library. The file link is saved with the lead.
What happens if Authyo cannot be reached?
If Bypass OTP on failure is on, forms still submit and your site administration email is alerted. If it is off, the visitor cannot submit until verification works.
What data is sent to Authyo?
To send a code, the visitor’s email address or phone number, the channel, and the code length and expiry are sent. To verify, a temporary session token and the code the visitor entered are sent. The requests are made from your server, not from the visitor’s browser.
Is the country list cached?
Yes. It is fetched from Authyo once and stored. You can refresh it from the Country tab.
Is this plugin made by the Elementor team?
No. It is developed by Konceptwise Digital Media Pvt. Ltd. and is not affiliated with, endorsed by or supported by Elementor Ltd.

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.

Get support