Platform
Docs
Solutions
ContactLog In

Start Routing Notifications Today!

Courier is a notification service that centralizes all of your templates and messaging channels in one place which increases visibility and reduces engineering time.

Sign-up

April 2021 Courier Live Release Notes Header
COURIERPRODUCT NEWS

Courier April Product Release Updates: In-app Inbox, Preferences, and Automations

Aydrian Howard

May 20, 2021

Every month, Developer Advocate Aydrian Howard brings together a team of Courier engineers on Courier Live to discuss which updates recently made it into production, what is happening with the features in beta, and what to expect from the product and team in the near future.

In this update, Aydrian and Nate (Head of Customer Success) as cohosts cover what is new with the in-app notifications API and our inbox component that is still in beta. We segue into a sneak peak of our new preferences component and take a deep dive into our automations API, which is now GA. Here, we cover most of it's functionality like being able to schedule CRON jobs or individual events. There is also a nice deep dive into three different automation step functions, the update-update profile, and the fetch-data. The send-list steps all increase the power of the automations API. Check out the video and full transcript below!

Aydrian Howard:

All right. Hello everyone. It is the first Wednesday of the month, and that means it's time for some product release notes. I am joined here with my co-host, Nate. Nate, do you want to introduce yourself?

Nate Munger:

Yeah. Nate Munger, head of customer success here at Courier, and I've been here for just about a year. And I think this is our second monthly release notes. It seems to be an exciting way to talk about all the cool product we're shipping so I'm excited to be participating again this month.

Aydrian Howard:

Yeah. I'm excited about it. I think we have some really exciting things that came out last month. So excited to talk about it, excited to talk with our engineers about it. Now, what was it on Monday? The email went out, right? So every, is it the first Monday of the month? We come out with our product release in email form and you send that out. So for those out there who did not receive it, how do you get that email every month?

Nate Munger:

If you have a Courier account, you should be getting it. If you don't have a Courier account, it's free to sign up. So go ahead. And [inaudible 00:01:19]

Aydrian Howard:

Exactly awesome. Yeah. So as always if you are new to Courier, if you're checking it out, go over to Courier.com and sign up and not only will you get 10,000 notifications free each month, but you'll also get our monthly newsletter. So look forward to that. I need to turn off this banner, as it turns out. There we go.

Aydrian Howard:

All right, let's get into it. Let me switch over to my screen here. Those are wonderful slides. So a sneak peek of who will be joining us here shortly. But first we want to give a shout out to our Discord server. So we have a growing community of Courier users hanging out over in our Discord server and you can join that by going to discord.gg/courier. You can talk to me, you can talk to Nate, you can talk to any of our wonderful engineers, we're all there to talk to you. And then most importantly, you can talk to other people who are using Courier. So come on over, say hi. Excellent.

Aydrian Howard:

All right. So to start off I think we'll go ahead and talk about the changes that are coming in our in-app notifications.

Nate Munger:

Yeah. These are coming fast and furious. We first talked about this last month and there's already been some really cool design updates, new features so I'm excited to talk about this.

Aydrian Howard:

Yeah, there's been some really great conversations and the Help channel and Discord. We have our engineers, helping people get set up. A lot of people starting to use it. I started playing around with it, like using it as a way to display notifications on my personal stream. So that was really fun to do. But without further ado, let's welcome Riley. And let me add her to the stream here. Hello Riley.

Riley Napier:

Hello.

Aydrian Howard:

Do you want to introduce yourself?

Riley Napier:

Yeah, I'm Riley. I've been here at Courier almost two years, two years in July so I've been here a little bit. And I've been kind of building out the in-app team as my recent projects. And it's really, really cool because it's a way to really take something that's hard to do and implement it in our client's websites and really make our client's websites really feel big, robust, and feature rich. So I'm really excited about that.

Aydrian Howard:

Right. Oh.

Riley Napier:

Bye.

Aydrian Howard:

Yeah. I know I'm on, I'm on two separate screens and if I don't click back over onto the one with the slides, and if I hit like next slide, it actually removes the person, which is not fun, but hey, it's live, what do you expect? We're going to play with this. We can fix it in post. So last month we had, I think Jay, it was Jay. Jay came on and talked about our Courier web push integration and it was really based around these toast notifications. And this is what people have been working with over the last month. But Riley is here to tell us about our newest offering and an app. And that is the Inbox widget, which is now in beta. So what do you want to tell us about the Inbox widget, Riley?

