---
layout: integration
title: SMS with MSG91
description: Send customized SMS messages to your users through MSG91
date: 2026-11-06
featured: false
isPartner: true
isNew: true
cover: /images/integrations/sms-msg91/cover.avif
category: messaging
product:
    vendor: MSG91
    description: "MSG91 is a cloud communication platform that provides SMS, WhatsApp, voice, and email APIs for businesses."
platform:
    - 'Self-hosted'
    - 'Cloud'
---

[MSG91](https://msg91.com) is a cloud communication platform from India that provides APIs for SMS, WhatsApp, voice, and email. It sends every SMS through a template that you create in the MSG91 dashboard.

# How does the integration work?

You can use the MSG91 provider in Appwrite Messaging to send customized SMS messages to your users, such as reminders, promotions, announcements, and custom authentication flows. Messages can be sent immediately or scheduled, to [topics](/docs/products/messaging/topics), users, or individual [targets](/docs/products/messaging/targets).

Appwrite sends each message through MSG91's flow API with the sender ID and template you configure. For every recipient, it passes your message text as the value of the `content` and `otp` variables, so your template must use one of those variables where the text should appear.

# How to implement

To implement the MSG91 provider in Appwrite Messaging, there are several steps you must complete:

## Step 1: Set up MSG91

First, [sign up for an MSG91 account](https://msg91.com/signup) and collect the following details from the MSG91 dashboard:

| Field name | |
| --- | --- |
| Auth key | Open the username menu, select **Authkey**, verify your mobile number, and click **Create Authkey**. |
| Sender ID | Head to **SMS** > **Sender ID** and click **Create sender ID**. |
| Template ID | Create an SMS template that uses a `content` or `otp` variable where your message text should appear, then copy its template ID. |

Messages to Indian numbers also need a sender ID and template approved under India's DLT regulations.

## Step 2: Add the MSG91 provider to your Appwrite project

For this step, you must [create an account on Appwrite Cloud](/sign-up) or [self-host Appwrite](/docs/advanced/self-hosting) if you haven't already. In your Appwrite project, head to **Messaging** > **Providers**, click **Add provider**, and choose **SMS**. Give your provider a name, choose **MSG91**, and click **Save and continue**.

In the **Configure** step, add the **Auth key**, **Sender ID**, and **Template ID** you saved from the MSG91 dashboard, then click **Save and continue** to enable the provider.

## Step 3: Test the MSG91 provider

Before you proceed, you must already have at least one [topic](/docs/products/messaging/topics) or [target](/docs/products/messaging/targets) set up.

Go to **Messaging** > **Messages**, click **Create message**, and choose **SMS**. Write a test message, select one of your test targets, set the schedule to **Now**, and click **Send**. Check that the SMS arrives on your phone. If it doesn't, check the logs in the Appwrite Console and in your MSG91 dashboard.

To send SMS messages from your backend instead, follow the [Send SMS messages](/docs/products/messaging/send-sms-messages) guide with an [Appwrite Server SDK](/docs/sdks#server).

# Read more about MSG91 and Appwrite Messaging

If you would like to learn more about MSG91 and Appwrite Messaging, we have some resources that you should visit:

- [Find your MSG91 auth key](https://msg91.com/help/where-can-i-find-my-authentication-key)
- [Set up the MSG91 provider in Appwrite Messaging](/docs/products/messaging/msg91)
- [Send SMS messages through Appwrite Messaging](/docs/products/messaging/send-sms-messages)
- [Phone auth with MSG91 on self-hosted Appwrite](/integrations/phone-auth-msg91)
- [Appwrite Messaging API reference](/docs/references/cloud/server-nodejs/messaging)
