Automate Google Calendar: Daily Agenda Emails with Make.com

This is a YouTube video titled "Automate Google Calendar: Daily Agenda Emails with Make.com" created in August 2025. The content features Michael Elliott explaining a step-by-step tutorial on automating daily meeting summaries using Google Calendar and AI tools. He demonstrates how to set up the automation, format meeting data, and customize AI prompts to generate concise daily agendas, which can be sent via Slack or email. The video is instructional and focused on productivity automation for executives and staff.
Michael Elliott here. What if AI could schedule your day and give you an update at the same time every single morning about all of the meetings that you had booked for that day? The reason for this video is because not only do I personally use it, and it helps me significantly to be prepared for everything that I have going on for a Monday or Tuesday, a Wednesday, whatever, and it's fired to me first thing. It's also that this is a saleable flow that you can easily replicate for execs and senior managers at certain businesses or whole companies that allows you to be able to know that your staff are prepared for what they have ahead for the day. So let's dive in because this is not only a time saver, this is a money maker. And they those are my favorite sort of flows. Now we're going to be using Google Calendar. So search for for Google Calendar and hit search events. Now I already have a connection. If you don't have a connection then just hit the add button there and connect. I'm going to select the event that I've already got. Now when it comes down to the the start date, we need to format this. So we go over to the date and time and we select the function that is format date and we have the variable now and we have it year, year, year, month, month, date, date, time. And then we have this 000000 Z and that is the formatting for the time so that it ends at midnight. Copy that, paste that in the end date and change this to the last second of the day so it'll be 23:59:59. And what that does is that makes sure and ensures that your start date and end date are strictly on the now. When it fires at 7am it's for said day and time. So we know that we're only going to pull today's meetings. Really important. The rest of this we don't have to. We don't have to worry about. Just select all and then hit save limit, lift it to. In case there's a lot of small meetings, you might want it a little bit higher. So we hit save and then we hit run this module only and that will give us an output. Now you can see in here, this gives us bundles. So you can see that we have bundle one, bundle two and they all have the correct information inside of it. In regards to what a. In regards to what you would need for a meeting, there's nothing else that you would possibly need, including the description that will give you the the sort of output now what we need to do next is we need to use an array aggregator to aggregate this information into a digestible format. So if you search for the array aggregator and then you just select all of the aggregated fields, you could go through and select them, but I don't. And hit save. Now what we have, if we run this once, it's going to say this because a transformer shouldn't be the last module in the route. But you look through this, we now have this information isolated, okay. For each individual bundle, which is what you want now when we go through to create an automation. So we have the information now in a format that we can understand. Well, that the machine can understand. It's going to allow us to be able to leverage AI in the best possible way. Then you. We. We're now into a position where we need to create the developer and system prompt. Now the model that you choose here is completely. Is completely up to you. I would just probably run with the. The O4 Mini would be absolutely fine for, for something like this. And inside of the system prompt, we want to say you're an intelligent. You're an intelligent writing assistant preparing summaries of today's meetings for Michael, for the c. For a CEO called Michael. Then we want to say if there. I don't even know if that's necessary. Let's just do this. You will be given an array. An array of meetings. Let's avoid hyphens. Your job is to summarize each. Your job is to summarize each of these meetings individually and provide clearly formatted outputs. Okay. Did I make a typo somewhere? I felt like I did. Okay. Summarizing everything about their agenda for the day. Okay. Now then we will go through and, and if we were to run this now, this is the thing with arrays. If we were to run this now and leave this in a position where we just. Well, let's do it. Let me get rid of this to see what the output would be. Okay, so run once. Let me hit save, save, hit. Run once and we'll see what the output is. This is going to be incorrect. Oops. Run it twice. You see this now? Sure thing, Michael. Please share today's meeting details. So the reason for this is because we haven't provided the chat GPT in terms of prompt engineering enough information in order for it to be. For it to be consistent. Now what I would say in this individual scenario, when I'm using arrays, I like to run the module as I have done. It's not going to Let me save. Maybe it is. And I go into the array itself, the aggregator of the array, and I click this little button here, the little download button. Click that. Click Download input bundles and copy this whole piece section of information. This, this, this whole data string. We take that, okay, and we add that. Oops, we certainly don't add a module yet. We add that into the, into the, the user prompt here. Okay. And this showcases what the array is going to look like in the eyes of the LLM. Okay. So in the eyes of Chat GPT, this is what the, the array is gonna, is gonna look like. So when we add another message below with the user prompt. Okay, sorry, yeah, when we, when we had another message below with the, with the assistant prompt, which is us telling it to think about the way that you use Chat GPT. The easiest way, if you don't understand this prompt engineering already, is to explain it like this. Like when you are asking Chat GPT a question, when you do use the, the online tool, for example, you ask it a question. That's the, the, the, the user, when you're talking about the assistant, that's the response. So what we want to be doing here is, and if you've watched any of my other videos, you'll understand that one of the big things that I'm big on is few prompts are better than few prompts are a significant improvement on many. You want to keep prompts down to a few prompts where possible because the marginal difference that you get in terms of increase is really small. So inside of here, now what, what we need to feed it, all we need to feed it is information about the, feed it information about the context of what it's gonna, it's what it's gonna receive. And that needs to be a real strict example of, of, of the output. Now if I add to the bottom of this, if I add a user prompt that contains the array and give it some basic instructions, I don't know, like you need to keep a line in between every, a line in between every sentence, title or bullet point. An example, an example of the input of the array is below. Maybe I've missed something here, but let's see. So hit save. Let's run this once. And what we are going to have to do here is we are going to have to give it and provide it with a, with a specific example. But hopefully this gives us an output that allows us to be able to, to do that. Now let's have a look result meet in John Doe, link to the calendar events Organizer Michael. Preparation. You have the quote on hand. Agenda. Discuss next steps tells you what the meeting is. It's not really. It's good. It's okay. It's, it's not, it's not terrible in terms of an output but we want it to be a little bit more, a little bit more condensed. So let's go back in here and tweak a few, tweak a few things. Let's give it a specific example before the array. So and this is important because we want to add our examples before the dynamic information is provided in order for it to be able to, to read it in order and the array has something to reference when it puts the output through. So if I had a message here and we use this based off of as we said a minute ago with the, with the user and the assistant. This will be an assistant prompt and I will pull it up above the array so that it's in a position where it can be read prior to the dynamic data and we paste in the response we got and we edit this. So we say good morning Michael. Below are your meeting notes for the day because the LLM is, is very smart. I hope you slept well. You probably need to be a bit more professional than that. Meeting time. Meeting time. Agenda. Discuss next steps for AI ticketing solution. You reviewed last week. Preparation. You have a quote on and yeah, let's delete the links. If we group those together, I think that would look quite good in terms of like the output. So if we group them together the, the date and the meeting and the time and then we bring them together. Meeting time. Note this meeting is attendees full sales team will be present. Just. Yeah, I mean let's see. Smart dress code. Yeah. Okay, so we've added that assistant prompt to the, to the user prompt above which was the, the input from the array just to recover what we've done. And now we've updated this to try and get it into a better, more nicely formatted approach then above. I'm just going to change the developer and tweak the developer and system prompt quickly. Agenda for the day. If there are important points, elaborate. If not condense and never share the link or the attendees because that should be taken care of. That should be taken care of inside of the information that it's fed. Let's see now what happens. Let's look at the result. There is smart format I purpose meeting. You know, if we were being picky, you'd go back in here and you would, you would probably edit the, the user prompt to make it so your first meeting, second meeting. You can play with this. I'm literally doing this off the dome. But you. You're literally in a position here where you. Where you can tailor this to anything that you want it to say. And depending on the user requirements, they might just want the meeting date and time. Like they might not want too many more pieces of information other than that. Have I done that right? Your first meeting? No. So let me just quickly, quickly edit that. Your second meeting, third, last meeting. Yeah, and I saw. Yeah, one second. And just going to edit the developer and system to avoid using this. Let's hit save. Let's run it once. We'll see what the output's like. You'll understand the picture from this and you'll be able to easily recreate this as a. As a step. So result. A lot more. A lot more. Well broken down. I mean we can. Should we. Should we send this to Slack? Should we send this to Slack just as a. As a test. So Slack send. Create a message to a. To a Slack channel user. Enter manually. Test, test two. We don't need anything. Yeah. Result. You could use this via email. I'm just going to do it by Slack just to. To run it one final time. Let's do this. And the Slack message in terms of the output to that channel was a success. So you can very clearly see how this is a saleable scenario as small as it is and as condensed as it is. Play with the format and play with the information. This is rough and off the dome depends what specific requirements you have as an individual. It depends on specific requirements what someone else has as an individual. You will need to tailor this differently in terms of the. The LLM in terms of chat GPT in order for you to be able to actually fit it to the level of staff member. You might find that the sales staff need specific information in a specific format, obviously different to what the execs need. All of that as an ongoing process is standard procedure. So I hope you enjoyed the video. Thank you for watching. And this is something you should definitely include next time you have a one set it up for yourself. Next time you have a client that you bring on board, once that goes through this, mention it as part of the sales process. This is probably my number one up upsold feature and I've just given it you for free. Cheers.










