# Authyo OTP for Met Form

> Add email and phone OTP verification to your MetForm forms. Switch OTP on for a form and its Email and Telephone fields are verified by SMS, WhatsApp, Email or Voice Call before visitors can submit.

Source: https://authyo.io/authyo-docs/authyo-otp-for-met-form/

> 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 MetForm forms, and saves every MetForm submission as a lead.
- **OTP channels:** Email, SMS, WhatsApp and Voice Call (Voice Call is available in India only).
- **How you add it:** Switch on **Enable OTP** for a form in the **Forms** tab. The form’s standard Email and Telephone fields are detected automatically. No special widget is needed.
- **Works with:** Forms built with MetForm’s own form builder, and forms built with Elementor.
- **You need:** MetForm, WordPress 6.2+, PHP 7.4+, and an Authyo account with a Client ID and Client Secret.
- **Settings location:** WordPress admin, under **Authyo OTP for Met Form**.
- **Safety net:** If your Authyo wallet balance runs out, forms keep accepting submissions without OTP so no leads are lost.
- **Get the plugin:** [WordPress.org: Authyo OTP for Met Form](https://wordpress.org/plugins/authyo-otp-for-met-form/)

## Overview

**Authyo OTP for Met Form** adds a one-time-password check to your MetForm forms. Visitors verify their email address or phone number before the form can be submitted, so only real people reach your inbox.

There is nothing to add to the form itself. Build your form as usual with MetForm’s standard **Email** and **Telephone** widgets, then switch on **Enable OTP** for that form in the **Forms** tab. The plugin finds the fields and adds the OTP steps to them.

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

- **Per-form switch:** Turn OTP on for the forms you choose. Email and phone can be switched on or off separately for each form.
- **Automatic field detection:** The standard MetForm Email and Telephone widgets are found automatically, in MetForm’s builder or in Elementor.
- **Four OTP channels:** Email, SMS, WhatsApp and Voice Call. Voice Call is currently available in India only.
- **Fallback methods:** If the code does not arrive, visitors can try another channel after a short wait. You can also let them choose a method straight away.
- **Met Form Entries:** Every MetForm submission is saved as a lead, with its verification status: Verified, Skipped or Unverified.
- **Country selector:** Show all countries, selected countries only, or a single country.
- **Setup popup:** A guided popup takes you from credentials to a form with OTP.
- **Fail-safe protection:** If your balance runs out, forms keep working without OTP so you do not lose leads.

## Requirements

- WordPress **6.2** or later and PHP **7.4** or later.
- **MetForm** 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 MetForm first, then the Authyo add-on.

### Step 1: Install and activate MetForm
Go to **Plugins → Add New**, search for **MetForm**, then click **Install Now** and **Activate**. Skip this step if it is already active.

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

### Step 3: Open the plugin settings
A new **Authyo OTP for Met Form** item appears in the WordPress admin menu. The settings page has five tabs: **General**, **Verification Methods**, **Forms**, **Met Form Entries** and **Support**.

## Setup

Connect the plugin to your Authyo account and choose how OTPs are sent. You can use the setup popup (Credentials, Channels, Countries, OTP Behaviour and Form Setup), or fill in the tabs yourself.

### Step 1: Create your Authyo account
Go to [app.authyo.io](https://app.authyo.io/account/welcome) and create a free account.

### Step 2: Copy your credentials
Open [your applications](https://app.authyo.io/application/userapplication) in the Authyo dashboard and copy the **Client ID** and **Client Secret**. Create an application first if you do not have one.

### Step 3: Paste them into the General tab
In WordPress go to **Authyo OTP for Met Form → General**. Under **API Credentials**, enter the **Client ID** and **Client Secret**, then save. After saving, each field shows **Saved**. Leave a field blank to keep the saved value.

_**Failsafe:** if your Authyo wallet balance runs out, the plugin automatically bypasses OTP verification so your forms keep working._

### Step 4: Choose your OTP channels
Open the **Verification Methods** tab. Under **Enable OTP Channels**, switch on **Email**, **SMS**, **WhatsApp** and **Voice Call** as needed. For phone channels, your form must include a phone number field. Voice Call is currently available only for India.

### Step 5: Set the phone method and country list (optional)
Under **Phone OTP Settings**, choose the **Primary Phone OTP Method**. Under **Country Dropdown Configuration**, choose **All Countries**, **Selected Only** or **Single Country**, and set a **Default Country**.

## How to use

OTP is switched on per form in the plugin settings. You do not edit the form.

### Step 1: Build your form as usual
Create the form with MetForm’s own builder or with Elementor. Use the standard **Email** and **Telephone** widgets. Save the form so its fields are stored.

### Step 2: Open the Forms tab
Go to **Authyo OTP for Met Form → Forms**. Your MetForm forms are listed with their Email and Phone fields.

### Step 3: Switch on Enable OTP
Switch on **Enable OTP** for each form you want to protect. You can switch the **Email Field** and the **Phone Field** on or off separately. If a form has both, both are verified by default.

_If a form shows “No Email or Telephone field found in this form”, it has no saved fields yet. Add an Email or Telephone widget in the form editor and click Save. Forms that already use the older **Authyo Email** or **Authyo Phone** widgets still work and are detected the same way._

### Step 4: Save and test the form
Save your settings and open the form on your site. Enter an email address or phone number, request the code, enter it and submit.

_The Forms tab warns you if the channel you need is not switched on: for example, that no channel is enabled, that the Email channel is off, or that no phone channel is enabled. In those cases OTP will not run, even when it is switched on for the form._

## Settings reference

Every setting in the plugin, grouped by the tab where you find it under **Authyo OTP for Met Form**.

### General

- **Client ID**: The Client ID of your Authyo application.
- **Client Secret**: The Client Secret of your Authyo application. Leave it blank to keep the saved value.
- **Country Selector Data**: The country list comes from Authyo and is cached. It is refreshed automatically every 7 days. The page shows whether it is cached, how many countries are loaded and when it was last updated. Use **Refresh Country List Now** to update it.

### Verification Methods: channels

- **Enable OTP Channels**: Switch on **Email**, **SMS**, **WhatsApp** and **Voice Call**. Voice Call is currently available only for India.
- **Primary Phone OTP Method** (Default: SMS): The method used first for phone numbers: SMS, WhatsApp or Voice Call. Visitors can pick another method if the code does not arrive.
- **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.
- **Fallback Timer (seconds)** (Default: 30): How long to wait before showing fallback options. It only applies when visitor method choice is off. Allowed range: 15 to 120.

### Verification Methods: OTP defaults

- **OTP Length** (Default: 6): Number of digits in the code. Allowed range: 4 to 6.
- **Expiry (minutes)** (Default: 5): How long a code stays valid. Allowed range: 1 to 10.
- **Resend Cooldown (seconds)** (Default: 30): How long visitors must wait before requesting another code. Allowed range: 10 to 120.
- **Max Resends** (Default: 3): How many times a visitor can request a new code. Allowed range: 1 to 5.

### Verification Methods: optional verification

By default verification is mandatory. These options add a **Skip Verification** option to the form. Use with caution.

- **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 dropdown

- **All Countries**: Show the complete list, with search.
- **Selected Only**: Show only the countries you choose.
- **Single Country**: Select one country automatically and hide the dropdown.
- **Default Country**: A country preselected when the form loads. Visitors can still change it.

### Forms

- **Enable OTP**: Turn OTP verification on for a MetForm form.
- **Email Field / Phone Field**: Switch email verification and phone verification on or off separately for each form. The tab shows the fields it found in each form.
- **Edit Form**: Opens the form so you can add or change its fields.

### Met Form Entries

Every MetForm submission on your site is saved here, whether or not the form uses OTP.

- **Columns**: ID, Date, Form Title, Lead Details, Status, Channel and Actions.
- **Status**: Verified, Skipped or Unverified.
- **Filter by Form**: Show entries from one form or from all forms.
- **Delete**: Delete an entry with its Delete link. Entries stay until you delete them.

## Troubleshooting

### The form does not ask for an OTP
Check that **Enable OTP** is switched on for that form in the **Forms** tab, that your credentials are saved, and that the right channel is enabled in **Verification Methods**. Email OTP does not run if the Email channel is off, and phone OTP does not run if no phone channel is on.

### The Forms tab says “No Email or Telephone field found in this form”
The form has no saved Email or Telephone field yet. Open it with **Edit Form**, add the standard Email or Telephone widget, and click Save.

### The Forms tab says no channel is enabled
Open **Verification Methods** and switch on at least one channel. Until then OTP will not run, even if it is switched on for a form.

### The OTP does not arrive
Check your **Client ID** and **Client Secret**, that the channel is switched on, that your Authyo wallet has balance, and that the email address or phone number is valid. Voice Call works only for India. Visitors can use the fallback options that appear after the timer.

### Forms submit without OTP even though it is switched on
If your Authyo wallet balance is empty, the plugin lets submissions through so no leads are lost. Check your balance and top up. Also check whether skipping is allowed for the channel.

### The country list is empty
Save your credentials, then open the **General** tab and click **Refresh Country List Now**.

### I see “Missing security nonce” or a security error
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 form page from caching.

### Some entries show as Unverified
Every MetForm submission is saved, including those from forms that do not use OTP, and an entry shows **Unverified** when the contact was not verified. To verify visitors on a form, switch on **Enable OTP** for it in the **Forms** tab.

### The code was wrong or expired
Ask the visitor to check the digits or request a new code. By default a code is valid for 5 minutes. You can raise **Expiry (minutes)** up to 10.

## Frequently asked questions

### Does this plugin require MetForm?
Yes. It is an add-on for MetForm and needs it installed and activated.

### Do I need an Authyo account?
Yes. You need an Authyo account to get a Client ID and Client Secret for the plugin settings.

### How do I set up OTP on a form?
Go to **Authyo OTP for Met Form → Forms** and switch on **Enable OTP** for the form. The Email and Telephone fields are detected automatically.

### Do I need a special widget?
No. The standard MetForm Email and Telephone widgets work, in MetForm’s builder and in Elementor. The older Authyo Email and Authyo Phone widgets are still supported.

### Can I use both email and phone OTP on the same form?
Yes. If a form has both an Email and a Telephone field, both are verified. You can turn either one off for each form in the Forms tab.

### What happens if my Authyo balance runs out?
The form still submits without OTP verification, so you never lose a lead because of a billing issue. Top up your Authyo wallet to turn verification back on.

### Can visitors skip verification?
Only if you allow it under **Verification Methods → Optional Verification**. By default verification is mandatory.

### Which countries are supported?
The country list comes from Authyo and includes 200+ countries. You can show all countries, a selected few, or a single country.

### Is user data stored on my site?
OTP codes are never stored locally. Temporary session data is kept in WordPress transients and expires automatically. Every MetForm submission, with the fields the visitor filled, their verification status and IP address, is saved in a local table so you can review it in the **Met Form Entries** tab. Entries stay until you delete them, and deleting the plugin removes the table and its entries.

### Is this plugin made by the MetForm team?
No. It is developed by Konceptwise Digital Media Pvt. Ltd. and is not affiliated with, endorsed by or supported by MetForm.

## Support

If this guide does not answer your question, submit the support form: https://authyo.io/support/
