Blog
ENGINEERING

Custom Environments: Ship Customer Messaging like you Ship Code

Mike Miller

April 30, 2026

Custom Environments

Table of contents

What custom environments give you

What you can build

Available now

Ship Customer Messaging like you Ship Code

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.

What custom environments give you

Each environment is a complete, isolated workspace. Templates, brands, tags, subscription topics, integrations, journeys, API keys, and logs all belong to that environment alone.

Full isolation between environments

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.

Your naming, your workflow

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.

Per-environment integrations

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.

Migrate assets in any direction

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.

What you can build

  • A dev-to-production pipeline. Build templates and journeys in dev, validate in staging, and promote to production. The same flow you use for code, now applied to your messaging.
  • Team-based sandboxes. Give your onboarding squad, billing team, and marketing team each their own environment to iterate without stepping on each other. When a flow is ready, promote it to production.
  • Isolated QA testing. QA gets a dedicated environment with its own provider credentials. Test sends hit sandbox accounts, logs stay separate, and you validate the full messaging lifecycle before anything reaches real users.

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.

Available now

Custom environments are available today on all plans.

  1. Open your workspace settings and navigate to Environments.
  2. Create a new environment and give it a name.
  3. Configure integrations, build templates, and start sending.

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.

Similar resources

Human-in-the-loop for AI payment agents
AIGuideEngineering

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

Create customer journeys from ai
Customer JourneysAIEngineering

Create a customer journey from AI coding agent

Use Courier's Journey API to create multistep customer engagement workflows from your coding agent of choice. Describe the kind of journey you'd like to create, answer a few questions, and publish to the platform.

By Kyle Seyler

May 20, 2026

CocoaPods End of Life
Engineering

CocoaPods end of life: here's what to do

CocoaPods has been the default iOS dependency manager for more than a decade. On December 2, 2026, its central registry becomes read-only. Here's what that actually means for native iOS, React Native, and Flutter apps.

By Mike Miller

May 14, 2026

Multichannel Notifications Platform for SaaS

Products

Platform

Integrations

Customers

Blog

API Status

Subprocessors


Β© 2026 Courier. All rights reserved.