Riley Napier:

Hold on a second. My dog is being upset at me.

Aydrian Howard:

Oh, no worries. We love dogs here. I don't know if Blue has been featured in our Twitter yet, but another reason to follow our Twitter, which is @trycourier, because occasionally you get to see posts of our animals. So mostly dogs, but we have other ones [inaudible 00:05:21].

Riley Napier:

Yeah. She gets upset when I'm talking to people at my laptop. She's crawling at me right now [crosstalk 00:05:28]

Nate Munger:

[inaudible 00:05:28]

Riley Napier:

Okay. So the toast is great. The toast as mentioned in the previous [inaudible 00:05:33] little bit of review, is that toast gives us ability to... You can send an event to career, and then you can kind of have us send that to your website. And you might ask, well, we already have that. We have browser push, we have mobile push. And yes, those do work, but they're not necessarily in your application. They're a little bit outside of it and they're not really styled that well. And if Aydrian goes back to the previous widget, you'll see that you can style this. You can put your icon, you can change the color, [inaudible 00:06:09] Details and Dismiss and you can add different buttons.

Riley Napier:

So this is really cool because it really augments your application. And also me personally, I really don't like to subscribe to browser push notifications. They scare me and also I just feel like they really intrusive, but inside of your web app, I think is really great. But the problem with this is that what happens if my message disappears before I see it, or I'm looking somewhere else, like yelling at my dog and I come up, not yelling and being very, very polite and nice and telling her to please be quiet while I'm on the phone. And then I come back and then I see that all the messages just disappeared. I'm like, what was that? What was that? Well, what we have now is we have an inbox.

Riley Napier:

Inbox is going to be the history of all the messages that got sent to you on toast. And that's really cool because it's a history, so maybe you saw the toast, you didn't want to deal with it and you wanted to deal with it later. And now [inaudible 00:07:07] you can go click into your inbox and see the history of all of them. And you can see the unread messages, all messages giving you the ability to really control this. So it's basically just like a history of all the toasts right there. And yeah, it's really exciting for us. And there's going to be a lot of really, really cool things that we're going to do with this in the future. Like integrating this, not just with toast, but with email, for example. So say I got a toast message that came in, but I also emailed somebody and they're part of the same message. But I open the email, that's automatically going to mark your toast message in your inbox as read.

Nate Munger:

Oh, that's very cool.

Riley Napier:

[crosstalk 00:07:48] with Courier and if you're using Courier for everything, we have really the ability to make everything talk to each other. And you're not going to get that anywhere else and that's really, really exciting. So I'm really excited about the features and the progress that we're making here.

Aydrian Howard:

Yeah. And kind of like, I don't know, I don't watch commercials anymore, but there used to be the commercial for the hair club for men, we're not only the president, but we're also a client. So you can see the inbox widget in use in Courier today.

Riley Napier:

I think it's behind a flag, but yes.

Aydrian Howard:

Is it behind the flag?

Riley Napier:

Yes. So Aydrian, you can see it.

Aydrian Howard:

It's in beta, in our app.

Riley Napier:

Yeah, yeah.

Aydrian Howard:

[inaudible 00:08:30] the beta. Okay. I guess I need to log in with my non Courier account more often, so I can see what's behind the flag.

Riley Napier:

Yeah.

Aydrian Howard:

So let's talk a little bit more about the widget, because it's so easy to add this. I think like all of the power that you're seeing there is really happening, like behind the scenes Courier is facilitating that. So to integrate it with your website, let's talk a little bit about that.

Riley Napier:

Yeah. So we have two ways to integrating it. We have a way of doing React, which is shown here. And if you're familiar with React, a lot of components like this have a provider component. All of our in-app, in-apps can be like an umbrella term that we'll be using and it's going to encompass multiple different components, in-apps will be considered for inbox for toast and then for preferences and things like that moving forward. So for all these components, you need to wrap them in a Courier provider and the Courier provider is what's going to be responsible for talking to Courier. So you can kind of think of it as the transport between your website and Courier. I'm going to get the messages, I'm going to know who your user ID is. I'm going to help you mark messages as read or unread and everything like that. But it's just as simple as here's this is my user and this is my client key. We will be supporting more authentication for domains and user signatures but for now the simplest way to get up and running and saying, hey, this is my user ID and this is my client key.

