Msg91 Help Doc
Text SMS

Text SMS

How to Send SMS via MSG91 panel

Custom SMS is a feature through which you can send messages to many people at one time by changing some fields such as the name of the receiver, mobile number, or other details. The content other than these fields will remain the same for all recipients.

You can follow the below-mentioned steps to send a custom SMS:

  1. Create an Excel Sheet with the first row reserved for the heading of the respective column, and save the file in CSV format. (You can read about the CSV file on

    What is a CSV file?

    )

  2. Select "Send SMS" on the panel, and click on the mobile number field to import the sheet created by using the Upload File option which appears on the right-hand side of the screen.

    image
  3. Enter the

    Sender ID

    through which you wish to send the SMS

  4. Select the column in which the mobile numbers are present.

    image

  5. Type in the content of the SMS you wish to send. Select the variable field where you want the variable field to be inserted.

    image
  6. Set the name of the campaign, and Click on Preview and Send.

  7. Once you are sure by checking the preview you can send the SMS by pressing the Start SMS process button.

NOTE: If sent without a country code, submission and deduction depend on the detected country based on the starting number: For, 91xxxxxxxxxx, etc

Frequently Asked Questions

Why use custom SMS instead of regular bulk SMS?

Custom SMS enhances engagement by adding personal touches (e.g., “Hi Martha”),

boosting open rates and customer connection.

How do I insert personalized fields into my message?

In the message composer, use the insert-variable option where needed (like {{name}}).

Map to your CSV column during preview.

How can I monitor delivery and read rates?

MSG91 provides delivery logs and reports in the dashboard to track custom SMS status

after sending. (Common with all SMS campaigns.)

Is DND or spam regulation compliance handled automatically?

MSG91 suites support regulatory compliance, but you should ensure recipient opt-in

and include opt-out instructions or abide by regional SMS laws.

Custom SMS Sender Tutorial: Sending Personalized Messages at Scale
Jul 8, 2025

To send international SMS you must make sure to:

  1. Comply with the respective Sender ID rules of the country you are sending SMS to as there are different Sender ID registration processes for different countries. Refer to

    this

    article to check these rules.

  2. Always add the correct country code to the mobile numbers while sending the SMS (e.g. 919999999999)


If sent without a country code, submission and deduction depend on the detected country based on the starting number.

Note- You don't need to add a '+' or '-' sign or include any space before the number.

Frequently Asked Questions

How can I send international SMS from India using MSG91?

You can send international SMS by enabling the "Transactional Route" in your MSG91

dashboard, configuring global sender IDs, and ensuring your credits support international

routing.

Do I need a special sender ID for international SMS?

Yes, many countries require pre-approved sender IDs. MSG91 allows you to register and

configure sender IDs for each destination country.

Are there different SMS routes for international messages?

Yes, international SMS uses different routing compared to domestic. You can select standard or

premium routes based on delivery speed and reliability in your MSG91 settings.

How much does it cost to send international SMS from India?

International SMS costs vary by destination country and route quality. MSG91 provides detailed

rate charts in your account panel.

Why are my international SMS messages not delivering?

Non-delivery may be due to invalid numbers, unregistered sender IDs, or country-specific filters.

MSG91’s delivery reports help troubleshoot these issues.

Is OTP delivery supported for international users?

Yes, MSG91 supports international OTP SMS. However, make sure you use a route optimized

for time-sensitive transactions.

How to send International SMS?
Jul 8, 2025

Sometimes, even when sending purely Transactional or OTP messages, your message can fail with a DND error. It is important to note that messages approved under the Service Explicit or promotional category on the respective DLT platform will not be delivered to DND-enabled numbers. We request that you approve the content (Transactional or OTP) under the Service Implicit / Inferred category on the DLT platform to resolve this issue.

As per TRAIs guidelines, a person can enable DND (do not disturb) on his mobile number.

Type of DND options:

1. Full DND: A person who SELECTS the 1st option, i.e. all 8 categories are Blocked except Service Implicit (Template) SMS. Here, any Service Explicit or Promotional SMS will not be delivered to this mobile number.

573a2af4c5589287aca832ded52af84a.png-smeh4b

2. Promo DND: A person who SELECTS the 2nd option, i.e. all 8 categories are Blocked except Transactional, Service Implicit, and Explicit (Template) SMS. Here, only Promo SMS with numeric header will not be delivered.

