Workflow Engine
Workflow Engine
Automate your notification logic without writing it.
Courier lets you orchestrate notification flows—branch, delay, throttle, batch, and digest messages—using our visual builder or API. Build powerful logic without writing glue code or redeploying your app.













Batch
Use notification batching to group related messages and reduce noise. Keep communication clear during high-activity periods so users stay focused, engaged, and free from alert fatigue.


Throttle
Throttle notifications to control volume and prevent overload.
Limit message frequency during busy periods to reduce fatigue and maintain user trust.
Digest
Use notification digests to combine multiple updates into a single message. Deliver a clear summary at the right time so users stay informed without being distracted by a stream of individual alerts.


Switch
Use Switch to branch your workflow based on dynamic inputs. Evaluate user traits, event payloads, or message metadata to control logic flow and deliver the right outcome per condition.
Delay
Use Delay to pause workflow execution for a set duration. Control timing between steps by waiting minutes, hours, days, or even weeks before proceeding to the next block.

Batch
Use notification batching to group related messages and reduce noise. Keep communication clear during high-activity periods so users stay focused, engaged, and free from alert fatigue.


Throttle
Throttle notifications to control volume and prevent overload. Limit message frequency during busy periods to reduce fatigue and maintain user trust.
Digest
Use notification digests to combine multiple updates into a single message. Deliver a clear summary at the right time so users stay informed without being distracted by a stream of individual alerts.


Switch
Throttle notifications to control volume and prevent overload. Limit message frequency during busy periods to reduce fatigue and maintain user trust.
Delay
Use Delay to pause workflow execution for a set duration. Control timing between steps by waiting minutes, hours, days, or even weeks before proceeding to the next block.

Batch
Use notification batching to group related messages and reduce noise. Keep communication clear during high-activity periods so users stay focused, engaged, and free from alert fatigue.


Throttle
Throttle notifications to control volume and prevent overload. Limit message frequency during busy periods to reduce fatigue and maintain user trust.
Digest
Use notification digests to combine multiple updates into a single message. Deliver a clear summary at the right time so users stay informed without being distracted by a stream of individual alerts.


Switch
Throttle notifications to control volume and prevent overload. Limit message frequency during busy periods to reduce fatigue and maintain user trust.
Delay
Use Delay to pause workflow execution for a set duration. Control timing between steps by waiting minutes, hours, days, or even weeks before proceeding to the next block.

Batch
Use notification batching to group related messages and reduce noise. Keep communication clear during high-activity periods so users stay focused, engaged, and free from alert fatigue.


Throttle
Throttle notifications to control volume and prevent overload. Limit message frequency during busy periods to reduce fatigue and maintain user trust.
Digest
Use notification digests to combine multiple updates into a single message. Deliver a clear summary at the right time so users stay informed without being distracted by a stream of individual alerts.


Switch
Throttle notifications to control volume and prevent overload. Limit message frequency during busy periods to reduce fatigue and maintain user trust.
Delay
Use Delay to pause workflow execution for a set duration. Control timing between steps by waiting minutes, hours, days, or even weeks before proceeding to the next block.

API
API
Automate your notification logic without writing it.
Courier’s Automations API lets you programmatically create, update, and trigger workflows. Define custom logic, override existing automations, and integrate notification orchestration directly into your application.
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
Backed by