All Articles

Feel free to share our content.

Standardizing Message Status Across SendGrid, Twilio, Slack, Firebase, and More

Posted by Tony Nguyen on September 17th, 2020

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.

Courier Live: Sending Notifications via Slack

Posted by Aydrian Howard on September 16th, 2020

As a follow up to the Courier Live where Troy and I built the Pigeon Weather App, I went back and added support for sending the notification as a direct message in Slack. Adding this additional channel only required adding the Slack provider, designing the message, and updating our Glitch App to accept Slack profile information.

Announcing Courier's $10M Series A

Posted by Troy Goode on September 14th, 2020

We're excited to announce that Courier has raised a $10.1M Series A led by Bessemer Venture Partners, with participation from Matrix Partners, Twilio, Slack, Y Combinator, and many great angel investors. This follows a previously unannounced $2.3M seed round that we raised last summer.

Courier Live: Controlling IoT using the Webhook Provider

Posted by Aydrian Howard on September 9th, 2020

Riley Napier from our engineering team returned for our September 2nd Courier Live. Together we used the Courier Webhook Provider to send a notification using an unconventional channel, a BlinkStick Square.

Using Segment with Courier: A No Code Sweet Spot

Posted by Danny Douglass on September 8th, 2020

A few weeks ago, we recorded a Courier Live on using Segment to send notifications with Courier. We thought we'd dive a little deeper since there was a lot of interest.

Courier Live: Designing Slack Notifications using Block Kit and Jsonnet

Posted by Aydrian Howard on September 2nd, 2020

Earlier this summer, Riley Napier from our engineering team joined me for our June 24th Courier Live to help me build a Slack Slash Command to display estimated departure times for BART Stations. We created a Glitch ExpressJS app to accept the commands and Courier to handle the responses. We designed the messages by dynamically generating Block Kit using Jsonnet.

9 Ways Product Management Expectations Differ from Reality

Posted by Yehong Zhu on September 1st, 2020

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.

Courier Live: Getting the Most out of Courier Logs

Posted by Aydrian Howard on August 26th, 2020

During our August 19th Courier Live, Tony Nguyen from our engineering team joined me to talk about my favorite Courier feature, the logs. We presented a high level overview of the logs and dove into the details of each timeline event in the Courier Application. We then covered how you could retrieve the same information using the Messages API.

Onboarding as a Software Engineer During Lockdown Due to Covid-19

Posted by Tony Nguyen on August 25th, 2020

Tony's first week at Courier, which coincided with the first week of the Covid-19 lockdown in San Francisco.

Courier Live: No Code Notifications powered by Segment

Posted by Aydrian Howard on August 19th, 2020

Danny Douglass from our engineering team joined me for our August 12th Courier Live. We discussed a No Code approach to sending notifications using Courier as a Segment destination. It took less than 30 minutes from setup to sending our first notification.

How to Use The Shadow Dom To Isolate Styles on a DOM That Isnt Yours

Posted by Riley Napier on August 18th, 2020

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.

Courier Live: Supporting Idempotent Requests with the Courier Node.js SDK

Posted by Aydrian Howard on August 12th, 2020

During our August 5th Courier Live, I was joined by Riley Napier, one of our Sr. Software Engineers. Together we updated the Courier Node.js SDK to support our new Idempotent Requests feature.

Why Event Driven Architecture Works for Courier

Posted by Tony Nguyen on August 11th, 2020

Event-Driven Architecture: how it works, why we use it at Courier, and what our experience has been like so far.

Courier Live: Branding and white-labeling email notifications

Posted by Aydrian Howard on August 5th, 2020

During our July 29th Courier Live, I was joined by our Head of Customer Success, Nate Munger. Together we discussed our new Brands feature set and walked through using it to send an email.

Live streaming with the Courier Community

Posted by Aydrian Howard on August 4th, 2020

Every Wednesday at noon Pacific, we'll be streaming Courier Live on our Twitch channel. Our first Courier Live, where we walked through adding email and text notifications to an existing application using Courier, is available on YouTube.

How Top Fintech Startups Engage Users in 2020

Posted by Colin Heilbut on August 3rd, 2020

Observations from interviews with over 50 Fintech CTOs, VPEs, CPOs, and managers on notifications.

Why We Built Courier

Posted by Troy Goode on July 29th, 2020

We built Courier to make sure nobody else ever has to spend millions on custom communication infrastructure, that our inboxes are never again flooded by a well-meaning developer who just didn’t have the time to implement user preferences or digests, and that simple tickets to tweak the text and branding of a template stop getting stuck just outside the scope of the next sprint.