98dadb079d2af727919a88f82c3e337d.png-ndr3yd

3. Industry-wise DND: A person can select industries from which they do not wish to receive any promotional and service explicit Template SMS.

418aef7b85a9afc3048341789a7856f1.png-qybi3v

Note:

In order to allow your SMS to be delivered to that customer (recipient), then you need to ask him to change his DND Preference. For this, he has to download the DND 2.0 app from Play store or Appstore and change the DND preference to receive your Explicit (Template) SMS.00

DND Error while send Transactional or OTP messages
TransactionalOTP messagesService ImplicitDND errorDND preference
Invalid Date


If you are sending an SMS from your account and your account status is 'demo,' you will receive the content as:

"You have received this SMS as per your testing. To start sending actual content, kindly contact

[email protected]

. -- Team MSG91"


To activate your account, KYC verification is required. There are two options to do the KYC you can either do the E-KYC or You can upload the documents.


Once you log in to your MSG91 account, a pop-up will appear prompting you to update your KYC details. 

Kb172691411509000517


Note : If you do not see the pop-up, you can click on 'Complete Your KYC,' and the pop-up will appear.

Kb172692627243017717


1. If you want to do the E-KYC please click on the e-KYC option and complete the KYC process using the authorized person's Aadhaar card (e-KYC is only for India). Enter the Aadhaar Card number and click 'Next.' An OTP will be sent to the mobile number registered with your Aadhaar Card.

Kb172691866718909172


Once you have verified the OTP, you can click on allow and the KYC will be completed for your account.


                                                                              OR


2. You can also select the 'Verify' option to complete the process by uploading scanned copies of the required documents. 

There are two categories: 

  • DRIVING LICENSE/PASSPORT (of the authorized person)  

  • TRADE LICENSE/BUSINESS REGISTRATION. (Upload a clear copy of an original document of your organization.)


Please ensure you upload these documents accordingly and click on submit.

Kb172691866852452617


After uploading the documents, please wait at least one hour as our system processes them. It may take some time to complete the verification.

Kb172691875764121117


In case you encounter any issues while completing the KYC process, feel free to reach out to us at

[email protected]

for assistance.


My account status is in the demo, what can I do to make my account live?
Invalid Date

Introduction: MSG91 is a leading communication platform that provides a wide range of services to businesses of all sizes. Its services include SMS, voice communication, email marketing, two-factor authentication, and more. We can configure MSG91 as a Custom Connector on the MoEngage Dashboard.


This guide will help you set MSG91 as a Custom Connector on the MoEngage dashboard.

                                                                          Integration 


Prerequisites - Ensure you have access to the MSG91 Dashboard and have an Authkey for your MSG91 account.

If not,


1. Create a New Account: For signup click on this

link.

2. Get Your Authkey: Refer to this

helpdoc

 on how to create an Auth key.


  • To set up MSG91 as a Custom Connector on the MoEngage dashboard, please follow these steps:


1. Log in to the MoEngage dashboard.

2. Navigate to Settings -> Channel -> SMS & Connectors and click on the SMS Connector Config tab.

3. Click +CREATE beside the Custom Connectors option on the left menu to add a new connector.


Once you click Create, a new connector named ‘New Connector’ gets added to the left menu. Select this newly added connector to set up your custom connector.




Step 1: Set the Connector

Field

Description

Connector Name

Write the name to identify the connector - e.g. MSG91

Sender Name

Write the name to identify the sender


Step 2: Configure the API URL

- This field contains information about the URL that should be used to send an API request to the Sender. In the API URL field paste the below 


API URL- 

https://api.msg91.com/api/sendhttp.php?authkey=value&sender=value&mobiles=value&route=value&message=value&DLT_TE_ID=value&response=json&pluginsource=70


- Select: GET as a Method

- Here is the description of the above API URL Parameters:



Authkey



Enter your MSG91 Authkey


Sender

Enter your DLT-approved Header / Sender ID

Mobiles


Enter the value as “Moesms_destination” (This is the recipient or destination number on which the message will be delivered)

Route


4 (For Transactional Messages)


1 (For Promotional Messages)


Message


Enter the value “Moesms_message” (The message content will be passed in this field)

DLT_TE_ID


Enter the value of the DLT Template ID as “Moesms_dltTemplateId”

