Prerequisites
- A Courier account
- Credentials for at least one provider (e.g. SendGrid API key, Twilio SID). Courier also provides a built-in test email provider you can use to get started without external credentials.
Step 1: Configure a Provider
Before you can send anything, your Courier workspace needs at least one integrated provider. If you’ve already configured a provider, skip to Step 2.Open the Integrations page
Navigate to the Integrations tab in the left sidebar.
Choose a provider
Search for your provider (e.g. SendGrid, Twilio, Firebase) and click it. Fill in the required credentials from your provider’s dashboard and click Install.

Step 2: Create a Notification Template
Create a new template
Navigate to Templates and click + New > Message Template. Give it a name (e.g. “Welcome Email”), then click Create Template.
Add a channel
Under Add Notification Channels, select Email. In the left sidebar under Channels, hover over Email and click the cog icon to open channel settings. Choose the provider you configured in Step 1.

Providers you’ve already configured appear under “Configured” in the integrations list. You can add multiple providers per channel and set priority rules to control failover.
Step 3: Add Content
Click on the email channel to open the content editor. Use the content toolbar to build your notification with blocks.Add a text block
Click the T icon in the toolbar to add a text block. Replace the placeholder text with your message, e.g. 
Hello, {profile.name}!
Add an action block
Click the button icon to add an action block. This renders as a clickable button (CTA) in email. You can set the button text and URL; use a variable like 
{invite_url} for dynamic links.
Add more blocks as needed
Add images, dividers, markdown, or template blocks. Courier auto-saves and adapts your blocks for all channels. See Content Blocks for the full list.
Variables for Dynamic Data
Use curly-brace placeholders to insert dynamic data from the send request:{profile.name}- Recipient’s name from their Courier profile{data.invite_url}or{invite_url}- Custom data passed in the send request{urls.preferences}- Link to the user’s preference page{urls.unsubscribe}- One-click unsubscribe link
Multi-Channel Content
Once you’ve built content in one channel, open another channel and pull in the same blocks from the content library. Courier dynamically adjusts blocks to match each channel’s format (e.g. stripping images for SMS).Step 4: Preview with Test Data
For more on test events (including creating them from message logs), see How to Use Test Events.
Step 5: Configure Branding (Optional)
Brands let you apply consistent logos, colors, headers, and footers across notifications. If no brand is configured, Courier uses simple default styling. To apply a brand, open Template Settings and select a brand from the dropdown. See How to Create and Use Brands for a full walkthrough.Step 6: Publish
Click Publish Changes to save your notification template. Unpublished changes are only visible in draft mode; your live notifications won’t update until you publish.Step 7: Send a Test Notification
Configure the code snippet
Select your programming language, confirm the notification event, and set the recipient ID. Courier generates a ready-to-use code snippet.

Send a test
Select a test event (from Step 4), optionally choose a brand, and click Send Notification. Check the Message Logs to verify delivery.
Integrate into your codebase
Copy the code snippet and integrate it into your application. You can also use the Send API directly or any of the Courier SDKs.