Aydrian Howard:

Nice. Yeah. So basically if you are already a user of our toast component, this could be as simple as just pulling in the inbox component and then adding it inside your already existing Courier provider, because it's using the same provider. Yeah. We have a question in the chat, is Courier thinking of adding more capabilities like searching, filtering and flagging messages?

Riley Napier:

Wow. That's a really great question. I think that... So searching and filtering, so we do support filtering in the sense that if you go back to the previous tab we do have unread in all messages. And those are basically two different filtered lists. So unread basically as a filter says, is read false and then all messages is basically no filters. So we have the ability to do filters giving like a filter pane where you can say, I want this between these dates sent to this part, or I guess, send to this person because they only be sent to you. I think it's definitely a possibility and I like the idea. And with that, search and filters would be an easy thing to add and I liked the idea. But as of right now, you just gave us that idea.

Aydrian Howard:

Yeah. And that's the great thing is right now the beta is open. So Nate, do you want to tell us how you join our beta program?

Nate Munger:

Yeah. You can just reach out to support@courier.com and I'll connect with you and get you access to the beta documentation. And we love to get feedback. That's one of the things that we hope that beta participants would be willing to do for us, because it is being tested and we do want to improve it and we want to encompass user feedback. So but if you're interested reach out to support app then we'll connect.

Aydrian Howard:

Yeah. So sign up for access start implementing it and if you have great ideas for features, if you find any bugs, please let us know and we'll see what we can do, see what we can add to kind of the roadmap for these components.

Riley Napier:

Yeah. I love that question by the way. Like we're in beta, so the more feedback, the better at this point. So please just keep them coming.

Aydrian Howard:

So let's talk a little bit about the design and what can be customized here. So we have a an overview image of what the inbox looks like and all of the different components. And so these are all customizable, right? Riley.

Riley Napier:

Yeah. So out of the box, we basically have different sections like header, footer, bell icon, message actions and basically title body and everything like that and basically how long ago the messages came in. For the React components, all of these are associated render props, so I can get the next thing you have. You have the interface for inbox props. You have render header, render icon, render message. So you basically, you can take control of rendering all of these. Granted that's pretty advanced stuff if you want to do that.

Riley Napier:

But really what Courier wants to do and Courier kind of has, as kind of our brand is that we want to be opinionated in the sense that we want people to get up and running as quick as possible [inaudible 00:13:32] beautiful right off the bat without having to do much work, but then kind of give you escape hatches. And one thing that we're going to do with this as you go back to the previous slide [inaudible 00:13:41] kind of jump around, but we're building a UI for this as well. And we will have the ability for you inside Courier, choose your colors and choose different parts of the theming that you want, say your icon, because obviously no one's going to be using the Courier icon necessarily. But it's fun for us to show it off because we love that little bird inside of it. If you've never noticed that there's a bird there.

Aydrian Howard:

Yes. Yes we do.

Riley Napier:

So we're going to be building a UI to allow you to edit these things. And I think that'd be a lot of fun for people to be able to do it without actually having to know what is a render prop, because a render prop is an advanced React concept. Not everybody's going to know how to do, but everybody will know how to use a color picker or I hope so.

Aydrian Howard:

Yeah. So probably next month, we'll be back here talking about the expanded brands part of the Courier app that will allow you to set all of these without having to mess with code, which is [inaudible 00:14:38]

Riley Napier:

Yeah. And if you're familiar with Courier, you'll know that there's this brand concept where you can basically go and say for my emails, I want these colors and this logo and everything. So this is basically just taking that brand concept and adding an app inside of it and then, so you can a consistent brand right out the gate between your in-app and your emails.

Aydrian Howard:

Yeah. But until then we have the ability to theme it and so we've got information about the different properties for the theme. So you can set CSS properties on the header, the footer, the icon, all the different things about the message list. So all the different parts that we call out there you can, you can customize using CSS.

Riley Napier:

Yeah. And it's, it's really extensive we're using styled components here. So you can basically have control over the CSS of any single part of the inbox to your heart's content. Granted we'd love you to use ours, but we know that's not how it's going to happen. So, but we're trying to make it as pretty as possible without having much user interaction.

