Inbox
Use Courier’s pre-built UI components and powerful API to design a notification experience that perfectly matches your app and helps drive engagement.
Notifications
Want to try this out for yourself? Try the demo
Don’t waste time wrestling with your frontend. Get a head start with our flexible components for web and mobile and make the UI your own.
Save development time with built-in features to automate workflows, batch or digest notifications, manage user preferences, and more.
Works with your other channels, such as email, SMS, and push. When a user opens an email, the related inbox message will automatically be marked as read.
“Using Courier Inbox, Oyster saved 4 engineers 3 months of work from not having to construct notification infrastructure, design UI, and develop them to spec.”
Amy Weinrieb
Senior Product Manager
Use our suite of optimized and customizable UIs to seamlessly deliver notifications your users will love.
Courier Inbox comes with tons of advanced features at your fingertips:
Notifications
Works with your other channels, such as email, SMS, and push. When a user opens an email, the related inbox message will automatically be marked as read.
Courier’s flexible APIs, libraries, and documentation make it easy to get started.
Explore the docs
Courier’s flexible APIs, libraries, and documentation make it easy to get started.
Explore the docs
© 2024 Courier. All rights reserved.
1import { CourierProvider } from "@trycourier/react-provider";2import { Inbox } from "@trycourier/react-inbox";34function App() {5return (6<CourierProvider userId={<userId>} clientKey={process.env.COURIER_CLIENT_KEY}>7<Inbox/>8</CourierProvider>9);10}
1import { CourierClient } from '@trycourier/courier'23const courier = CourierClient()45await courier.send({6message: {7to: {8user_id: <USER_ID>9},10content: {11title: "How does {{ villain }} like his toast?",12body: "On the dark side."13},14data: {15villain: "Darth Vader"16}17routing: {18method: "single",19channels: ["inbox"]20}21}22}
1import { CourierClient } from '@trycourier/courier'23const courier = CourierClient()45await courier.send({6message: {7to: {8user_id: <USER_ID>9},10content: {11title: "How does {{ villain }} like his toast?",12body: "On the dark side."13},14data: {15villain: "Darth Vader"16}17routing: {18method: "single",19channels: ["inbox"]20}21}22}