How to send login OTPs from your own MSG91 account
Send login OTP messages from your own MSG91 account, with your own Sender ID and DLT template. Covers the OTP template MSG91 needs, where to find your auth key, and how to fix the "Invalid Template" error.
Updated 1 Nov 2026 5 min read
On this page
By default, Zepio sends your customers' login OTPs for you and charges your SMS credits. If you want the OTP to come from your own Sender ID (for example SNACKM instead of a shared one), you can connect your own MSG91 account. MSG91 then sends the OTP and charges your MSG91 balance, not Zepio.
Where: Admin › Settings › Login
This is for stores in India.
Before you start
You need these three things ready. Most stores already have them if they send SMS through MSG91 today.
-
An MSG91 account with SMS balance.
-
A Sender ID (the 6-letter name customers see, like SNACKM) approved on DLT and added to MSG91.
-
A DLT-approved OTP message. This is the text you registered on your DLT portal (Jio, Vodafone Idea, Airtel and others). It has one variable where the code goes, written as
{#var#}. For example:Welcome to Snackmee - Food Delivery App! Your OTP to login is {#var#}. Do not share this code with anyone. - Snackmee
Keep the DLT template ID of that message handy. It is a long number (usually 19 digits) from your DLT portal.
The one thing to get right: use an OTP template
MSG91 has two kinds of templates, in two different places:
| SMS template | OTP template | |
|---|---|---|
| Where in MSG91 | SMS › Templates | OTP › Templates |
| How the code is written | Any name you like, such as ##num## or ##var## |
Always ##OTP## |
| Works with Zepio login? | No | Yes |
Zepio sends login codes through MSG91's OTP service, so it needs the ID of an OTP template. If you give Zepio the ID of an SMS template, MSG91 cannot find it and the customer never gets the code. In your MSG91 reports this shows as Template ID Missing or Invalid Template.
Already made an SMS template? That's fine. You don't need a new DLT approval. Just make an OTP template with the same DLT template ID, as below.
Step 1: Create the OTP template in MSG91
- Log in to MSG91 and open the OTP templates page. You can also get there from OTP › Templates.
- Click Add template at the top right.
- Fill in the form:
- Template name: anything that helps you find it, such as "Store login OTP".
- Sender ID: choose your DLT-approved Sender ID.
- DLT template ID: paste the DLT template ID of your approved OTP message.
- Message: paste your DLT-approved text exactly as approved, and replace
{#var#}with##OTP##.
- Click Add Template.
- MSG91 shows the new template ID. Copy it. This is the ID you'll give Zepio in Step 3.
Here is the same message written three ways, so you can see what goes where:
| Where | How the message looks |
|---|---|
| DLT portal (approved text) | Your OTP to login is {#var#}. Do not share this code with anyone. - Snackmee |
| MSG91 SMS template (does not work for login) | Your OTP to login is ##num##. Do not share this code with anyone. - Snackmee |
| MSG91 OTP template (use this one) | Your OTP to login is ##OTP##. Do not share this code with anyone. - Snackmee |
Everything except the variable must match your DLT text word for word: same spaces, same punctuation, same capital letters. If even one character is different, the telecom operator blocks the SMS.
Step 2: Copy your MSG91 auth key
- In MSG91, open Authkey. It is in the top menu, or in the menu under your username.
- Copy an existing auth key, or click Create New to make one just for Zepio.
Treat the auth key like a password. Anyone with it can send SMS from your MSG91 balance.
Step 3: Add your MSG91 details in Zepio
- In your Zepio admin, go to Settings › Login.
- Set Login method to Otp Login.
- Click I want to use my own Sender ID from MSG91.
- Read the notes, type CONFIRM and click Use my MSG91 account.
- Paste your auth key into MSG91 Auth Key.
- Paste the template ID from Step 1 into MSG91 OTP Template ID. Use the ID MSG91 gave you on the OTP templates page, not your DLT template ID and not an SMS template ID.
- Click Apply changes.
Step 4: Test it
- Open your store's website or app and log out.
- Log in with your own mobile number.
- You should get the SMS within a few seconds, from your Sender ID, with a 6-digit code.
The code works for 5 minutes. If the SMS doesn't come, check your MSG91 reports (see below) before trying again.
If the OTP doesn't arrive
Zepio hands the code to MSG91 and MSG91 says it accepted it, so the login page shows OTP sent successfully even when MSG91 later fails to deliver it. To see what really happened, open the reports in your MSG91 account, find the message sent to that number and look at its status.
"Template ID Missing or Invalid Template"
You gave Zepio the ID of an SMS template, not an OTP template. Follow Step 1 to make an OTP template with ##OTP##, then put its ID in MSG91 OTP Template ID.
The SMS is rejected by the operator, or shows as a DLT error The text in your MSG91 OTP template doesn't match your DLT-approved text exactly, or the Sender ID or DLT template ID is wrong. Compare them character by character. Also check that the DLT template is approved (not pending) and linked to that Sender ID on your DLT portal.
"Failed to send OTP" on the login page MSG91 turned down the request straight away. Usually the auth key is wrong or was deleted, or your MSG91 balance is empty. Copy the auth key again (Step 2), click Apply changes, and check your MSG91 balance.
"MSG91 credentials are not configured" MSG91 Auth Key or MSG91 OTP Template ID is empty in Settings › Login. Fill in both and click Apply changes.
Go back to Zepio's SMS
To stop using your own account, go to Settings › Login and click Revert back to Zepio SMS configuration. Login OTPs then go out through Zepio again and use your Zepio SMS credits.