(This is only mandatory for users sending messages to Indian Numbers)

Response


Json (For getting a response in JSON format)

Pluginsource


70 (Fixed Value for Analytics)


Step 3: Test and Save the settings


Click Send Test SMS to verify whether the configuration is correct. After a successful test, Click Save to save the settings.


Step 4: Delivery Tracking


Delivery tracking allows you to track the delivery status of the SMS messages sent using custom connectors. Delivery tracking will show a metric - Delivered, which helps you understand whether messages have been delivered to the user and analyze delivery failures and errors.


You can configure delivery tracking after creating the sender in the MoEngage Dashboard. For information about Delivery Tracking, refer to 

Delivery Tracking in Custom Connectors

.


Here is the sample response:

Mapping Guide: You can either map the fields from the delivery response or map the fields manually by choosing the desired option. This mapping helps MoEngage to understand the custom connector's delivery response.


Refer to the below image for reference:


Then, Click Save to Save the delivery tracking configuration for the custom connector.

How to use MSG91 SMS Connector for MoEngage:
connectormoengageCustom ConnectorAPI URLIntegration Prerequisites
Jul 7, 2025


Unicode is an encoding standard in which you can send SMS in different non-English scripts and target a wider audience. It uses UTF 8 encoding of international standards and provides a unique number to each character. A 

Unicode is a 4 Byte character that covers all the non-English languages in the world.
It is compatible with all the browsers, devices, search engines, operating systems, and other parts of the internet ensuring a seamless multi-platform system to convey text messages in different international languages.


A typical SMS credit consists of 70 Unicode characters unlike that of GSM-7 (English text characters) whose 160 characters make an SMS credit.  


Below are some of the characters which are treated as Unicode, along with this emojis or emoticons are also considered Unicode.


¿

À

Á

Â

Ã

Ä

Å

Æ

Ç

È

É

Ê

Ë

Ì

Í

Î

Ï

Ð

Ñ

Ò

Ó

Ô

Õ

Ö

×

Ø

Ù

Ú

Û

Ü

Ý

Þ

ß

à

á

â

ã

ä

å

æ

ç

è

é

ê

ë

ì

í

î

ï

ð

ñ

ò

ó

ô

õ

ö

÷

ø

ù

ú

û

ü

ý

þ

ÿ

Ā

ā

Ă

ă

Ą

ą

Ć

ć

Ĉ

ĉ

Ċ

ċ

Č

č

Ď

ď

Đ

đ

Ē

ē

Ĕ

ĕ

Ė

ė

Ę

ę

Ě

ě

Ĝ

ĝ

Ğ

ğ

Ġ

ġ

Ģ

ģ

Ĥ

ĥ

Ħ

ħ

Ĩ

ĩ

Ī

ī

Ĭ

ĭ

Į

į

İ

ı

IJ

ij

Ĵ

ĵ

Ķ

ķ

ĸ

Ĺ

ĺ

Ļ

ļ

Ľ

ľ

Ŀ

ŀ

Ł

ł

Ń

ń

Ņ

ņ

Ň

ň

ʼn

Ŋ

ŋ

Ō

ō

Ŏ

ŏ

Ő

ő

Œ

œ

Ŕ

ŕ

Ŗ

ŗ

Ř

ř

Ś

ś

Ŝ

ŝ

Ş

ş

Š

š

Ţ

ţ

Ť

ť

Ŧ

ŧ

Ũ

ũ

Ū

ū

Ŭ

ŭ

Ů

ů

Ű

ű

Ų

ų

Ŵ

ŵ

Ŷ

ŷ

Ÿ

Ź

ź

Ż

ż

Ž

ž

ſ

ƀ

Ɓ

Ƃ

ƃ

Ƅ

ƅ

Ɔ

Ƈ

ƈ

Ɖ

Ɗ

Ƌ

ƌ

ƍ

Ǝ

Ə

Ɛ

Ƒ

ƒ

Ɠ

Ɣ

ƕ

Ɩ

Ɨ

Ƙ

ƙ

ƚ

ƛ

Ɯ

Ɲ

ƞ

Ɵ

Ơ

ơ

Ƣ

ƣ

Ƥ

ƥ

Ʀ

Ƨ

ƨ

Ʃ

ƪ

ƫ

Ƭ

ƭ

Ʈ

Ư

ư

Ʊ

Ʋ