Aydrian Howard:

Awesome. I think this is our last slide on the inbox. Yeah. So the last thing we want to do while we have you, so we want to talk about kind of a sneak peek, so like what's coming in the next month. So we've really touched on the branding of like the branding inside the Courier app but we also wanted to mention this preferences component. Last month we had [Sue Haas 00:16:08] on talking about the changes that we did to preferences. And this is building on top of that. Do you want to speak towards this at kind of a high level? We don't need to go too much in, because we're going to go into this next month.

Riley Napier:

Yeah. So what I mentioned before about this concept of in-app being an umbrella term, the next set of components, or next component that we're adding and inside the in-app is preferences. So kind of like we said before, is that integrating all these things in your own application, building a web socket client, building toast notifications and building an inbox, they'll be done relatively easily. Not relatively easily, but you can build it yourself. And with this, we do have an API for preferences. So you could right now go ahead and build a UI, have a proxy server that then talks to Courier and then set your preferences that way. But wouldn't it be cooler if we had components that you can just embed into your page already, and then you can basically get everything out of the box?

Riley Napier:

And that's what Courier is trying to do with all in-app, is that saying, “Yes, you could do all this yourself, but hey, look, you can get it up and running right away and look at how powerful your app looks now and you can really flex your muscle by having a Courier there behind the scenes.“

Nate Munger:

And I assume this will be brandable as well, right?

Riley Napier:

Yeah. Yeah. So basically the branding that you will choose for the inbox will also brand this, so.

Aydrian Howard:

Nice. Well, I think this is our last slide for you. Thank you for coming on and explaining this really powerful stuff and really easy to use right out of the gate. Looking forward to all the new beta testers and the people who will ultimately be in Discord discussing it with us. So thank you, Riley. And we are going to move on.

Nate Munger:

Bye Riley. Thanks.

Riley Napier:

Bye.

Aydrian Howard:

All right.

Nate Munger:

Yeah, that was awesome.

Aydrian Howard:

That was... Yeah, that's cool. Like what they're coming out with in in-app, like each month, it's just they're going above and beyond every time. Very excited about this one. We're going to take a look at what's been happening insight Automations and to do that, we're going to bring on... I think we're technically going to bring back-

Nate Munger:

Bring back. Yeah.

Aydrian Howard:

Yeah. Chris Gradwohl. Hey Chris. Welcome back.

Chris Gradwohl:

Hey, thanks for having me. How is it going?

Aydrian Howard:

Good. Do you want to introduce yourself again?

Chris Gradwohl:

Yeah, sure. My name's Chris I'm work here at Courier. I started here in January, the Automations team and there's what's kind of like the Swiss army knife at career. And so yeah, lots of exciting things have been happening and excited to talk about them.

Aydrian Howard:

Yeah. So he's been with the Automations since the beginning, so there's very few people here who probably know as much as Chris does about what's going on with Automations. But speaking of, what is going on with Automations? And I think the next slide is kind of a big announcement. [crosstalk 00:19:20] here again.

Nate Munger:

Don't worry.

Aydrian Howard:

All right, here we go, we're going to advance the slide.

Chris Gradwohl:

Cool.

Aydrian Howard:

So Automations is now available for everyone.

Chris Gradwohl:

Yeah. Super exciting. Everybody's been working really hard on it. Lots of product development, back and forth, lots of feedback. And it's just exciting to get it out there and get people using it.

Aydrian Howard:

Yeah. So the beta flag has been removed. If you are in Courier, you can find the automation, is it the Automations studio? What are we calling [inaudible 00:19:51]?

Chris Gradwohl:

[inaudible 00:19:54] Automations studio.

Aydrian Howard:

The Automations studio? Yeah.

Chris Gradwohl:

Yeah.

Aydrian Howard:

So if you go to if you go to our designer the little palette on the left, up on the top, you're going to see that automation tab and it's going to allow you to create your templates, or you could auto stud the chats. Very nice. Or you can use the Automations API, but it's available to everybody now.

Chris Gradwohl:

Yeah. Also, I just want to shout out the data tab as well. So like, if you click on the little database icon, there's an Automations tab there as well. So you can see all of your automation runs, you could click into it and see different steps that have been invoked, some that are still processing some that haven't been processed yet. So yeah. Lots of functionality we released. It's pretty exciting.

