Courier logo. First letter of the word has a bird inside.
Courier logo. First letter of the word has a bird inside.

Design Studio

Design and publish beautiful notifications without needing to redeploy code.

Use Courier’s pre-built UI components and powerful API to design a notification experience that perfectly matches your app and helps drive engagement.

Design Studio

Design and publish beautiful notifications without needing to redeploy code.

Use Courier’s pre-built UI components and powerful API to design a notification experience that perfectly matches your app and helps drive engagement.

Design Studio

Design and publish beautiful notifications without needing to redeploy code.

Use Courier’s pre-built UI components and powerful API to design a notification experience that perfectly matches your app and helps drive engagement.

Design Studio

Design and publish beautiful notifications without needing to redeploy code.

Use Courier’s pre-built UI components and powerful API to design a notification experience that perfectly matches your app and helps drive engagement.

EASY DRAG AND DROP

EASY DRAG AND DROP

EASY DRAG AND DROP

Easy drag and drop editor for every channel

Courier's template designer makes it easy for anyone to update and edit message content and design. Simply drag and drop your content blocks, then publish—no need to redeploy code.

• Edit once, update everywhere

• Easy testing

• Conditional overrides

• Version control for easy rollback

• Supports all channels

• Import your own template

Easy drag and drop editor for every channel

Courier's template designer makes it easy for anyone to update and edit message content and design. Simply drag and drop your content blocks, then publish—no need to redeploy code.

• Edit once, update everywhere

• Easy testing

• Conditional overrides

• Version control for easy rollback

• Supports all channels

• Import your own template

Easy drag and drop editor for every channel

Courier's template designer makes it easy for anyone to update and edit message content and design. Simply drag and drop your content blocks, then publish—no need to redeploy code.

• Edit once, update everywhere

• Easy testing

• Conditional overrides

• Version control for easy rollback

• Supports all channels

• Import your own template

API

Data gets passed to your templates as part of the send API call

Courier allows you to easily populate the dynamic parts of your templates when making your API call using the data object. Override or update any part of your template via the Courier API.

API

Data gets passed to your templates as part of the send API call

Courier allows you to easily populate the dynamic parts of your templates when making your API call using the data object. Override or update any part of your template via the Courier API.

API

Data gets passed to your templates as part of the send API call

Courier allows you to easily populate the dynamic parts of your templates when making your API call using the data object. Override or update any part of your template via the Courier API.

API

Data gets passed to your templates as part of the send API call

Courier allows you to easily populate the dynamic parts of your templates when making your API call using the data object. Override or update any part of your template via the Courier API.

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",
  },
});

Check out our docs

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",
  },
});

Check out our docs

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",
  },
});

Check out our docs

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",
  },
});

Check out our docs

The all-in-one notification platform for developers

Ready to take your notifications to the next level?

The all-in-one notification platform for developers

Ready to take your notifications to the next level?

The all-in-one notification platform for developers

Ready to take your notifications to the next level?

Backed by

Backed by

Backed by