Skip to content
Appwrite Messaging

Messaging across every channel_

Reach users on email, SMS, and push from a unified API. Manage providers, audiences, and delivery without stitching vendors together.

Topicproduct-updates12.4k
Push
A

Your order has shipped

Track your delivery in the app.

SMS
Acme · Verification code: 482913
Email

Acme <hello@acme.io>

Delivered

Welcome to Acme

Channels in one API
3
Broadcast messaging
Topics
Delivery providers
12
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

3 channels

notify.ts
const messaging = new Messaging(client)

messaging.createEmail({ topics, subject })messaging.createSms({ targets, content })messaging.createPush({ topics, title })

Email

createEmail()

SMS

createSms()

Push

createPush()

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.

product-updates
security-alerts
weekly-digest

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.

Emails

Send receipts, digests, and transactional mail through SendGrid, Mailgun, Amazon SES, SMTP, and other email providers.

ResendSendGridMailgunAmazon SESSMTP

SMS

Send OTP codes, delivery updates, and alerts outside your app through Twilio, Vonage, MSG91, Telesign, Textmagic, and other SMS vendors.

TwilioVonageMSG91TelesignTextmagic

Push notifications

Reach users instantly on iOS, Android, and web with APNS and FCM.

APNSFCM

Chat

Coming soon

Connect Slack, Discord, WhatsApp, and other chat surfaces for team and user notifications.

SlackDiscordWhatsApp

In app notifications

Coming soon

Send realtime alerts to signed-in users without leaving your application experience.

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.

W

Walter O'Brien

walter@acme.io · Auth user

3 targets

walter@acme.io

68a4e2f91b0c

Email

+1 (555) 014-8921

68a4d8c03f21

SMS

iPhone 15 Pro

68a4c1aa7e55

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

EmailSMSPush

Subject

What's new in Acme this week

Content

Ship notes, feature highlights, and links for your subscribers.
weekly-digestTopic · 3,401 targets

Scheduled send

Mon, 9:00 AM · America/New_York

Schedule messageSend now

Delivery

Weekly product digest

Email

Mon 9:00

OTP verification

SMS

Delivered

Password reset

Email

Delivered

Account alerts

Push

Delivered

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.

FAQ_

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.

Targets are the ways a user can be reached: email addresses, phone numbers, and push device tokens. Subscribe targets to a topic to broadcast the same message to every subscriber, or address specific users and targets when you need private, one-to-one delivery. Topics fit newsletters and announcements; sensitive content like chat should go to individual targets.

Email: Resend, SendGrid, Mailgun, Amazon SES, and SMTP. SMS: Twilio, Vonage, MSG91, Telesign, and Textmagic. Push: APNS and FCM. Configure multiple providers per channel and choose which one to use when sending. Discord and Slack chat integrations are coming soon.

Each Auth user can have multiple targets registered to your project. Verified emails from email/password, magic URL, and email OTP sign-up create email targets automatically. Verified phone numbers from SMS OTP sign-up create SMS targets. Push targets are added from your client app after the user grants notification permission. Inspect and manage targets from the Targets tab on user detail in Auth.

Yes. Compose email, SMS, and push from the Console Messages tab or call createEmail, createSms, and createPush from the Server SDK. Send immediately, save as a draft, or pass scheduledAt for later delivery. Every message appears in the Messages tab with status (draft, scheduled, processing, failed, or success) and delivery timestamps.

Yes. Use the Server SDK from Functions, your API server, or any trusted backend with a project API key. This is the standard pattern for transactional flows such as OTP verification, password reset, order receipts, and inventory alerts triggered by platform events or custom logic.

Push and SMS work well for time-sensitive alerts users see within minutes. Email suits rich HTML content like receipts, newsletters, and promotions. SMS reaches phones even without internet. Push drives re-engagement with deep links back into your app. Most production apps combine all three depending on urgency and content.

Start building with Messaging_

Configure a provider, create a topic, and send your first message from the console or SDK.