It has been requested over and over again by Appwrite developers. It's a product that is hard to build from scratch and much needed for you and your application to have effective communication with your users. Therefore, we're excited to present you with Messaging. With just a few lines of backend code, you can set up a full-functioning messaging service for your application that covers three significant communication channels under one unified API.
The power of communication
Effective communication with your users is key to high user engagement and retention. Consistent but judicious use of emails, SMS, and push notifications is the key to a highly engaged and loyal user base.
Timely and personalized messages delivered to the users’ devices and inboxes help them stay informed and connected, even when they’re not actively using your app. This is where Messaging comes in, a product built to help you streamline email, SMS, and push notifications.
All your messages in one place
As mentioned, Messaging covers three communication channels under one unified API, allowing you to send email, SMS, and push notifications from your Appwrite project. It connects with a variety of third-party providers to deliver you messages. See this table to get an overview of what message types you can send with each provider.
Push Notifications
SMS
Twilio
Use Twilio for SMS notifications to mobile devices.
MSG91
Use MSG91 for SMS notifications to mobile devices.
Telesign
Use Telesign for SMS notifications to mobile devices.
Textmagic
Use Textmagic for SMS notifications to mobile devices.
Vonage
Use Vonage for SMS notifications to mobile devices.
Message your existing users
With Messaging, you can deliver messages to groups of users through topics or address individual users' email, phone, or devices through targets. Messaging deeply integrates with integrated existing accounts in Appwrite out of the box. You can immediately start messaging your existing users and integrate deeply with other Appwrite features.
You can address recipients of messages at three levels:
Topics, which hold a group of targets.
Users, which holds all targets associated with their account.
Targets, which are individual emails, phone numbers, and channels.
You can publish announcements and newsletters through topics, deliver user-specific promotions and alerts to all user's available targets, and address individual targets for location-based or real-time alerts.
Deliver messages your way
Draft, schedule, and send your messages in the Appwrite Console, or use Appwrite SDKs to send messages through code.
Drafting directly in the Appwrite Console is great for promo messages, newsletters, and other announcements. You can see a preview of what your message will look like right in the console and control how your message will look before sending.
For real-time alerts, you can programmatically send messages to your users and integrate with Appwrite Functions triggered by platform events. This allows you to deliver automated messages like invoices, login alerts, order confirmations, and new message alerts.
You can send messages immediately or schedule them for future delivery. The Appwrite Console allows you to set dates and times from the UI easily. This is a great addition for use cases like appointment reminders, alerts, promotional messages, and any time you need to deliver a message at a specific time.
Get started with Messaging
To get started with messaging, you connect a provider, add topics and targets, and send your first message today for your project.
We will be adding more adopters over time and are open to contributions. Visit our community page to learn more about contributing or add your issues directly to GitHub.
Visit our documentation to learn more about Messaging, join us on Discord to be part of the discussion, view our blog and YouTube channel, or visit our GitHub repository to see our open-source code.
Messaging will be available as part of the Appwrite 1.5 release on GitHub and Cloud in March 2024.