Skip to main content
Courier’s automation engine lets you build notification workflows that go beyond simple message delivery. Create sequences that adapt to user behavior, batch notifications, coordinate across channels, and implement business logic.

When to Use Automations

If you’re sending straightforward transactional messages, you don’t need automations. The Send API handles rendering, routing, preferences, and delivery in a single call, and that’s the right choice for most notifications. Automations are for when your notification logic involves:
  • Timing - delays, scheduled delivery, or waiting for business hours
  • Sequences - multi-step flows like onboarding or reminder chains
  • Batching and digests - grouping events into a single notification
  • Conditional logic - branching based on user data, delivery status, or external conditions
  • Cancellation - aborting a flow when conditions change (e.g., user completes the action before a reminder fires)
Automations use the same templates, users, and preferences as direct sends. Moving a notification into an automation doesn’t require changing your content or user setup. See Choose a Sending Strategy for a full comparison.

Automation Components

Automations are built from three types of nodes: triggers that start workflows, actions that perform tasks, and control flow that adds logic.

Trigger Nodes

Triggers define how an automation starts. Every automation has one entry point.
TriggerDescription
API InvokeStart via POST /automations/:template_id/invoke. Default trigger type.
ScheduleRun at specific times using cron expressions, recurrence rules, or fixed dates.
SegmentReact to Segment identify, group, or track events.
AudienceFire when users match or unmatch an audience.
Inbound EventRespond to events from connected sources.
WebhookStart from external webhook calls.
DigestRelease accumulated digest events on schedule.
See Webhook Trigger, Scheduling, and Segment Integration for configuration details.

Action Nodes

Actions perform tasks in your workflow.
ActionDescription
SendDeliver a notification to a user via any channel.
Send to ListSend to all subscribers of a Courier list.
DelayPause execution for a duration or until a specific time.
Fetch DataMake HTTP requests and merge response into automation context.
Update ProfileModify a user’s Courier profile.
Get ProfileLoad a user profile into the automation context.
InvokeCall another automation template.
CancelCancel a running automation by its cancellation token.
Add to BatchAccumulate events for batched delivery.
Add to DigestAdd events to a user’s digest.
ThrottleRate-limit notifications per user or globally.
See Steps, Batching, and Digests for details.

Control Flow Nodes

Control flow adds conditional logic and branching.
NodeDescription
IfBranch based on a single condition (true/false paths).
SwitchRoute to the first matching condition from multiple cases.
BranchMulti-path routing with condition groups (V3).
Conditions can evaluate:
  • Data fields from the automation context
  • Profile fields from the user profile
  • Step Ref status of previous send steps (e.g., CLICKED, DELIVERED)
  • JS Expression for complex logic
See If / Switch for operators and examples.

Common Use Cases

User Onboarding

Create onboarding sequences that adapt to user progress:
  1. Send welcome email immediately after signup
  2. Wait 24 hours, then check if user completed first action
  3. If not, send a reminder via push notification
  4. If completed, send a congratulations message

Batched Activity Notifications

Reduce notification fatigue by batching activity:
  1. Collect events (likes, comments, mentions) as they occur
  2. After 1 hour of inactivity (or max 24 hours), release the batch
  3. Send a single notification summarizing all activity
See Batching for configuration.

Scheduled Digests

Send periodic summaries to users:
  1. Configure a digest schedule in Preferences Editor
  2. Add events to the digest throughout the period
  3. Automation triggers at schedule time with accumulated events
  4. Send personalized digest notification
See Digests for setup.

Agent-Human Collaboration

Build human-in-the-loop patterns for AI agents and automated systems:
  1. Agent triggers an automation requesting human approval
  2. Send an actionable notification to Inbox (approve/reject buttons)
  3. Wait for user response via webhook or inbound event
  4. Branch on the response: proceed, escalate, or cancel
The same pattern works for escalation with timeouts (delay, check delivery status via step ref, escalate if no response) and confirmation flows. Automations provide the timing, branching, and cancellation logic; the Send API and Inbox handle the human interaction.

Getting Started

  1. Navigate to Automations in the Courier app
  2. Click New Automation to create a template
  3. Add a trigger node to define how the automation starts
  4. Add action nodes for each step in your workflow
  5. Add control flow for conditional logic
  6. Publish the automation to activate it
  7. Invoke via API or wait for trigger conditions
For the visual designer interface, see Designer.

Next Steps