Platform
Docs
Solutions
ContactLog In

Automate Slack and MS Teams Notifications using Node.js

We’ll see you here on

March 23, 2023 @ 5:00 pm

Add to your calendar

Open YouTube link

Transcript

Shreya:

Alright. Hello, everyone. How you doing today? My name is Shreya, and I am your host of this weekly live workshop series called Decode, where we come together and we build cool projects, and we talk about notifications. It's just me today, so we're going to have fun. We're going to go through this blog post that we talk about automating Slack and MIcrosoft Teams notifications using Node.js.

Shreya:

And fun fact, I just realized that while I was backstage, I was like practicing my introduction and my producer Charla could probably see me making a bunch of weird faces. And now I feel embarrassed. But hey, you know what? That's that's the life of livestreaming. So anyway, if you're here, go ahead and say hi in the chat so that I don't feel alone and I'm just going to go ahead and get started.

Shreya:

Let me share my screen. So we just published two blog posts. One of them, they're essentially the same thing. In this one we talk about automating Slack and MIcrosoft Teams notifications. And then the other one we talk about doing the exact same thing with Python. Now, if you know anything about Courier or if you don't we are a notifications infrastructure, an API that allows you to send notifications from your applications across any and all channels, which includes things like SMS and email, which are really used to with something like Twilio or SendGrid or the Gmail API.

Shreya:

But there's also a lot of other types of notifications you can send from your app which really help with your user retention and making sure that people are using your app after they've downloaded it. For example, you can send push notifications, you can add a little inbox, you can do all sorts of things like Slack and Discord and all sorts of stuff.

Shreya:

So today we're going to be looking at Slack and Teams specifically. And then towards the end we'll talk about routing to other channels if you want to do that as well. Thank you so much, Charla, for sharing the links in each chat. I'm going to go ahead and start just like reading through this blog and we'll just follow the steps exactly as it tells us to.

Shreya:

And that way, when you guys are doing this project at home or you're trying to send out notifications through whichever channel, you don't have to come back into the video and do everything as I'm doing it. You can sort of just like do it in your own time also. Hi, Maria. Thank you so much for joining. I really appreciate you saying hi in the chat.

Shreya:

I'm going to see Maria later today. So I'm really excited. Alright. I'm going to stop saying, um, okay, I'm going to try to say, um, less during this livestream. Okay. So before starting, it tells us that we want to make sure that we get our access to our courier API key, which we're going to need eventually when we start actually making our API call.

Shreya:

So I'm going to head over to app.courier.com. You can also just directly click this link and it'll take you to your API keys page. I want to make sure that I show you the entire process. So once you've signed in to Courier or created your account and gone through the onboarding process, you’ve created a workspace. Mine is already set up.

Shreya:

You can click on this little gear icon at the very top, right, and that should take you to your settings page. And then you go down to API keys and you can copy your production key. If you decide that you're working in your test environment, which you can change very easily over here, you can go ahead and copy your test keys that are available here as well.

Shreya:

Alright. We don't actually need to copy it. We just need to make sure that we have access to it, which we do. The next thing, that we want to do is install try Courier by running the NPM install, tryCourier/Courier command. So this is sort of an assumption that you're already building a node.js project.

Shreya:

You already have your application set up and you want to now integrate notifications. I don't have that yet for this demo, so I'm going to go ahead and create a new project. Don't look at my files. They're really disorganized. I'm going to go and save this in my document. Okay. They're not that bad. Actually, my desktops were like that, so I'm not going to show you that. GitHub Courier will say that in here.

Shreya:

We'll create a new folder. I'm going to call this… Slack Teams because I'm boring and that's okay to be boring sometimes. Alright, let's go ahead and open this. And I want to create a new file. I'm going to save this file to just save it here and index.js… Perfect. I'll open up a new terminal.

Shreya:

You probably can't see a lot of this if you're watching from home because it's so small sometimes on the screen. So I'll zoom in a little bit more and then I'm going to run a quick NPM install just in case I'm missing anything. Perfect. So it's created my package lock.JSON file. So install tryCourier, I'm going to just copy this little command over here and then paste it in here and hope for the best as we do.

Shreya:

Awesome. Great. So now we're going to start with sending with Slack. So obviously if you're going to try to send notifications to a Slack account, you need to make sure that you have an actual Slack workspace setup in advance. So first you want to head over to the Slack Channel in Courier and click install provider. Okay. Just going to follow the steps as it tells me to and not try to get ahead of myself so I have Slack installed.

Shreya:

That's great. You know what I'm going to do? I'm going to go ahead and create a new workspace so that it's easier to follow if you haven't done this before. So when you go to the sign up process or just any time you create a new workspace, this is the workflow that you're going to see. We're going to call this Slack Teams again because I'm boring.

Shreya:

And then let's see, I prefer, you know, sending my email. Usually I should have probably changed that. This is just a little like making sure that Courier understands what type of stuff that you like to send. You can sort of decide what you want to do for the onboarding process. I'm going to stick to email, click on node.js because that's what I like coding with.

Shreya:

I'm going to sign in via Google, Gmail. Alright, cool. And then you can run this command here or you can just copy the kernel command, open up a little terminal or paste it in your little terminal, and then you've got your request ID, which means Courier successfully sent the notification. You got a dancing pigeon. The dancing pigeon is literally the highlight of my day every time I do this onboarding process.

Shreya:

And then you can click on see the send log, etc.. So we're rushing through this process because you guys have probably seen this a million times on these live streams before. But if you have any questions, let us know in the comments and we'll make sure to or I'll make sure to address it. Great. So now we were trying to set up the Slack channel.

Shreya:

I want to make sure that I'm taking everything step by step. This link set here, it's the same link over here. So what I want to do, I have gmail setup already as I want to find Slack. Great. And then it says click install provider. So I'm going to go ahead and click an install provider. Fantastic.

Shreya:

Yeah. If you want to just send with Teams, you can go ahead and skip to the send with Teams section that's below. Alright. Step two is create a Slack app. If you already have a Slack app, you can skip the step. I don't have one, so I'm going to create one from scratch over here. And there's obviously a really nice square button that makes it very obvious.

Shreya:

I'm going to go ahead and click that. Okay. From scratch… App name. What should I call this? I'm going to call this…. Hi, Dennis. How are you doing?! Thank you so much for commenting. I literally think last week or whenever I did the last live stream, I don't think you were there and I was waiting for your comment and I was like, “When is Denis going to say hi?” And you just never did.

Shreya:

And I was really upset. So I'm really glad that you're here today because I really look forward to your little messages in the chat. Alright. I'm going to call this that's a.. I need a better name for this Slack app. We're going to call this team Dennis, because Dennis is the last person to comment over here. Alright.

Shreya:

And we're going to pick a workspace to develop your app. And I have a Slack demo app, so I'm going to go ahead and create it in there. Awesome. I hope I have access to that. Don’t be sorry I’m just playing with you. Alright. And then what does it tell us to do, provide your app name? We did that already.

Shreya:

Add OAuth permissions and scopes, so we want to go ahead and permissions over here and then go ahead. And I lost track of what I was doing. Scopes, perfect. So add an 0Auth scopes here. There's a bunch of scopes over here that sort of allow you to personalize, customize your Slack app and, you know, make sure that it either has all the right permissions to do what you want it to do and not too many so that it's not like messing around with your Slack account and people and like randomly talking to it and becoming like, you know, a robot that comes to life and then starts having conversations with people in your Slack, which

Shreya:

obviously doesn't happen, but just saying you can never be too safe. These are the four scopes that we need. So chat:write, Im:write, users:read, users:read.email. I don't know, how this is pronounced. I feel like I'm saying wrong. That's okay. Let's go ahead and add chat.write and im.write. I'm going to call it im.write and hope that is how it's pronounced.

Shreya:

Users:read and users.read.email users… Users.read? Users users, read? Yes. And then usually users. Oh, you know, awesome, sweet, sweet, sweet. What do we need to do next? I like that there are screenshots everywhere. Install app to workspace or then reinstall apps. If you'd already created this when you were updating permissions on an old application, you can click reinstall app over here.

Shreya:

I haven't installed this app yet so I'm just going to click install the workspace and I'm also going to do a quick sanity check to make sure that I have my Slack demo account in here. You can see I've already done some testing, so just ignore that will use the we'll use something else later. Will Team Dennis be able to view?

Shreya:

Oh sure. Whatever. I'm just going to click, allow and hope for the best. Awesome. So the next thing we want to do is send a Slack team with node.js. We're going to need this token later, not that much later, but like in a bit, we're going to need access to this. But not just yet. So to send the actual Slack message via Courier, keep in mind you could absolutely just do this by the Slack API.

Shreya:

But the reason we're using Courier today is because we want to be able to send either to Slack or Teams or to another channel of your preference. So later we're also going to integrate like email or something. And in that case, if you had directly is a Slack API, which is a perfectly fine way to do it, you would have ended up having to have multiple API calls, right?

Shreya:

And with Courier, you just have that one API call and it just becomes like a very fast and easy process. Cool. So we want to add this code snippet that's included over here into our code base, and then we want to replace the little properties and update them with whatever information that we actually want to use. So I'm going to go ahead.

Shreya:

And did I end up running that? Yes, okay. I did run the command in the beginning, so I'll just go ahead and copy all of this. And because we're sending with Node.js, I'm going to make this part of an async function so… Okay, now this is too big for me to edit. Can I close this?

Shreya:

Oh, it's already part of an async function. Fantastic. So I don't need to do anything. It's already calling the function and everything fantastic. So what we do need to do is update this information. If you remember earlier, we got access to our API key, so I'll run over here and I'll find that API key again and I'll copy it. And don't be me, save

Shreya:

this is an environmental variable. I'm really lazy. It is a Thursday morning and I get really lazy in the morning, so I'm just going to paste that in here for the demo and then rotate my keys after the stream. Alright. And then Slack. We need an access token, an email. We're specifically adding email over here because we are sending to a person directly.

Shreya:

We're sending a DM. If you weren't sending a DM, if you wanted to send to a channel or private channel or something like that, there are other scopes that you would have needed. Let mefind the right documentation for this.

Shreya:

And then Slack at the integration… Slack app requirements. Let me just go into the Slack page and then I want to find send to a public or private channel. So if you were to send to an actual channel using this spot, you would need to update your scopes. I'm just going to send this in the private chat and ask Charla to share it with everyone.

Shreya:

Great. Alright. I'm going to take like a two second breather because I feel like I'm going a little fast. If you guys have any questions, let me know in the chat. Awesome. Thank you so much for sending those links. I have my email open later so that we can also test emails, you know, wait to see if there's any questions.

Shreya:

And if not, we'll continue to talk. Alright. Well, if you have questions, feel free to leave them in there. Please ask questions. Otherwise we'll just go ahead and continue sending this. We need our access token. So we did get our access token over here. So I'm going to go ahead and copy that, update my Slack access token and email. So I'm going to DM myself, which is, you know, maybe you want to DM yourself, that's fine too.

Shreya:

There's nothing wrong with that. Normally you would want to DM someone else. I think just statistically it's more likely that you're going to DM someone else, but you can DM whoever you want to, so make sure that you have access to the email of the person that you want to send it to, or information related to the channel that you want to send to.

Shreya:

And then you can update. This is just like a template. You can update the title, you can update the body and the body is like the actual main message that you're trying to send. A title, for example, if this was an email as opposed to a Slack message, the title would be What appears in the subject line. For text messages

Shreya:

the receiver doesn't end up actually seeing the title, they only see the body. I wonder if in Slack did we end up seeing the title? So in Slack we don't see the title. So it's really just for you to remember what this is and it's really valuable if you're sending both to email and to Slack or email in any other channel, make sure you have a title in there.

