Messaging across every channel_
Reach users on email, SMS, and push from a unified API. Manage providers, audiences, and delivery without stitching vendors together.
- Channels in one API
- 3
- Broadcast messaging
- Topics
- Delivery providers
- 11
- Auth user delivery
- Targets
- Compose and delivery logs
- Schedule
Unified email, SMS, and push API
Send on every channel from one Messaging service and SDK. Use createEmail, createSms, and createPush for transactional mail, OTP codes, and mobile alerts without wiring three separate vendor integrations.
One Messaging service
Email, SMS, and push from a single SDK client.
import { Messaging } from 'appwrite'
subject, html body, topics
SMS
message body, topics
Push
title, body, topics
Replace separate email, SMS, and push SDKs with one API and delivery log.
Topics for group and broadcast messaging
Create topics from the Console Topics tab and subscribe targets for newsletters, product announcements, and security alerts. Broadcast to every subscriber in a topic or combine topics with direct targets when you need finer control.
Subscriber audiences
Group targets for broadcasts without managing recipient lists.
| Topic | Use case | Subscribers |
|---|---|---|
product-updates | Newsletters | 1,248 |
security-alerts | Alerts | 892 |
weekly-digest | Announcements | 3,401 |
Subscribe user targets from Auth or pick them in the Console when you create a topic.
Bring your own providers
Connect the email, SMS, and push providers you already use. Add credentials once in the Console, pick a vendor per channel, and route every message through the stack you operate.
Push notifications
Reach users instantly on iOS, Android, and web with APNS and FCM.
Emails
Send receipts, digests, and transactional mail through SendGrid, Mailgun, SMTP, and other email providers.
Chat
Coming soonConnect Slack, Discord, WhatsApp, and other chat surfaces for team and user notifications.
In app notifications
Coming soonSend realtime alerts to signed-in users without leaving your application experience.
SMS
Send OTP codes, delivery updates, and alerts outside your app through Twilio, Vonage, MSG91, Telesign, Textmagic, and other SMS vendors.
Targets linked to Auth users
Each user can have email, phone, and push device targets registered to your project. Inspect and manage them from the Targets tab on user detail in Auth, then subscribe those targets to topics or address them directly in a message.
Walter O'Brien
walter@acme.io · Auth user
| Target | Provider type |
|---|---|
walter@acme.io | |
+1 (555) 014-8921 | SMS |
iPhone 15 Pro | Push |
Targets are created when users verify email or phone in Auth, or when your app registers push device tokens.
Compose and schedule messages
Draft email, SMS, and push from the Console Messages tab with channel-specific fields, topic and target selection, and delivery logs. Schedule sends for later or fire transactional flows such as OTP verification and account alerts from Functions or your backend.
Compose message
Weekly product digest
Subject
Content
weekly-digest
Topic · 3,401 targets
Delivery
Scheduled send
Mon, 9:00 AM · America/New_York
Common flows
Tools built for developers and agents_
API-first by design. Use the Console, Realtime, SDKs, CLI, Terraform, MCP, and agent skills on the same project.
Developer and agent experience
A typical integration in TypeScript.
import { Client, Messaging, ID } from 'appwrite';
const client = new Client() .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') .setProject('<PROJECT_ID>');
const messaging = new Messaging(client);
await messaging.createEmail({ messageId: ID.unique(), subject: 'Your verification code', content: '<p>Your code is 482910. It expires in 10 minutes.</p>', topics: [], users: ['<USER_ID>'],});Everything is an API
REST, GraphQL, and SDKs for every service. Automate and integrate without console-only workflows.
Console
Manage every service in your project from a unified Console. Optimized keyboard access and a Command Center keep you moving fast.
Realtime
Subscribe to live events and react to changes as they happen.
messages
messages.*.create
MCP
Connect AI agents to your Appwrite project, APIs, and docs through MCP servers.
appwrite-docs
appwrite-apiTerraform
Manage Appwrite infrastructure as code with the official provider.
terraform plan
terraform applyAgent skills
Give AI agents SDK-accurate knowledge of Appwrite services and APIs.
npx skills add appwrite/agent-skillsSDKs
Client and server SDKs for the platforms your team already uses. 15 official SDKs available across client and server runtimes.
CLI
Deploy resources, manage projects, and generate typed SDKs from your terminal.
appwrite login
appwrite deployFAQ_
No. You connect your own provider credentials once in the Console, then send on every channel through one Messaging API and SDK. Pick a vendor per channel (Resend for email, Twilio for SMS, FCM for push, and so on) without maintaining three separate integrations or delivery logs.
Start building with Messaging_
Configure a provider, create a topic, and send your first message from the console or SDK.
Explore Appwrite_
Modular backend services that share the same project, permissions model, and console.