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.
- Get the plugin
- WordPress.org: Authyo OTP for Elementor 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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
No settings match your search.
Troubleshooting
Most problems have a quick fix. Find your issue below.
I do not see the Authyo Form widget in Elementor
The form shows a message that OTP is disabled
The “Enable OTP” option is missing on a field
The OTP does not arrive
Visitors see “Please enter a valid email address” or “valid phone number”
Visitors see “Too many attempts” or “Too many verification attempts”
Visitors see “The OTP you entered is invalid”
Visitors see “Session expired. Please send a new OTP”
Visitors see “OTP verification is required. Please verify all OTP fields before submitting”
Visitors see “This form could not be validated. Please reload the page” or an invalid nonce message
The country list is empty or says unavailable
Forms submit without OTP when my wallet is empty
Frequently asked questions
Do I need an Authyo account?
Which OTP channels are supported?
Does it work without Elementor Pro?
How do I turn OTP on for a field?
Can I build multi-step forms?
Where are my form submissions saved?
Where do uploaded files go?
What happens if Authyo cannot be reached?
What data is sent to Authyo?
Is the country list cached?
Is this plugin made by the Elementor 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.