Shreya:

Otherwise they're going to get a blank subject line and no one wants to link subject line. Alright. We can update that if you want to. And then our routing is a single direct message. This is interesting. This is also going to become a really valuable when we start sending to various different channels. For now, I'm going to leave this as direct message and single and we'll talk a little bit about how you can change this when you are sending to various other channels.

Shreya:

Alright. I clicked something. Let's go back to where we were. Oh, I'm doing the thing. I'm doing the thing that Maria told me that she also does because Robert does it and now, we've seen Robert do it in meetings, and so now we're doing as well. You know, the thing where you like trying to cover up awkward silences by doing like… This is the first time I've caught myself doing it.

Shreya:

I went too far. Okay, cool. I updated the email and the Slack token and the API key. While you're testing, send it to yourself. DMS, Add it to a random person on your team and then let's run the Node.JS program to see if your notification pop up in the user Slack. To see your notification pop up in the user Slack Direct message. I got scared

Shreya:

I thought there was like a typo in there. Okay, so we're going to go ahead and open a new terminal and we're going to say NPM run. Is that the right command? Okay. I hope it is. I didn't get a message, so I definitely did something wrong. How do you run an Node.js project? This is embarrassing. I have done this so many times and I don't remember a simple command.

Shreya:

What is it now? I'm just doing that for fun. Run and node.js script from the terminal. Oh, Node app JS. Oh my God, that's embarrassing. Okay, Nodeindex.js. I called it the wrong thing. Okay, cool. So I’m going to do it again because that was that was embarrassing. And we want to make sure that we can cut this out later.

Shreya:

And no one needs to know that I made a mistake. So when you're ready, you're going to run this code. Yeah. I didn't make any mistakes. Was exactly how I ran it the first time. This little ID that you get at the very end is a request ID that Courier is sending you to sort of just let you know that this message was sent.

Shreya:

Keep in mind, there's difference between sending a message and delivering a message and Courier sending means Courier sent it. There are no errors in the process of trying to send this message and then delivering is once Courier’s already done the sending part. Was that something that was received by the user? So that's like the other half of it.

Shreya:

Just because you got this message or this ID doesn't mean that the receiver received it. And if you want to check to make sure as a person sending it. Hi, Seth, how are you doing? Thanks for joining and thanks for commenting. I really appreciate it. I'm going to head over to my logs and see that one minute ago I sent this message and this is what it looked like.

Shreya:

And then it's just telling me that it was confirmed. It was delivered. Obviously, I can actually go into my Slack channel and see that team Dennis did send me a message saying this reminder. This is a reminder to fill out the survey. Awesome. So it worked. That's great. We know how to send Slack messages, but that's also boring.

Shreya:

We want to make sure that we can do more than that. So let's talk a little bit about if you were not a Slack team and if you were a MIcrosoft Teams team and that's what you use to actually send messages, how would you go about doing that? Also, by the way, there's additional resources here if you want to check those out as you're building it, if you run across any errors.

Shreya:

Alright. With MIcrosoft Teams. Now, fun fact, I got locked out of my MIcrosoft Teams account this morning, so I'm not going to be able to demo, but we can still talk about it. We can go through these steps and you can check out the little screenshots over here just to make do a little sanity check and make sure that you're on the right track.

Shreya:

So to do something with Teams in the same way that we just did with Slack, process is very similar. You need to make sure that you have a Teams app and that you have a bot ready, and then once you've given your bot access to the right scopes and permissions to send messages, your API calls going to end up looking very similar to this, except instead of sending, you know, just like you're going to send to Teams, awesome.

Shreya:

So first step is you want to sign up for a Microsoft 365 developer account, you want to create a Teams app. We're going to skip through this a little bit, make sure to give your app a really awesome name. And then after clicking the add button, you'll be directed to a new window and that's where you can see the app ID and you're going to need to make sure to copy that ID for later.

