
Mike Miller
April 30, 2026

Courier workspaces now support fully isolated custom environments. Name them whatever makes sense for your team (dev, staging, QA, production), give each one its own integrations and templates, and promote assets between them when you're ready.
Previously, you got two environments: Production and Test. That worked for simple setups, but it didn't reflect how most teams actually build software. If you had separate staging and QA phases, or multiple squads iterating on different messaging flows, you were cramming all of that into a single Test environment. That's over.
Each environment is a complete, isolated workspace. Templates, brands, tags, subscription topics, integrations, journeys, API keys, and logs all belong to that environment alone.
Nothing leaks between environments. Changes to templates in your dev environment don't touch staging. A new integration configuration in QA doesn't affect production. Journeys, notification logic, and provider configs are all scoped to the environment they belong to. Each environment has its own message logs and metrics, so you always know exactly what happened where.
Production stays Production. Everything else is yours to name. Rename the default Test environment to "Development," create a "Staging" environment, add "QA" for your testing team. The names map to your process, not ours.
Each environment gets its own integration configurations. Connect your staging SendGrid account to your staging environment and your production account to production. No more shared integrations with test overrides bolted on. Cleaner setup, fewer surprises.
Move templates and their dependencies (brands, tags, subscription topics) between any two environments. Promote from dev to staging, staging to production, or roll something back from production to QA for debugging. The migration flow copies all dependencies automatically so nothing breaks.
Each of these used to require workarounds: shared Test environments, naming conventions to avoid collisions, or separate Courier workspaces entirely. Now it's a first-class feature.
Custom environments are available today on all plans.
Or start with the docs to see the full details.
Already using Test and Production? Nothing changes for you unless you want it to. Your existing environments work exactly as before. You can rename your Test environment and create additional ones whenever you're ready.

I redid every cover image on our blog in an afternoon with Claude, Ideogram, and Contentful
I refreshed 81 blog covers, two years of posts, in a single afternoon. Claude Code orchestrated the pipeline, Ideogram generated the art, and the Contentful MCP moved every post in and out. Here is the stack, and why it only took an afternoon.
By Thomas Schiavone
July 10, 2026

Inbox SDKs for Vue and Angular: a native in-app notification center
Courier now ships first-class inbox SDKs for Angular and Vue. Drop in a real-time notification center, toasts, and a preferences center with native components, an injectable service, and a composable, all backed by the same in-app inbox that already powers React and JavaScript apps.
By Mike Miller
June 19, 2026

Human-in-the-loop for AI payment agents: building approval notifications that work
AI agents need human approval before taking consequential actions: financial commitments, irreversible changes, decisions that affect other people. This post covers how to design those checkpoints and build the notification infrastructure: multi-channel delivery, live context, escalation, and a back-and-forth question loop between reviewers and the agent.
By Eric Lee
May 26, 2026
© 2026 Courier. All rights reserved.