Aydrian Howard:

Yeah. So not only is it now available for everyone, we've got some changes and updates happening as well.

Chris Gradwohl:

Yeah. For sure.

Aydrian Howard:

So the first one you can now schedule an automation so we can have an automation run based on a CRON expression rather than it being invoked using the API.

Chris Gradwohl:

Yeah. Yeah. This is a super powerful feature. So after you define your automation template you can just set a reoccurring time that you would like this template to be invoked. So this is really powerful for like digest use cases or just any type of reoccurring send that you would want to happen. You can just do it here in the UI. Just define the template and schedule it.

Aydrian Howard:

Yeah. And that's really powerful for people who only work inside of our app as well, because now they can create a template and then they can just schedule it to go and you don't need to have a developer trigger using the API. So a lot of powerful workflows I think, are going to come from this and we're going to allow a lot of people to get them set up.

Chris Gradwohl:

Yeah. And if you don't want like a reoccurring CRON like job where [inaudible 00:21:53] can happen every Friday at 9:00 AM, you can also just enter in any ISO 8601 time stamp there. So if you just want it to schedule, like if you just want it to run, next Wednesday a specific time and just have it run once, you can just enter in that timestamp there as well.

Aydrian Howard:

Oh, that's cool. Yeah. I put this in, like it was recurring, but-

Chris Gradwohl:

It's both.

Aydrian Howard:

... [crosstalk 00:22:18] to run at a specific time. That's nice.

Nate Munger:

It might be worthwhile just either refreshing or letting new people know more of the basics of Automations. What does some of the things, the steps that can be included in automation as they're building that?

Chris Gradwohl:

Yeah. So especially when around scheduling, you could... So some of the steps that you could that you can define in your automation template, or like a send step, so you could send to it individual recipient, we have a send-list step where you could send, if you're using career lists, you could send to every recipient in your list. We have a delay step. This provides some type of functionality where maybe you want to wait awhile after an event happens. We were talking to a customer that when someone subscribed to a specific feature in their application, they wanted to send them a message, but they didn't want to do it right away because they felt like that was kind of an aggressive move. So you could find a delay step for like three hours and then send your email message. And we have some new steps this month as well.

Aydrian Howard:

Yeah. So let's talk about those.

Chris Gradwohl:

Yeah.

Aydrian Howard:

So talking about the new steps and functionality. Yeah. Go for it, Chris.

Chris Gradwohl:

Yeah. Yeah. So first up is the update-profile step. This was in response to one of our customer's. But basically what the use case for this would be like, let's say something's changed, your user has changed some part of their account information, their profile information. This will update the Courier profile on the notification side so that everything stays in sync. And then the two really powerful updates, changes that we brought on were the fetch-data step and the send-list step. So this is driving towards that digest use case where you want to deliver a notification and have the data for that notification be within the context of some time period like for a week or something. So the fetch-data step allows you to fetch data from a URL that you provide. And then we take that data and use it to render the notification. And similarly, in the send-list step, we added functionality for a data_source property that does the same thing, but this way could be targeted per recipient. So you could set some data from a URL and that data will be specific to the recipient and we'll use that data to send them a very targeted notification for that recipient.

Aydrian Howard:

Yeah. So we got fetch-data is so fetch [inaudible 00:25:02]

Nate Munger:

[crosstalk 00:25:02] but its out there to participate in the beta and having the ability to give that kind of feedback that impacts the product. So, yeah.

Chris Gradwohl:

Absolutely.

Aydrian Howard:

Yeah. So I think now we want to drill down into these two new steps and kind of talk about, you mentioned how they would help with digest. So let's talk about digest.

Chris Gradwohl:

Okay, cool.

Aydrian Howard:

Oh, wait. [inaudible 00:25:36] We weren't done talking about a update-profile, I guess.

Chris Gradwohl:

Yeah, this was one of the first ones that we did last month. So this is just a way to update your career profile and what's interesting about this is the merged strategy. So you can define like how you would like those updates to happen. So we allow all of that control for you. So if you want to completely wipe out the existing profile, just provide the replace merge strategy with the API call and that'll just completely wipe out. But if you would like some more sophisticated merge options, we offer those as well.