Shreya:

You can probably just leave this tab open and copy it when needed. You want to go to your app features and then title the bot, click on the title name, click on the bot and then you can add your scope. So select an existing bot or create a new one if you want to. Awesome. And then it's going to ask you some information over here and it's also linked extra steps that you need to do with Microsoft.

Shreya:

So it's slightly longer process but can't help it. If you're using Teams then you got to do what you got to do and then you're going to go ahead and deploy the bot once you're ready. We've included an Netlify example in our blog post, but you can deploy the bot however you want to and then you're going to install the bot itself.

Shreya:

Awesome. And then you're going to go ahead. I'm sort of like just skipping through this because I can't demo it right now. But if you have any questions as you're doing it, this video is going to be saved on our YouTube and you can always go ahead and ask questions and we'll let you know how to debug anything in this process.

Shreya:

And then this is a Courier part is when you are in Courier, you want to make sure to add this channel to find Teams over here, MIcrosoft Teams, you're going to need to access your app ID and password, add those in here install provider. This is just enabling Courier to send messages via that bot itself. And then we're going to get the link to the actual channel that you want to send it to.

Shreya:

And then that's the rest of this process is exactly the same as the Slack, except there's just one extra little property that you need to add in. So this little area over here tells you exactly how to get access to all of these little properties. Make sure that you can either just copy this entire code and start over or just copy the MIcrosoft Teams part of the profile.

Shreya:

And then you can replace the Slack profile here or you can go ahead and just copy this part and paste it in here. And so if you have access to your conversation ID and your tenant ID go ahead and get those in here. Service URL is Interesting, because you can just use this URL if you're based in the US,

Shreya:

Otherwise I think it might just be in the Americas in general. Or at least if you're in the US you can use this. It's based on location, so you can probably find this link online based off of wherever you're located and then you run your Node.js program in exactly as it did over here in our Slack app. It would instead send it to your Teams channel.

Shreya:

Awesome. And then there's some extra resources over here as well. Alright. So that was a little fast, but this is the moment I've really been waiting for, which is routing to multiple channels. So what we did before was only sending to Slack or only sending to Teams. Now we're going to talk about where Courier becomes really valuable, which is you might not want to send to Slack and Teams at the same time.

Shreya:

I think it's pretty rare for people to have both a Slack workspace and a Teams workspace set up where they want to send the same type of message. But let's say you have a Slack message and it's like super urgent. You want to make sure that people in your team are accessing that notification. As quickly as possible. Maybe that survey reminder is really about a survey that absolutely needs to be finished by the end of the week, right?

Shreya:

You could then also make sure to send them an email or a text message that is much more likely to be opened. Let's say you're sending the Slack on a weekend, which is horrible, horrible. Don't do that. But if you have to for some reason, send a Slack on a weekend, and you know, people have they're notifications turned off or silenced.

Shreya:

You can then send them an SMS message as well. Right now, we're more likely to look at that. So we're going to talk about how we can combine everything. And we've already done that a little bit over here where we added our MIcrosoft Teams profile right under Slack. But if you go down to a routing object, you can see that it's specifically trying to send this message to a single direct message channel.

Shreya:

What does that mean, both of these Slack and Microsoft Taams are direct message channels. However, when Courier tries to run this program, it's going to only send to one channel. So first it'll try to send Slack and it's going to be like, Yay, that was successful. We know it was successful. We already demoed it. So it's not going to send Teams because we've specified we only want to send to one channel.

Shreya:

So what we're going to do is just skip over any other information we have. Right. I actually should rewind that a little bit. It's not going to look at the profile yet. It's actually just going to look at your channels and it's going to say, oh, she wants to send a direct message. Alright, let's see where to send that direct message.

Shreya:

And Slack happens to be the first one listed over here. Hi, Rod. How are you doing? Thanks for joining. Rod and I had some beef at the office yesterday because he was trying to get Blu’s attention. If you were in the live stream last week, you know, Blue is our favorite little…Not our favorite dog! I can't say that, we have a lot of really favorite dogs.