Ƴ

ƴ

Ƶ

ƶ

Ʒ

Ƹ

ƹ

ƺ

ƻ

Ƽ

ƽ

ƾ

ƿ

ǀ

ǁ

ǂ

ǃ

DŽ

Dž

dž

LJ

Lj

lj

NJ

Nj

nj

Ǎ

ǎ

Ǐ

ǐ

Ǒ

ǒ

Ǔ

ǔ

Ǖ

ǖ

Ǘ

ǘ

Ǚ

ǚ

Ǜ

ǜ

ǝ

Ǟ

ǟ

Ǡ

ǡ

Ǣ

ǣ

Ǥ

ǥ

Ǧ

ǧ

Ǩ

ǩ

Ǫ

ǫ

Ǭ

ǭ

Ǯ

ǯ

ǰ

DZ

Dz

dz

Ǵ

ǵ

Ƕ

Ƿ

Ǹ

ǹ

Ǻ

ǻ

Ǽ

ǽ

Ǿ

ǿ

Ȁ

ȁ

Ȃ

ȃ

Ȅ

ȅ

Ȇ

ȇ

Ȉ

ȉ

Ȋ

ȋ

Ȍ

ȍ

Ȏ

ȏ

Ȑ

ȑ

Ȓ

ȓ

Ȕ

ȕ

Ȗ

ȗ

Ș

ș

Ț

ț

Ȝ

ȝ

Ȟ

ȟ

Ƞ

ȡ

Ȣ

ȣ

Ȥ

ȥ

Ȧ

ȧ

Ȩ

ȩ

Ȫ

ȫ

Ȭ

ȭ

Ȯ

ȯ

Ȱ

ȱ

Ȳ

ȳ

ȴ

ȵ

ȶ

ȷ

ȸ

ȹ

Ⱥ

Ȼ

ȼ

Ƚ

Ⱦ

ȿ

ɀ

Ɂ

ɂ

Ƀ

Ʉ

Ʌ

Ɇ

ɇ

Ɉ

ɉ

Ɋ

ɋ

Ɍ

ɍ

Ɏ

ɏ

ɐ

ɓ

ɔ

ɕ

ɖ

ɗ

ɘ

ə

ɚ

ɛ

ɜ

ɝ

ɞ

ɟ

ɠ

ɣ

ɤ

ɥ

ɦ

ɧ

ɨ

ɩ

ɪ

ɫ

ɬ

ɭ

ɮ

ɯ

ɰ

ɱ

ɲ

ɳ

ɴ

ɵ

ɶ

ɷ

ɸ

ɹ

ɺ

ɻ

ɼ

ɽ

ɾ

ɿ

ʀ

ʁ

ʂ

ʃ

ʄ

ʅ

ʆ

ʇ

ʈ

ʉ

ʊ

ʋ

ʌ

ʍ

ʎ

ʏ

ʐ

ʑ

ʒ

ʓ

ʔ

ʕ

ʖ

ʗ

ʘ

ʙ

ʚ

ʛ

ʜ

ʝ

ʞ

ʟ

ʠ

ʡ

ʢ

ʣ

ʤ

ʥ

ʦ

ʧ

ʨ

ʩ

ʪ

ʫ

ʬ

ʭ

ʮ

ʯ

Φ

Χ

Ψ

Ω

Ϊ

Ϋ

ά

έ

ή

ί

ΰ

α

β

γ

δ

ε

ζ

η

θ

ι

κ

λ

μ

ν

ξ

ο

π

ρ

ς

σ

τ

υ

φ

χ

ψ

ω

ϊ

ϋ

ό

ύ

ώ

Ϗ

ϐ

ϑ

ϒ

ϓ

ϔ

ϕ

ϖ

ϗ

Ϙ

ϙ

Ϛ

ϛ

Ϝ

ϝ

Ϟ

ϟ

Ϡ

ϡ

Ϣ

ϣ

Ϥ

ϥ

Ϧ

ϧ

Ϩ

ϩ

Ϫ

ϫ

Ϭ

ϭ

Ϯ

ϯ

ϰ

ϱ

ϴ

ϵ

϶

Ϸ

ϻ

ϼ

Ͻ

Ͼ

Ͽ

Ѐ

Ё

Ђ

Ѓ

Є

Ѕ

І

Ї

ϸ

˥

˦

˧

˨

˩