Aydrian Howard:

Nice. Cool. All right. I think now we're getting into [inaudible 00:26:18] digest.

Chris Gradwohl:

The really good stuff. Yeah.

Aydrian Howard:

Yeah. So but first let's talk... I guess we're looking at, we're just so excited about these digests. We want them now. But let's look at what is entailed in these steps. So this is the JSON for the fetch-data step and then the updated JSON for the fetch-data in the send-list. So-

Chris Gradwohl:

Right. So there two main types of digests that we're thinking about right now at Courier. There's the generic digests where you just want to fetch some data and send that data to all of the people. So every notification will get the same data. An example of this would be like, let's say you want to send some team statistics to everybody on your team. Well, that data is going to be the same because everyone's on the same team. So it's just more of an update. So everybody will receive the exact same notification. And so to facilitate a generic type of digest, what you would use is the fetch-data step followed by a send-list step. So what fetch data will do, it'll reach out to the API that you provide and it'll return, and we'll store that data for you, and then use that to render the generic notification.

Aydrian Howard:

Okay. And then the other side, there's the send-list step and it now has the-

Chris Gradwohl:

data_source property.

Aydrian Howard:

data_source property, which I'm not... Am I missing it in there?

Chris Gradwohl:

No it's there.

Aydrian Howard:

Oh, it's there. Okay. Yeah, I think I indentions a little off. Oh, it's missing a comma. That's why. Okay. But-

Chris Gradwohl:

That's okay.

Aydrian Howard:

... we can provide a data_source property and do this for recipient.

Chris Gradwohl:

Exactly yeah.

Aydrian Howard:

And so we'll go into the example here in a moment, but here's what the JSON on looks like if you remember to put a comment in.

Chris Gradwohl:

Yeah, exactly.

Aydrian Howard:

All right. So back to the generic digest. This is kind of... Yeah, so I'll let you go on it.

Chris Gradwohl:

Yeah, yeah. Sure, sure. Yeah. So like, again, like I was saying if you just need to send everybody in your list the same type of notification with the same data, then what you're gonna want to use is the fetch-data step. And this will just take the response from that URL that you provide and we'll store it for you behind the scenes and then we'll use that data to send everybody on the list the same notification. So if it's like a team setting or something where the data is kind of generic across all recipients this would be like the way to automate that with Courier.

Aydrian Howard:

And so the person who's creating the notification in the designer they would just expect this data to come into the data attribute, like if you pass it over in a send?

Chris Gradwohl:

Exactly. Exactly. And what makes us really powerful is you could have this like return specific data over a period of time. So if you wanted to send a weekly digest notification or a weekly message to all of your teammates, the data can be dynamic in that sense so that every time that we make a call to that API URL that you provide, it will return data applicable for that time period, which is really cool.

Aydrian Howard:

Yeah. Cool. Okay. And then the second type of digest that we're talking about today is the recipient digest. Do you want to?

Chris Gradwohl:

Sure. Yeah. So like if you have a use case where you want to send everybody in your list, a very targeted notification where you want to display to them, some type of data that's very unique to them, then what you're going to want to use is the send-list step. And we've added functionality to this to include that data_source property. And in the data_source property, you provide us a URL and that URL needs to accept a query parameter with the recipient ID. And in this way, you can return very specific recipient data that will be used to render that targeted notification.

Aydrian Howard:

Nice. So people out there probably don't know. At the end of every cycle, we have our engineers build a demo. So we have a demo day channel and it's a really a great way for the rest of the people in the company to actually see something actionable that came out of the engineering cycle. And so Chris actually came up with a demo for this. But do you want to let them know what your example was for recipient digest?

Chris Gradwohl:

Yeah. Like for example, imagine you have some type of e-commerce, or not e-commerce, some e-learning platform where you have a bunch of students and each student is enrolled in different courses, they have different grades, they've made different progress in their courses. So what you want to do is you want to send them a weekly notification and give them a progress update and say, “Hey, this is where you're at in these courses, and this is your current grade in each of these courses.“ And so to do that what I did is me and Aydrian built out a [inaudible 00:31:43] function that had specific data for each one of our recipients and then we pass that URL into this send-list step. And in this way the send-list step we'll reach out, get that specific recipient data with the grades, the courses, and the progress, all that, and then use that to render a notification and deliver it to each one of the students.

