Text SMS
How to Send SMS via MSG91 panel
Follow the below steps to send SMS seamlessly—
i) Sender ID Approval (Some countries have specific rules and regulations for Sender ID) -
To send SMS globally - Follow sender ID rules for different countries
#Note - For Indian companies to send SMS in India - Follow DLT guide
ii) Template (To keep your communication secure, spam free, and easy to edit anytime)
Add a Template for transactional SMS in MSG91 - Follow its quick process
iii) Automate this SMS via RESTful APIs
Integrate a single Campaign API for all channels - HelpDoc [Recommended]
OR
Integrate APIs separately for every channel -
For very specific use case which is not being solved by Campaign APIs - Use dedicated SMS API
#Note - If you are implementing OTP/Phone verification then use its dedicated service i.e. SendOTP - Follow its doc here
Step-by-step process to configure SMS
Nov 19, 2024Transactional VS Promotional
Following are the listed differences between Transactional and Promotional routes:
Transactional | Promotional |
1. These can be used for sending any type of information. Ex. Order updates, Bank Transactions, etc. | 1. These are specifically used for marketing purposes. Ex. sales, Offers, etc. |
2. Transactional SMS can be sent at any time | 2. Promotional SMS are sent between 10 AM to 9 PM only |
3. SMS can be sent on DND numbers | 3. SMS cannot be sent on DND numbers |
4. In API route=4 | 4. In API route=1 |
There is one more route (SendOTP route) which is for SendOTP. If you are looking for OTP services, we would suggest you opt for SendOTP because it has various advantages over the traditional transactional route:
Voice backup for failed SMS OTP, on our cost.
We generate the OTP on your behalf, we send and we verify. You just have to call the APIs.
The backend algorithm makes sure that the OTP is processed from our end in less than half a second.
P.S. We have upgraded mobile verification with SendOTP 2.0- faster, better performance, and enhanced security. To know about SendOTP 2.0 contact [email protected].
What is the difference between the Transactional, Promotional, and SendOTP routes?
Nov 19, 2024You can follow the below-described steps to send SMS from MSG91 dashboard:
1. Login to MSG91 user panel.

2. Click on “SMS” from the user panel.

3. Now click on the Send SMS (New) option.

4. You can send SMS by Segmento, uploading a CSV file, connecting a Google spreadsheet, or manually entering values.For sending SMS manually, please click on Enter manually.

5. Enter the mobile number. After entering the number, you have two options: "Use the SMS template" or "Enter message manually.". In the Use SMS template option, select the template and sender ID from the selection. If you have a URL in your SMS content, you can tick on the URL shortener option.
NOTE: If sent without a country code, submission and deduction depend on the detected country based on the starting number: For, 91xxxxxxxxxx, etc


6. After adding the template and Sender ID, please go to the variable mapping option and enter the values for each variable in your SMS content.

7. After entering the values, click on Review & Send.

7. After clicking on Review & Send, a new window will pop up where you can enter a mobile number. The message will be sent, and you can check the delivery report after some time, or you can also check the logs.

8. You will receive a success pop-up message, and you can check the logs for the delivery status.

How to send SMS from my MSG91 dashboard?
Feb 10, 2025Follow the below steps to get your Template ID to be used to send SMS API via Template(Flow) :
Goto the SMS from the Panel.

Click the "Template" section in the sidebar. On this page, you can add Template for your account by clicking on create a template. Copy the template ID from here and use the same as a Flow_ID, if any changes are needed, you can simply use the edit option on the right side of the screen to make the required changes.

Note: Previously defined variables in the added message cannot be changed. In case, you need to add some extra variables to the message, create a new flow by using this link.
Where to find my Template ID for MSG91 API?
Nov 11, 2024To check the Delivery Reports of the messages which you send, follow the below-given steps:
1. Login into your MSG91 account and select the SMS option on the dashboard.

3. Go to the Logs section from the sidebar. Here you can see all the campaigns which you create, with all the related details. You can select the date range and search by the request ID or mobile number along with the country code. Where there are multiple SMS, click on the message status to check the detailed reports of every mobile number, with a pie chart showing the delivery percentage.
Different colors in status have different meanings:
Red: Failed
Blue: Delivered
Yellow: Pending