Shreya:

They're all our favorite. I can't talk today I’m sorry. So yeah, Rod was trying to play with Blu and Blu chose me. Blu likes me better than Rod. And I just think that the world needs to know that. Hi Maria. How are you doing? Thanks for joining. Maria is also someone who keeps running these chats and saying hi every time, and I really appreciate that.

Shreya:

Awesome. So what was I saying? I lost track of what I was saying. I got really excited when I was talking about my beef with Rod and now I lost track. Okay, cool routing. Yes. So it will send to Slack and then it won't entertain Teams. We got that part. How would you change that? How would you try to send to all channels?

Shreya:

You would literally just change single to all. Blu is the best, Shreya is the best, stop it. Maria is literally sitting across from me. I love that.

Shreya:

“I would never say that on a live stream,” Rod said. “You were saying how great I am, just like Courier.”

I would not say that, you can't. You're never going to catch me saying that. Alright. So, yes, we talked about sending to multiple channels. Obviously, we said that we don't necessarily want to send to Slack and Teams at the same time.

Shreya:

I feel like that's really rare. So something that might be slightly less rare is if you want to send to Slack and an email or Teams and an email or send direct message and phone number. Right? So let's go ahead and add that information in here. Cool. Let's add…

Shreya:

Email and then we're going to go ahead and add my email address, which is Courier.demos@gmail.com. And then we're going to also add in a phone number, and we'll add in a phone number. Oh, I don't want to put my phone number on here. Okay, So just add in a number and then it should send it to the phone number.

Shreya:

I'll demo this at the end. I'll just remove the code from the actual screen afterwards. So let's test to make sure that email works in our case, because we're sending to single, we can run this code and we know that it's only going to send to a direct message. Let's just do a sanity check and make sure that that part's working.

Shreya:

Yes, we got this direct message. We did not get an email. Fantastic. That is good, because that's what we want it to do. Alright. And then if we decide… The office is getting spicy. Oh, my God. Rod's glaring at you. I… You know, that's why. That's why I'm better than Rod, because I wouldn't glare at you. I just think that people need to know that.

Shreya:

How do you know which channel it'll pick? Order of listing? Yes, that's exactly. You just answered your own question, which is in this case, it's based off of the order online 27. So if you were for example, our next example is email. If we were to add email in here, that makes sense, right? Slack and email are in the same order.

Shreya:

Let's say email was listed first over here and then it was direct message. Even though in our profile Slack is listed first, this is just sort of like a database that has all of our profile information. Courier is going to try to send an email first because that's how it's listed over here, and then I'll try to send the direct message because we specify that it's a single channel.

Shreya:

It will send the email. And if that succeeds in sending, it's just not going to do anything else. So let's again, sanity check, make sure that that works. Something was sent. Do we get the message? Yep, we got the message. Awesome. Cool. Did we get a Slack message at the same time? We did not. It is 11:30/11:31 and this is our old message.

Shreya:

So again, it's, you know, when we start actually demoing this, it becomes a lot easier to see only one channel is listed in routing. Yeah, like Teams versus Slack. Same thing. That's a good question. If we were sending to, actually this is my assumption, and if Seth wants to clarify that. Previously we just had direct message and we had single, in this case I assume that it's going to send to Slack first or try to send to Slack first because that's how it's listed in profiles, Is that correct?

Shreya:

I'll let you comment and then I'll address it once it's there. And then so… Right. We had email in here. Great. What else do we want to do? Oh, yes, we want to show if you wanted to try to send to all channels, this is how you would do it. And we previously saw that we only got an email last time, but this time we got an email and we got a Slack message at the same time.

Shreya:

So yeah, that was really easy to set up. The next thing I want to try to do is go into our automations. I love our automations. It is. It's such a beautiful experience. Let's go in here. It's dark mode. It's the first dark mode thing that we have in our UI and it's so pretty. And I always mention that it's really pretty.