Aydrian Howard:

Yeah. So this is an automation that could be set to run, like say every Friday and every Friday, it's going to go out and hit that end point and get new data. So you can really like build the notification, you can set up the automation and then kind of set it and forget it. Like, if it's something that's something that's going to run every Friday, like you are good to run every Friday.

Chris Gradwohl:

Yeah. It's easy bake oven of automation steps.

Nate Munger:

Nice.

Aydrian Howard:

So I have a question now that we've talked about the general digests and the recipient digests, can we combine them? Can we do something like a notification that does a team status, but also in that same notification, it gives you your individual status. So that would require, the fetch-data step along with this updated send-list step that takes a data_source?

Chris Gradwohl:

Yeah, absolutely. And this kind of goes back to that merge strategy idea. So the way that you would do this, so imagine you want to send a team notification and then in the same automation template, you want to send recipient based notifications. So first what you would do is you would define a fetch-data step to fetch all of the team data that's going to be generic across your team, followed by a send-list step with no data_source property. And what this will do is it'll send everybody the same data, the same notification. The third step would then be another send-list step, but this time with a data_source property, and then that way you'll provide a specific URL for each recipient in your list that will send everybody a unique notification as well. And if you really want to, you can add a delay step in there in between to space them out a little bit.

Aydrian Howard:

Yeah. So I guess my question was like, can we have it in like combined into one message where you have like the team information and your individual information in one message? Like-

Chris Gradwohl:

In one send call?

Aydrian Howard:

In one send call, yeah.

Nate Munger:

In one message.

Chris Gradwohl:

That's interesting. I actually don't know. I don't think so. I just [crosstalk 00:34:19].

Aydrian Howard:

[crosstalk 00:34:19] To stump the engineer.

Chris Gradwohl:

No, no, no. I love that idea though. I don't know... I'll have to think about that. I don't think it's currently supported but there might be a way to build that into the send-list step, to where you kind of want to do both.

Aydrian Howard:

I guess I just didn't know if it would continue to add onto the context. As long as you name things correctly, if it would like [crosstalk 00:34:43] in this context and then in the send-list, like if it does that like merge that in.

Chris Gradwohl:

All right. Yeah. I guess you could. Yeah. Yeah. We just figured it out, Aydrian. Yeah. So I guess you just have to find one send-list step. And then in like the body of the automation property, you would just define the generic team data, and then in each send-list, and then in the send-list step provide that specific URL on that. And then as long as your notification template is set up to handle both of those, that would work.

Aydrian Howard:

Awesome. Yeah. This is very exciting stuff because I get a lot of these types of emails. So with post-man it tells me how many times I've contacted an API or beacons. I have a beacon site and it will send me one of these digests that tell me how many links have been clicked and different things like that. So it's really cool that like, we can so easily put this together all inside of Courier. So like we can set up the CRON, we can set up the web hooks to go out and grab more data and merge it all in. It's really powerful stuff that all works together.

Nate Munger:

[inaudible 00:35:58] like 50%. Nice.

Chris Gradwohl:

Yeah. Yeah, exactly. That's Swiss army knife.

Aydrian Howard:

Exactly. So I could see... I think we're getting to the point where it's time for Courier to do this kind of thing, a regular digest to our users to talk about our metrics.

Chris Gradwohl:

Yeah. That'd be great.

Aydrian Howard:

[inaudible 00:36:19]I know we're talking about things like that and internally but any reason to use a more Courier inside Courier, we love.

Chris Gradwohl:

Yeah. Absolutely.

Aydrian Howard:

Yeah. All right. Was this... Okay. So that was the end of Automations. Thank you, Chris for joining us once again. We're going to be very excited to see what comes out next month. So Chris might be here next month. We might have somebody else from the team. But we'll see what we'll see what ends up happening. So-

Chris Gradwohl:

Either way we'll keep you posted. Yeah. Thank you guys.

Aydrian Howard:

All right.

Nate Munger:

Bye.

Aydrian Howard:

All right. And you think we might be done but there's more. So we kind of broke this up into different teams. We did in-app and then we did automations but there's one update that's kind of exciting and it doesn't really fit into one of the teams. And that is Outbound Webhooks, which is now in beta. So Outbound Webhooks, man.