5. To export the reports, please refer to this article.
Where can I check the SMS delivery reports?
Nov 9, 2024Check the reason for the failed API by clicking on the SMS Dashboard. Click on Alert and you will get the error with code and count.

By clicking on the failed request, you will be redirected to the Failed Logs section. You can directly check from failed logs from the SMS section =>Failed Logs. You can find the Request ID, Date, and Time on which the SMS was sent, Sender ID used, User IP, mobile number to which the SMS was sent, the message which was sent along with the reason why the SMS failed.

You can click here to see all the error codes.
I am unable to see the delivery report of the failed API. Where can I find them?
Nov 9, 2024If you are passing Encoded messages via SMS APIs other than MSG91 template (V5) APIs, you have to Enable Decoding settings, else it will affect your SMS delivery..
1. Go to the SMS Service from your MSG91 Dashboard:

2. In the SMS dashboard select the option Message Decoding:

Here you can select the Decoding as per your requirement:
1. Single Encoded Messages:
If you are passing Single Encoded messages, then you have to enable Single Decoding on MSG91 panel; if not enabled, the message will be decoded twice, resulting in incorrect message content.
Example: Hello+User%21+%0A%0AWelcome+to+MSG91%2C%0AThank+you
2. Double Encoded Messages:
If you are passing Double Encoded messages, then you have to enable Single Decoding on MSG91 panel; if not enabled, the message will be decoded only ones, resulting in incorrect message content.
Example: Hello%2BUser%2521%2B%250A%250AWelcome%2Bto%2BMSG91%252C%250AThank%2Byou
For any clarifications you can drop a mail to MSG91 Support at [email protected].
Why Single and Double Decoding is required
Nov 27, 2024Custom 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.

3. Enter the Sender ID through which you wish to send the SMS
4. Select the column in which the mobile numbers are present.

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.

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
How can I send personalized/custom SMS?
Jan 21, 2025Reasons for getting an error "Country code blocked":
1. You might be using an old authentication key for sending messages and its security settings(IP security) are turned off. [it is only applicable to countries except India (International)]
2. The specific country code prefix could be blocked in your settings.
3. You might have limit the specific pricing for the country.
Preventions that need to take to avoid getting the error:
1. Authkey: If you're using the old authentication key, you need to create a new authentication key (Auth Key) as a security measure. This practice enhances the security of your account in case the previous Auth Key gets compromised. - HelpDoc
OR
If you are unable to change the auth key for some specific reason (not recommended) so start using the IP security then the current auth key will work for you. - HelpDoc
2. Country Blocked: Go to the Dashboard>> Company Name>> Settings>> Limit Communication and from here you can see the blocked countries and you can unblock it.
3. Pricing Limitation: If you have enabled blocking by price in your settings then any communication above that price limit will be blocked. To disable the blocking by price, simply remove the limit or just increase the limit, allowing all communications, regardless of price.
Note: If you are still facing the issue you can contact us via chat or you can email us at [email protected]
Error: Country Code Blocked
Nov 11, 2024Send SMS is a feature using which you can send messages to many people at one time by using an excel file or manually entering them in the mobile number field available.
You can follow the below-mentioned steps to send an SMS using an excel file:
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 https://msg91.com/help/what-is-a-csv-file)
2. Login to the MSG91 panel and select SMS.

3. Select the Send SMS option from the sidebar and enter the Sender ID through which you want to send the SMS.

4. Click on the mobile number field and upload the sheet created by using the browse file option which appears on the right-hand side of the screen. You can also type in the numbers here if required.

5. Enter DLT Template ID and type in the content of the SMS you wish to send.

6. Select the name of the campaign, and click on Send.

For a video tutorial, refer to the link: https://www.youtube.com/watch?v=mAOFd28ggBg&feature=youtu.be
NOTE: If sent without a country code, submission and deduction depend on the detected country based on the starting number: For, 91xxxxxxxxxx, etc
How to send SMS using an Excel file from the Send SMS option?
Jan 21, 2025You can choose the Group option to send SMS in bulk. The Send SMS on Group feature saves your time, just save your group once with the numbers of data and you can use it anytime to send the bulk SMS.
1. Select SMS from the dashboard and click on the Send SMS option from the sidebar. Select/Enter the Sender ID through which you want to send the SMS.