Š

Œ

Ž

®

©

§

¥

¢

£

¤

¬

±

µ

¼

½

¾

º

±  

Note: All junk and hidden characters act as Unicode.

What is Unicode and which characters come under Unicode?
Invalid Date


MSG91 supports sending SMS both within the same country and from one country to another (international SMS). This guide is specifically for non-Indian clients — whether you're sending messages from the US to the UK, Mexico to Mexico, or any country to another, we’ve got you covered.


Step 1: Verify Your Account

Before testing the SMS service, you must complete account verification.

Here's how:

  1. Login to your MSG91 account

    https://control.msg91.com

  2. Click the "Verify" button at the top right

  3. A popup will appear – click on “Verify” to proceed.

image


  1. After clicking "Verify", a second popup will appear.
    Select the document type one by one as mentioned below:

image


First, select and upload your Identity Document (Driving License or Passport)

  • Upload in JPG, PNG, or PDF

  • File size must be below 1 MB

  • Click Submit for review

Screenshot 2025-06-24 at 2.05.08 PM.png


Then, select and upload your Business Document (Trade License or Business Registration)

  • Accepted formats: JPG, PNG, or PDF

  • File size must be below 1 MB

  • Click Submit after uploading for review

Screenshot 2025-06-24 at 2.05.33 PM.png


Step 2: Get Verified

  • Document review takes only a few minutes

  • Once verified, you’re ready to test and send SMS globally


How to Test SMS/OTP

Once your account is verified, you can start testing SMS or OTP through the dashboard or via API.

Test via Dashboard

  1. Login to your SMS portal

  2. From the dashboard, select the SMS service

image


  • Go to Sender ID section:

    • Click Add Sender ID

    • Choose the country

    • Enter your desired header (usually your company name)

    • Click Create

Screenshot 2025-06-24 at 2.20.12 PM.png


  • Now go to Send SMS:

    • Enter a valid mobile number using country code

    • Write your message content

    • Click Send

    • You will receive the SMS on the number

Screenshot 2025-06-24 at 2.25.10 PM.png


How to Test SMS/OTP via API

To test SMS/OTP using API, you must first create a template on the MSG91 dashboard:

  • First, create a template:

  • Go to Templates > Create Template

  • Enter your message content and save

Screenshot 2025-06-24 at 2.25.53 PM.png


Use the API to test: View API Guide :

MSG91 API Docs – Send SMS


Need Help?

If you need assistance, you can

book a meeting with an expert

for personalized support.




How to Send SMS – Step-by-Step Guide for Global Users
Jun 24, 2025

To help you efficiently track and correlate your SMS API requests, we support optional metadata parameters that can be passed in your request payload. These values are returned as-is in delivery reports and webhook callbacks (where supported), enabling seamless mapping with your internal systems.


1. clientId

  • Purpose:
    Allows you to receive the same clientId in webhook callbacks, helping you associate responses with your original request.

  • Availability:
    Supported only in Webhook v2.

  • Usage:

    • Can be passed either as a top-level parameter or within a metadata object.

    • This parameter is not validated by our system (for backward compatibility).


2. CRQID

  • Purpose:
    Enables request-level tracking for reconciliation in delivery reports and webhook callbacks.

  • Availability:
    Supported in all versions of webhook and delivery reports.

  • Usage by Request Type:

Request Type

Usage Instructions

Bulk / Single

Pass one CRQID at the top level of the request (outside the recipients array).

Advance

Pass a unique CRQID for each recipient, inside each entry of the recipients array.


3. UUID

  • Purpose:
    Functions the same as CRQID for request tracking and correlation.

  • Availability:
    Supported in all versions of webhook and delivery reports.

  • Usage:
    Follows the same structure and rules as CRQID for Bulk, Single, and Advance request types.


Summary Table

Parameter

Purpose

Webhook Support

Delivery Report Support

clientId

Identifies the request in webhooks

Webhook v2 only

❌ Not returned in reports

CRQID

Tracks and correlates SMS requests

All versions

✅ Yes

UUID

Alternative to CRQID for tracking

All versions

✅ Yes


Notes

  • Allowed characters for CRQID and UUID:
    Alphanumeric + _ (underscore), . (dot), - (hyphen)

  • Maximum length:
    80 characters


Custom Metadata Parameters for Tracking Requests
Jul 7, 2025