Nate Munger:

This is a long time request.

Aydrian Howard:

It is a long time coming. I always, I joke because when I was interviewing with Troy, over a year and a half ago, I was like, “Do you have Webhooks?“ Which is like a question that I would ask any product that I was interviewing for as like, “Do you have web books? Because I love Webhooks.“ And you would know that by all of the playing that I've been doing with the Twitch Webhooks. It's fun to do, but now you have the ability to get message status updates pushed to you from Courier. So there's no more need to pull the messages API. We have a lot of a lot of requests that are simply just checking to see the status of messages. And so now you can revamp the way that you architect your app and listen for that. And so you can cut out a lot of calls to Courier which is great. Great for us, great for you. And so this is now in beta, we're currently supporting Message Status updates, more to come, lots of features. But again, if you're interested in Webhooks and being in the beta, reach out to us over support on intercom, on Discord, you name it.

Nate Munger:

Yeah. This one's exciting too. It's like, this is kind of like an understated, but really powerful I think slide that he put together. This is a big [inaudible 00:38:58]. Yeah, the ability to just listen for updates is going to be huge.

Aydrian Howard:

It is. Like and even like in the little side projects that I'm working on, like I do... I have my own little Discord bot and a side server. And one of the things that I'm doing is I'm listening for when the message is sent so that way I can get back the ID of the message that was posted in discord so that way later on, I can do things like update that message or reply to that message. And so like right now I have this whole polling process that kicks off. It usually takes like one or two times checking the messages API for it to actually hit that delivered status where I have that data. And so now I can just have it whenever it changes sent to me and I can get rid of that little polling process because I've had a lot of problems with it. Not actually like not actually doing its job and like swallowing error. So I'm excited to implement the Webhooks myself.

Nate Munger:

Cool.

Aydrian Howard:

Yeah. So I think that was the last of our updates. Let me go back here. And that's it. So a little shorter this time, but pretty helpful to Comcast users. Oh yeah. I guess you're on Comcast, do you get throttled or do you have a max amount of data that you can use a month? Yeah. But yeah, so that was this month. You can look for us again on the first Wednesday of the month going over the product release notes for... It will be for February. So... No, why did I say that? It will be for May. So look for it as the first Wednesday of June we'll be coming back with all the things that we're doing this month. There's a lot of great things that we have queued up and we can't wait to talk to you about them. But if you want to know about things earlier, again, jump into our Discord. It is discord.gg/Courier. Come say, hi, talk to the rest of the community, see what we're up to. Until then-

Nate Munger:

updates.courier.com is another place where you can get early insight into what we're working on.

Aydrian Howard:

That is right.

Nate Munger:

[inaudible 00:41:18] to release we also put things that we're working on now there.

Aydrian Howard:

Yeah. So plenty of visibility into what we're doing here at Courier. Anything else to add?

Nate Munger:

No.

Aydrian Howard:

All right. Well thank you for coming. It's been fun, it's been educational and we will see you next time.

Nate Munger:

Okay.

Aydrian Howard:

So, all right. Bye, Nate.

Nate Munger:

Bye. See you.

Start Routing Notifications Today!

Courier is a notification service that centralizes all of your templates and messaging channels in one place which increases visibility and reduces engineering time.

Sign-up

More from Courier

data-thumbnail
COURIER

Tools and Techniques to Establish Your Data Team Early

How tools like Segment, Metabase, Snowflake, Census, and others, can help establish a data team from the very early stages in a startup.

Raymond See

Raymond See

February 16, 2023

QOTD Thumbnail
ENGINEERINGCOURIER

Develop a Motivational QOTD with Courier and GPT2

Courier and OpenGPT2 in action: build a service that sends friends and family an AI generated motivational quote of the day.

Prakhar Srivastav

Prakhar Srivastav

February 09, 2023

Build your first notification in minutes

Send up to 10,000 notifications every month, for free.

Get started for free

Email & push notification

Build your first notification in minutes

Send up to 10,000 notifications every month, for free.

Get started for free

Email & push notification

Platform

Users

Content

Channels

Sending

Workflows

Preferences

Inbox

Workspaces

Observability

API Status

Changelog

© 2024 Courier. All rights reserved.