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 Studio

Design and publish beautiful notifications without needing to redeploy code

Courier’s Designer makes notifications easy for every team. Engineers connect the data once — then product and design teams create and manage notifications without needing code.

EASY DRAG AND DROP

EASY DRAG AND DROP

EASY DRAG AND DROP

Easily design and send notifications for
email, in-app, push, SMS, Slack, Teams, and more

Stop relying on engineers for every change. With drag and drop content blocks and instant publishing, anyone on your team can update notifications — no code or redeploys required. That means faster launches, more control, and less dependency on dev cycles.

• Edit once, update everywhere

• Drag and drop designer

• Add conditional logic and overrides

• Collaborate easily across teams

Version history and rollback

• Preview and test before sending

• Email, push, SMS, in-app, Slack, and Teams

• Control access with roles and permissions

Easily design and send notifications for
email, in-app, push, SMS, Slack, Teams, and more

Stop relying on engineers for every change. With drag and drop content blocks and instant publishing, anyone on your team can update notifications — no code or redeploys required. That means faster launches, more control, and less dependency on dev cycles.

• Edit once, update everywhere

• Drag and drop designer

• Add conditional logic and overrides

• Collaborate easily across teams

Version history and rollback

• Preview and test before sending

• Email, push, SMS, in-app, Slack, and Teams

• Control access with roles and permissions

Easily design and send notifications for
email, in-app, push, SMS, Slack, Teams, and more

Stop relying on engineers for every change. With drag and drop content blocks and instant publishing, anyone on your team can update notifications — no code or redeploys required. That means faster launches, more control, and less dependency on dev cycles.

• Edit once, update everywhere

• Drag and drop designer

• Add conditional logic and overrides

• Collaborate easily across teams

Version history and rollback

• Preview and test before sending

• Email, push, SMS, in-app, Slack, and Teams

• Control access with roles and permissions

Courier Create

Courier Create

Empower your customers to build on their own.
Embed our designer in your app.

Embed our designer in your app. Empower your customers to build on their own.

Courier Create puts your customers in control of designing and managing their notifications—right inside your product. Perfect for SaaS and multi-tenant platforms, Courier Create embeds a scoped, fully brandable version of our visual designer. Your users build messages that match their brand and voice—Courier handles the delivery.

Flexible API

Flexible API

Send dynamic, personalized content through our API.
No template changes required.

Courier makes it simple to populate templates with dynamic content at send time. Easily override text, images, and links to create personalized notifications without editing your templates or writing custom logic. The result: developers ship faster, and users get notifications that are always relevant.

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

// Example: send a message supporting email & SMS
  const { messageId } = await courier.send({
    eventId: "account_upgrade",
    recipientId: "37e2c08c-3958-449a-8266-dea286807f65",
    profile: {},
    data: {
      companyName: "PrismAI",
      planName: "Pro",
      cardLastFour: "4242",
    },
  });

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: "account_upgrade",
    recipientId: "37e2c08c-3958-449a-8266-dea286807f65",
    profile: {},
    data: {
      companyName: "PrismAI",
      planName: "Pro",
      cardLastFour: "4242",
    },
  });

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: "account_upgrade",
    recipientId: "37e2c08c-3958-449a-8266-dea286807f65",
    profile: {},
    data: {
      companyName: "PrismAI",
      planName: "Pro",
      cardLastFour: "4242",
    },
  });

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: "account_upgrade",
    recipientId: "37e2c08c-3958-449a-8266-dea286807f65",
    profile: {},
    data: {
      companyName: "PrismAI",
      planName: "Pro",
      cardLastFour: "4242",
    },
  });

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