Shreya:

If you're interested in how to use automations in other ways as opposed to what we're going to do today, we have a bunch of other livestreams we've done in the past with stuff as well, and you can check those out. But for now, I'm going to go ahead and choose a schedule trigger as opposed to any other type of trigger.

Shreya:

And let's see, should I do I'll do like a specific date and I'm going to use little thing over here. I don't know what it's called a time picker or a date picker, and I want to send it… Let's just send it today, a few hours from now. So let's send it at like 5 p.m. “This is actually going to get more robust in the next month when we roll out channel variation.”

Shreya:

I think this is related to the question that Maria previously asked and this was Seth’s answer. “Courier makes an internal decision at the moment on which channel to send to primarily because it requires additional context for provider information. In this case, I don't believe team has.” Yep, we don't have enough information on the team provider, so it's going to fall to Slack.

Shreya:

If we were to just put

Shreya:

direct message and single. Alright. Thank you so much, Maria, for asking that question and Seth for giving an awesome answe. Alright, And so we're in our automation over here. I'm going to call this my Slack automation, even though we're going to send various things and then we're going to add our little actions. I want to send a message and I want to actually send to a… I’m going to click Json.

Shreya:

And then because we already have our profile information in here, I'm just going to copy this and paste it. I'll just copy the entire thing. Actually. Alright. Paste it in here. That's not good. I messed something up. Should I paste that in here? That's also bad. Oh, I think I need. Yeah, I quotes in here. So let me go ahead and add little quotation marks everywhere doing that thing again.

Shreya:

Now I'm going to think about that every single time I do it. Alright. This is starting to look more green. I love it when things look more green. And I love it when things look more green. You can see the automatic CLI appeared over here as well. So instead of you know, if you didn't have the Json already and if you wanted to add it manually, you can always add it in the editor itself or you can click add field, you can add nested fields once you add these fields and as well, I'm going to delete this because we don't actually need it for now.

Shreya:

Oh, you can see the nested fields in here actually. So that's how they appear. We should have a Json linter in the editor. That sounds fun. Alright. So if we wanted to automate the message that we were doing here, we were manually sending it. So it was sending immediately. If we want to schedule it for a later time or send it based off of, I don't know, some user activity on a website or send like a weekly recurring message saying, “Hey, don't forget to complete this really important survey” that you're doing once a week or once a month, or just based on the recurrence.

Shreya:

You can change date to recurrence. And then here you can select a template. We don't actually have a template, so let's go in here and create one. Let's create template. And then this is the automated template that shows up the first time you create one. This is my survey reminder.

Shreya:

I'm just going to use AI to create the content of it because that's way faster. See, and then we have our survey reminder template. I'm not going to spend too much time on that because that's not the point of this live stream. Click on Survey Reminder. Awesome. And then you can publish changes and then your automations is live. And then at 5 p.m. today, we'll get that message.

Shreya:

That was easy. That was fun. Awesome. That's pretty much it. Thank you so much for Seth and Maria for having an awesome conversation around providers and routing and how that works. We have some FAQs at the bottom addressing, you know, what team the Slack are if you're curious. What Courier is, some like common support error messages and everything.

Shreya:

So go ahead and check this out. Charla if you don't mind sending this link. Oh, she sent, Charla sent the sign up link in the chat as well, so you can go ahead and get started now. But Charla,if you want to send thelink to this blog post. That would be awesome. We have the other Python one in here as well, so you can go check that out and we'll be posting this in a bunch of other languages.

Shreya:

Go, Java, Ruby, and one other one that I don't remember right now. So thank you guys so much. Thanks for joining. Thanks, Dennis and Maria G. And who else is here today? I missed someone for sure. Oh, Rod was here. Rod, I feel like I left you out intentionally. I'm kidding. I didn't. I swear I forgot. Alright cool.

Shreya:

Anyone else? Nope. That's awesome. Thank you guys so much. I'll talk to you guys later. Take care.

Shreya:

Bye.

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.