2. Click on the mobile number field and all created group in the phonebook appears on the right-hand side of the screen, you can either upload a CSV file or select a group from the phonebook to send SMS.

3. Enter the DLT Template ID and Type in the content of the SMS you wish to send in the Message.

4. Select the name of the campaign (optional), and click on Send SMS Now or Schedule as per your requirement.
NOTE: If sent without a country code, submission and deduction depend on the detected country based on the starting number: For, 91xxxxxxxxxx, etc
How to send SMS to the group?
Feb 10, 2025This is because your account is a demo account and we have added some credits to your account for you to test our services. This demo content acts as a safety feature so that no one misuses the provided credits.
If you are satisfied with our trial services you can activate or switch your DEMO account to a USER account by buying credits. Kindly contact your account manager or our support team for guidance.
Why am I unable to send an SMS with the content of my choice? I get demo content repeatedly.
Jan 21, 2025FOR OLD PANEL:
1. Login to the MSG91 panel and select SMS.

2. Goto Send SMS and simply click on the name of the route given at the top of the page to change the selected route.

FOR NEW PANEL :
1. Login to the MSG91 panel and select SMS.

2. Goto Send SMS and simply click on the Send SMS (NEW). Click on Use SMS template and from there you can change the route.

Feel free to contact us in case of any confusion.
NOTE: If sent without a country code, submission and deduction depend on the detected country based on the starting number: For, 91xxxxxxxxxx, etc
How do switch routes for sending SMS from the dashboard?
Feb 10, 2025To send SMS worldwide 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.
How to send SMS worldwide?
Jan 21, 2025If you are using API and need to send a "+" sign in the content, you need to triple encode the + sign in the message content.
Here is a sample code for PHP:
<?PHP
$message = "YOUR+++MESSAGE+++++WITH++++ PLUS++++SIGN";$message = urlencode($message);$message = urlencode($message);//now the message is double encoded
//send this message?>
You can use this for encoding -https://meyerweb.com/eric/tools/dencoder/
How to send + sign in SMS from API?
Nov 11, 2024If 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.

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

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.

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.

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

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?
Nov 11, 2024Introduction: 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-
- 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 |
|
Route |
1 (For Promotional Messages) |
Message | Enter the value “Moesms_message” (The message content will be passed in this field) |
DLT_TE_ID |
(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:
Nov 8, 2024Surely you can. To send messages in languages other than English, you can use the "Unicode" option for this.
Unicode is not just the language, you can also send emojis. The use of emojis in your messages can take them to the next level. it is an energizing 🏂 and underused augmentation 🏠 of the standard instant message with regards to special SMS.
Check this link here for more info on emojis: https://emojipedia.org/ (You can copy emojis from this link to add them to your messages)
Now if you are sending this SMS/campaign from the dashboard, you can simply select Unicode by clicking on the "English" button at the corner of the message box.

To send this using our APIs, all you need to do is pass an extra parameter "Unicode" in the API, the value for the same will be 1.
unicode=1 (for unicode SMS).
How to add emojis or send messages in other languages (except English)?
Nov 11, 2024Scheduled SMS
You can follow these steps to schedule the SMS:
Compose your message by the regular method by clicking on SMS<Send SMS or Send Custom SMS.
After composing your message click on the Schedule SMS button.
Select the Date, Hour & Minute according to which you wish to schedule your SMS.
Click on Schedule- The balance required to deliver these SMS will be deducted at the same time.
Your message will be delivered on the scheduled date and time.
Delivery Report of Scheduled SMS
You can find the delivery reports of your scheduled SMS under check SMS section > Logs & checkmark the option "show schedule SMS". If you cancel the Scheduled SMS the credits will be refunded to your account instantly. You can also send that message before the scheduled time by clicking on the Send Now button.

For sending it via API please pass the parameter as “schtime”: “YYYY-MM-DD HH:MM:SS“ schtimeschtime
NOTE: If sent without a country code, submission and deduction depend on the detected country based on the starting number: For, 91xxxxxxxxxx, etc