SMS delivery_
Set up SMS services for your self-hosted Appwrite instance. Discover how to configure SMS notifications, verification, and messaging for your applications.
2 min read
Appwrite supports phone authentication, which allows users to create accounts and log in using SMS messages. Appwrite requires an SMS provider to be set up before using Phone authentication.
This page describes how to setup messaging for your self-hosted Appwrite instance to send one-time passwords during phone login.
If you are looking to send custom messages for promotions, reminders, and other purposes, view the documentation for Appwrite Messaging documentation.
SMS providers
Appwrite supports a growing list of SMS providers that you can choose from. Choose one from the list below and set up an account.
| SMS provider | Create account | Get credentials | |
|---|---|---|---|
| Twilio | Website | Documentation | |
| Textmagic | Website | Documentation | |
| Telesign | Website | Documentation | |
| MSG91 | Website | Documentation | |
| Vonage | Website | Documentation |
Environment variables
You will need to configure these environment variables and restart your Appwrite containers before you can use phone authentication.
Ensure the values you insert in the _APP_SMS_PROVIDER placeholders are URL encoded if they contain any non-alphanumeric characters.
| Provider | _APP_SMS_PROVIDER | _APP_SMS_FROM |
|---|---|---|
| Twilio | sms://<ACCOUNT SID>:<AUTH TOKEN>@twilio | <TWILIO PHONE NUMBER> |
| Textmagic | sms://<USERNAME>:<API KEY>@text-magic | <PHONE NUMBER OR SENDER ID> |
| TeleSign | sms://<CUSTOMER ID>:<API KEY>@telesign | <TELESIGN PHONE NUMBER> |
| MSG91 | sms://<SENDER ID>:<AUTH KEY>@msg91 | <FLOW ID> |
| Vonage | sms://<API KEY>:<API SECRET>@vonage | <PHONE NUMBER OR BRAND NAME> |
After editing your docker-compose.yml or .env files, you will need to recreate your Appwrite stack by running the following compose command in your terminal.
docker compose up -dYou can verify if the changes have been successfully applied by running this command:
docker compose exec appwrite varsWas this page helpful?
Share what worked or what we should fix. Once approved, our agents automatically apply suggested updates to the docs.