
Choose your SDK
Integrate the SDK for your platform below. Not using a framework? The JavaScript SDK works on any page.React
React 17 and 18+
JavaScript
Web Components for any framework, or none
Vue
Vue 3.3+
Angular
Angular 17+
React Native
Expo and RN
Flutter
iOS and Android
iOS
Swift and SwiftUI
Android
Kotlin and Compose
A modern UI that’s completely customizable
Courier Inbox SDKs ship a clean, modern notification center out of the box. Theme it to match your brand, or supply your own views and components for complete control while keeping the SDK’s built-in message management. Need to go further? The SDKs expose low-level, headless APIs you can build a fully custom experience on.Real-time and synced across devices
Messages arrive in real time on web and mobile, and every state change (read, opened, archived) syncs instantly across every device where a user is signed in. Your users see the same inbox everywhere.Notification-center essentials, built in
Unread counts and badges, read and archive actions, message-level buttons, pagination, and infinite scroll all work out of the box, so you’re embedding an inbox, not rebuilding one from scratch.FAQ
Which frameworks and platforms does Inbox support?
Which frameworks and platforms does Inbox support?
Inbox SDKs are available for React, Vue, Angular, Web Components, React Native, Flutter, iOS, and Android. Web Components work with any JavaScript framework, including Svelte, or no framework at all.
Can I customize the inbox appearance?
Can I customize the inbox appearance?
Yes. All Inbox SDKs support theming to match your brand colors and typography. You can also supply your own components for complete control over rendering while still using the SDK’s message management, including read state, pagination, and real-time updates. See the SDK docs for your platform for theming and custom renderer options.
How does read state and syncing work?
How does read state and syncing work?
Message states, including read, opened, and archived, are synced in real time across all devices where a user is signed in. If a user reads a notification on mobile, it updates on web immediately. When cross-channel syncing is enabled, opening an email notification also marks the corresponding Inbox message as read.
How do I authenticate users for Inbox?
How do I authenticate users for Inbox?
Inbox requires a JWT token generated by your backend using your Courier API key. Your backend creates the token with the user’s ID, then passes it to the client SDK via
signIn({ userId, jwt }). See Inbox Authentication for implementation details.Can I send to Inbox and other channels at the same time?
Can I send to Inbox and other channels at the same time?
Yes. Add
inbox alongside other channels, including email, push, and SMS, in your message’s routing configuration. Courier delivers to each channel according to your channel priority rules. When cross-channel syncing is enabled, interactions on one channel, like opening an email, update the Inbox message state automatically.Next Steps
Setup Authentication
Setup auth for Inbox and integrate an SDK
Send a Message
Start sending Inbox notifications