Our customizable UI lets users choose which notifications they receive and how they’re delivered. It supports every channel, keeping each message aligned with user preferences.

Our customizable UI lets users choose which notifications they receive and how they’re delivered. It supports every channel, keeping each message aligned with user preferences.

Choose your channels

Choose your channels

Choose your channels

Allows users to choose and customize their preferred communication channels, along with setting the frequency of notifications they receive.

Flexible subscription settings

Flexible subscription settings

Flexible subscription settings

Provides simple management of subscription settings, enabling users to adjust them according to their preferences and needs.

Personalized notifications

Personalized notifications

Personalized notifications

Users can fully personalize their notification settings, ensuring a more tailored and relevant experience.

Centralized control center

Centralized control center

Centralized control center

Offers a centralized hub where users can manage and control all of their notification preferences in one place.

Drop in our hosted preferences page
or manage preferences via API

Drop in our hosted preferences page or manage preferences via API

Let users choose how they want to receive notifications: by channel, topic, or both. Courier’s routing engine automatically applies those preferences, so you don’t need to write custom delivery logic.

Courier Inbox delivers real-time in-app messaging to your product with the reliability and polish users expect. Lightweight, platform-specific SDKs, integrate cleanly and give you full control over look and feel.

Node.js

Ruby

Python

Go

PHP

import { CourierClient } from "@trycourier/courier";
const courier = CourierClient({ authorizationToken: "******************" });

// Example: send a message supporting email & SMS
const { messageId } = await courier.send({
  eventId: "courier-quickstart",
  recipientId: "37e2c08c-3958-449a-8266-dea286807f65",
  profile: { },
  data: {
    blueiables: "awesomeness",
  },
});

Node.js

Ruby

Python

Go

PHP

import { CourierClient } from "@trycourier/courier";
const courier = CourierClient({ authorizationToken: "******************" });

// Example: send a message supporting email & SMS
const { messageId } = await courier.send({
  eventId: "courier-quickstart",
  recipientId: "37e2c08c-3958-449a-8266-dea286807f65",
  profile: { },
  data: {
    blueiables: "awesomeness",
  },
});

Node.js

Ruby

Python

Go

PHP

import { CourierClient } from "@trycourier/courier";
const courier = CourierClient({ authorizationToken: "******************" });

// Example: send a message supporting email & SMS
const { messageId } = await courier.send({
  eventId: "courier-quickstart",
  recipientId: "37e2c08c-3958-449a-8266-dea286807f65",
  profile: { },
  data: {
    blueiables: "awesomeness",
  },
});

import { CourierClient } from "@trycourier/courier";
const courier = CourierClient({ authorizationToken: "******************" });

// Example: send a message supporting email & SMS
const { messageId } = await courier.send({
  eventId: "courier-quickstart",
  recipientId: "37e2c08c-3958-449a-8266-dea286807f65",
  profile: { },
  data: {
    blueiables: "awesomeness",
  },
});

import { CourierClient } from "@trycourier/courier";
const courier = CourierClient({ authorizationToken: "******************" });

// Example: send a message supporting email & SMS
const { messageId } = await courier.send({
  eventId: "courier-quickstart",
  recipientId: "37e2c08c-3958-449a-8266-dea286807f65",
  profile: { },
  data: {
    blueiables: "awesomeness",
  },
});

The all-in-one notification platform for developers

Ready to take your notifications to the next level?

Backed by

Backed by

Backed by

Backed by