
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.

How to protect your email domain and sending reputation
AI agents have made spoofing cheap, and a DMARC record at p=none won't stop it. Here's how to enforce DMARC without bouncing your own mail, keep password resets apart from newsletters, protect your sending reputation, read Google Postmaster Tools, and audit your domain with six AI prompts.

Courier's Response to the eMudhra and PHP Security Issues
Courier's assessment of the eMudhra certificate authority compromise and the October 21 PHP security release: what happened, the steps we're taking, and what you may want to check in your own environment.

Control how fast Courier sends to your providers
You shouldn't have to think about how fast you send to Courier. Set a send rate limit on any provider, and Courier sends your notifications to it at the rate you choose. Anything over the limit is queued, not dropped.