Topic
109 articles
How notification systems are actually built: architecture, delivery guarantees, retries, and the tradeoffs behind each.

How to Send Emails with Attachments Using Amazon SES and S3
In this tutorial, you'll get a step-by-step walkthrough of how to add attachments to your transactional emails using Amazon SES and S3. We'll also show you how to integrate your email provider with Courier to manage your email templates and delivery.

How to Send Email with Ruby
In this tutorial, we’ll show you an easy way to add email functionality to your Ruby app. You’ll learn how to set up your email service, design your email template, and test and preview your email before publishing it to production. You’ll also find sample code you can use to quickly start sending in your Ruby program.

Why We Are Moving off REST and Implementing GraphQL
We’re excited to be moving Courier’s internal infrastructure and eventually our customer-facing APIs to GraphQL. In this blog post I’ll talk about why we’ve decided to make the change from REST and what our plans are for the rollout.

Announcing the Courier Destination for Segment – Send Multi-Channel Notifications With No Code
We’re excited to announce the Courier destination for Segment is publicly available. Product teams can now send targeted notifications to users on any channel – without shipping any code.

How to Add a Direct Twilio SMS Integration With Sendgrid Emails
In this white paper, we share the strategies we have discovered through our work in building direct integrations and explain how to add SMS with Twilio to an existing SendGrid integration. We'll help you think through the various questions involved and set up your infrastructure.

What to consider when standardizing your REST APIs
Recently, we’ve been working on standardizing some aspects of Courier’s REST APIs, such as naming conventions and HTTP status response codes. I thought I’d share some of our guiding principles and learnings that might be useful for your team as well.

Standardizing Message Status Across SendGrid, Twilio, Slack, Firebase, and More
I wanted to share how statuses work today in Courier and some of the things we thought through while building a single source of truth across integration providers. I’ll also explain how we provide open tracking for emails and click-through tracking across all channels.

9 Ways Product Management Expectations Differ from Reality
As a former product manager, bright-eyed and bushy-tailed out of college, I remember clearly coming into the role with a set of rosy expectations that did not align at all with reality. I want to share my experience of what product was like for me, and a smattering of the various ironies that I experienced on the job.

How to Use The Shadow Dom To Isolate Styles on a DOM That Isnt Yours
Shadow DOM is an API for DOM encapsulation. It's perfect for when you need to embed a widget in a DOM you don't have access to.