Slash no-shows with this Ai Agent (free template)

Rory Ridgers walks through an automated workflow that cuts no-shows by requiring prospects to confirm meetings via SMS and email within 2 hours. If they don't respond, the system cancels the event and frees the slot. Built in n8n with Cal.com, Airtable, Twilio, and Gmail, the template is free to use.
Chapters
What's up guys, in this video I want to show you a relatively simple but crazy effective system to make sure that everyone that's booking up a meeting with you is actually attending those meetings. Because I know how annoying it can be when people book up a meeting with you and then it turns out it's a no-show. You've just wasted all that time. So I built this system that's able to pretty much eliminate that completely. Quickly, if you don't know who I am, my name is Rory Richards and I help business owners to integrate AI agent systems into their businesses. So if that's something you might be interested in, I've left a link to my website in the description. You can go ahead and book a cool, we can talk about some ways to integrate AI into your business. Just a quick one as well before we get into the video. As always, the templates that I use in this video will be available for completely free in the description. If you go into the description, you'll see something that says free templates. You can just hit the link and grab them there. Let's not waste any more time. Let's get into the video and I can show you how it all works. Hey guys, so we're in NAN now and this is kind of the system that we're looking at. As I said, looks relatively simple, but it is very, very effective at getting these people to actually show up to the meetings that they book for. So basically, just to give you a brief overview of what's actually happening in the system, we have a Cal.com trigger. The reason I chose Cal.com, by the way, is because if you want to trigger something via Calendly— I know Calendly is probably the most popular out of the two, but if you want to trigger something via Calendly, you do need the paid subscription. With Cal.com, you don't. So I thought it made more sense for you guys watching this if I use the, um, Cal.com trigger, because you can just do it for completely free. So we have a Cal.com trigger. So when someone books up a meeting with us, it's going to trigger this scenario. And then to begin with, we're just gonna be scraping their website, converting that to Markdown, and then finding their LinkedIn. And then we're passing all of that to an AI agent that's basically gonna create a summary on this lead based on their website content and then their LinkedIn. So, and then after that, we just have a really, really simple Airtable create record, and this is the Airtable base. So it's just gonna be names, emails, websites, status, notes, LinkedIn URL, and then lead summary. So quite simple stuff, kind of acting as your CRM in this case. You could obviously hook this up to HubSpot or something if that's what you use, but But in this case, I'm just gonna be using Airtable funneling all of our leads into there with this scraped data that we have just got from here. And then we're gonna use an LLM step to basically look at the inquiry that we got from call.com. So in the form when they book up a call, there'll be sort of a how can we help you section. And in there our agent is gonna look at that and it's also gonna look at their website content and basically make a summary on their inquiry that we're gonna use later on. And then formatting phone number. Again, you'll see what this means later on, or in the next set you'll see what this means. When, uh, someone fills out a form, they'll have to put in their phone number, and people put their numbers in differently sometimes. So we're just using the LLM step to make sure the number is formatted perfectly for what we want to do. And then after that, we have a Twilio step, and what we're going to be doing with this is we're going to be sending a text message over to these people, and it's just pretty much going to be saying, hey, we received your, uh, meeting, just letting you know that the meeting is scheduled for X time. hopefully we'll see you there. And then we have a Gmail step and we're just gonna send over an email to this person. And in this one it's gonna be an email pretty much saying a similar thing as a text message. Hey, just seen that you booked up a call for X time, and then we're gonna add in our inquiry summary in there. So really looking forward to chatting to you about, uh, building this AI sales system that you inquired for, something like that. And then one of the built-in NAM features, it's gonna send that message and it's gonna wait for a response. So it's gonna send off that email and then there'll be two buttons at the bottom saying, uh, 'Yes, I'll be there,' or 'No, I'm busy.' And we do this just to make sure that, um, these people are actually sort of a little bit engaged and taking a little bit of action. It just means they're most likely going to show up to the meeting. And also, one of the reasons I did this— Google made a change recently. Not too sure if you knew this. I actually didn't know this until I started building this system. They made a change where when you're scheduling sort of automated meeting events or just events on your calendar with other people, it works a little bit differently. It doesn't send over a calendar invite, you know, usually when you hit yes or no, it doesn't send that over anymore. What it does is basically on your calendar— so if in my case it would be me, I'm the one that is sort of hosting the meeting— on my calendar it's just going to say that they are ticked, so they're sort of attending, as if they said yes. But then on their calendar, it's not going to show up on their calendar until they hit yes, and it's also going to come off of my calendar if they hit no. So a little bit different. I was going to work this system a bit differently where we just check the calendar and and make sure that they've hit yes. But obviously that doesn't really make sense anymore because it, by default, it just says that they are attending the meeting even if they haven't actually hit yes on their end. So little bit weird, but we do it this way with this built-in NAM feature where we send over the email and we just have buttons at the bottom saying, yes, I'll be there, or no, I'm busy. And then we also have it so that it's set for 2 hours. You can do this to whatever you like, but it's set to 2 hours. If they don't reply in those 2 hours, so if they don't click either of those buttons, then it— we're just going to treat that as them clicking the no button. And then we just have a switch node, which is basically going to look at the output from this step. And if they said yes, I'll be there, we just send them over another automated email, basically just sort of preparing them for the meeting, saying what we're going to be talking about, that kind of thing. And then if it goes the other way, so let's say it's been 2 hours, they, um, haven't said anything, they haven't hit a button, haven't opened the email, we're going to send them another, um, SMS. We're going to send them another text message just sort of giving them a little bit more of a nudge, just saying like, hey, notice you didn't reply to that email, everything good? Are we still gonna see you in this meeting? And then we have another Gmail step that's pretty much a copy of this, but saying sort of similar content to this, just giving them a little bit more of a nudge. And then again, having those buttons saying, you gonna be there or you not gonna be there? And then we have a switch node here. So basically with this, if they say yes, I'll be there, then it just loops back up to this one. That's just sort of gonna prepare 'em for the meeting. And if they either don't reply or say no, it's just going to delete that event from our calendar and then send them a text and we've deleted it, send them an email saying we've deleted it. And the reason we delete it is because it's really just not worth it. I know from experience when these people that you just don't think they're really going to show up to the meeting, they haven't replied to any emails, haven't replied to any texts, and you kind of just don't think that they're going to be showing up to the meeting, it's really not worth, um, having that slot still booked in there, especially if we're getting lots of calls booked up. It's really not worth just keeping them in there, sort of hoping that they're going to turn up for this meeting, it's better to just cancel the meeting and hopefully someone else books up that time slot. I found that that makes way more sense, and I'm sure a lot of you guys will agree. If they're not replying, if you don't think they're going to show up to the meeting and you're pretty certain they're not showing up to the meeting, just delete the event from the calendar and just let them know politely, hey, deleted this event, uh, if you'd like to reschedule, then let me know. So we can have a bit of a deeper look into each of these steps. If you want to skip along to the demo, feel free. We're gonna go into each of these steps, have a look in a little bit more detail. So the first one, really, really simple. We get triggered by cal.com. I'll quickly show you the cal.com form. By the way, this is the, um, meeting thing that they're actually gonna be filling in. So if we just say a random time and it's gonna be first name, last name, email address, how can we help you, website URL, and then phone number. So if we come back over to N8M, we're just gonna put their website URL in here and we're gonna scrape. If you don't know these HTTP, um, steps where you just do GET and then an HTTP node. When you put in a URL, it's just going to return all the HTML from that URL. So we're just going to get all the raw HTML from the URL of their website, and then we convert that to Markdown. And the reason we do that is it just strips a lot of fluff back from the HTML and makes it a lot easier for our LLM to go through that data and sort of give us a summary or do whatever it has to do with it. Makes it a lot easier if it's in Markdown. And then we do a Tavli step, and if you don't know what Tavli is I use it in pretty much all my videos, so if you've watched me before, probably know what it is by now. But it's basically sort of like a Google API for NAM. We use all the time in NAM, and it's really, really simple to connect up. You just put in this endpoint URL and then content-type application/json for the headers, and then authorization, your API key. And if we come down, this is the body that we send over. So you can see all these different points here. So topic, search depth, max results, time range, days, yada yada. Most of the time, the only thing you need to worry about is query And what we put in here is we put in the attendee's full name and then their LinkedIn. So let's just say I booked up a meeting through here. Let's do a search for Rory Ridger's LinkedIn profile URL. So obviously it would ping back my profile URL from that. And then alongside that, it also does a little summary of the LinkedIn profile as well, which is really, really nice and really cool. And then we pass all of that over to this LLM step here. So we give it the LinkedIn summary and the website content, and then this is the prompt we've given it. You'll receive a LinkedIn summary and a full website in markdown for a lead. Your job is to look at both the piece of data, create a summary of this lead and their company output. Just a summary, please. Keep it 100 words max. So quite simple. You can kind of go a little bit deeper into this if there's some more information, like specific information you want to retrieve from their website or from their LinkedIn. And obviously just let the agent know, um, put it in the prompt here, but I've left it kind of vague and just sort of told it to give us a general overall summary of the company, of their website, and of their LinkedIn. and then really, really simple Airtable node. We've just hooked up our Airtable base to this one. I just showed you Demo Leads and Clients, Table 1, and then the values to send: name, email address, website URL. These are all gonna be from the Cal.com step. Status is New Leads. Notes, you can put anything you like in there. LinkedIn URL is gonna be from the Tably step here. And then if we come back in, the lead summary is obviously gonna be the output from this agent here. So really, really simple. That's all we're gonna get added. Into our Airtable base here. And then inquiry summary. What we're doing here is I'll just show you the prompt. So your job is to take an incoming inquiry and look at the summary of the lead and then create a summary of what they want. You'll receive a summary of the lead and then also the inquiry they made. Your job is to make a little summary on their inquiry to go in a sentence like, really looking forward to chatting with you about yada yada. You'll be writing the how can we help part, make sure it all makes sense to the context of the sentence. And then we basically just pass it. The lead summary and the inquiry. So the inquiry that they fill out on call.com and then the lead summary that we got from this step here. And then it's just gonna do sort of a little bit more of a dive into that actual inquiry. And then also looking on a summary of this lead to make it a little bit more personal. And then we use that of course in this step here. And then format phone number. This one's really, really simple. Um, in Twilio it needs to include your country code or your area code. Sometimes people don't put it in like that. Like I'll just put 07 da da da da. So obviously if I did that, the agent here would have to convert that into the right format. So that's all we're telling it to do here, basically just convert it so it has the country code in there. And if you haven't used Twilio before, it's basically the easiest way to sort of mass send emails. A lot of companies use it to do email automations. When you do a delivery from Amazon and they send you a text message, it might not be through Twilio, but it's going to be through a similar service like that. So all you do is you can buy a phone number through there. It's crazy cheap. I think it cost me like 80p or something for the number. Then of course they charge you for for usage. The more you use it, the more you're going to pay. Um, and then you just connect up that number and then you can just do calls and texts from that number. There's a native integration with it on NAN, so it's really, really simple. You just connect up your Twilio account, really simple. The docs on NAN show you how to do it. So if you go to create new credential and then go to open docs, it will tell you exactly how to do it. And it's really, really easy. You just have to get an auth token and an account SID. Really, really simple. It walks you all through it here. Anyway, once you got your account set up, resource is going to be SMS, operation send from, this is going to be the number that I bought on there, so it's just kind of a random number. And then the to, this is going to be the phone number of course that we get from this step here. So the agent has taken the number from here, formatted it if it needed formatting, and then sent it over to this step. And then the message content is going to be, hey, the name is Rory here, just wants to confirm our meeting for, and then we put the time Make sure to hit accept on the calendar invite when you receive it, if you haven't already. See you then. So that's going to send them over a text. And then we have a Gmail step here. And what we do here is a little bit different from normal Gmail. What we do, message is resource like normal, then operation is send and wait for a response. And it's going to do exactly what it says on the tin. It's going to send it off and it's going to sit here and it's going to wait for a response. So the to is going to be the email, of course, that we got from cow.com. Subject, recent website inquiry. And then the message body is going to be Hey, the person's name, thanks for reaching out. And then the little personalized snippet that our LLM made a second ago about their inquiry, then also about their company. And it says, I've gone ahead and booked in our call. If you could just hit the I'll be there button so we can confirm you'll still be attending on the call. We'll dig into what you're trying to achieve, walk through a few ideas, and see if it makes sense to collaborate. If anything changes or you need to reschedule, no stress, there's a reschedule link in the invite. Speak soon, Rory, autonomously. And then if we scroll down here, you can see that we set the response type to approval, and this is just gonna pop up those buttons. It's going to be two different options. Type of approval is going to be approve and disapprove. Then we just rename those buttons to I'll be there or I'm busy. I'll be there being approved, and then I'm busy being disapproved. And then we have a switch step here, and really simple, we just take the output from here. This is just going to output if they said, um, yes or no, if it's true or not true. So we put in the data from here. If it's true, it goes this way. If it's false, it goes the other way. False is going to be, um, if they said I'm busy or if they didn't reply, it's going to be false. And then true is if they said I'll be there. So if they said I'll be there, really simple, it just comes up to here. We're sending it to this person again, subject's upcoming meeting, and we just say, hey, and then their name, just want to say thanks again for confirming the invite, really looking forward to our chat. Feel free to bring any questions, notes, or specific challenges you'd like to cover. I'll make sure we keep things focused on what matters most to you. Speak soon. So quite simple, just kind of confirming and getting them prepared for the meeting. But then if they didn't accept it or they, um, sort of timed out, it took longer than 2 hours— by the way, if you want to change the time as well, I did it for 2 hours, you don't have to do that— you go to Add Option, Limit Wait Time like this, and then After Time Interval. So 45 minutes, uh, I think 2 hours is a good time, but of course you can do days, minutes, hours, it's completely up to you and what works best for you. And then it comes down this way. And again, we send off another text from that same number to the same number. And we just say, hey, their name, Rory. Again, just want to make sure you will be in the meeting only because it's saying you haven't accepted the invite. Let me know if anything has changed. I spell anything wrong? Let me know. Let me know if anything has changed. And then we also send another email over. And this again is going to be the send and wait for a response. And it just says, upcoming meeting, will you be there? Hey, and then their name, just want to give you a quick heads up about our meeting, it's coming up. If you haven't had a chance to see my previous email, then hitting the I'll be there on this email will just help us confirm that you will be there. Looking forward to chatting your way, but let me know if anything's changed or you need to reschedule. Best, Rory, autonomously. And then again, this is just gonna wait for them to hit yes or no, or so I'm busy, or I'll be there, or of course it's just going to time out on them. And then if they hit I'll be there, it's going to come back up to this Gmail, it's going to prepare them for the meeting. And then if not, we just put a calendar node down and we do delete and then the event ID. Okay, so I just had to add another node in, it happens sometimes. I completely forgot about this node. Basically, first we have to scrape the Google Calendar to get the event ID of the event that, um, was scheduled by cal.com that we want to cancel. And the way we do that is we just do get many events Google Calendar node, and then the after time is going to be the start time of the event. The before time is going to be the end time of the event, and that just comes through from cal.com as two separate variables. So you just chuck them in there, it should only give you that one event and an event ID. We put that event ID into here, really, really simple. This is just going to delete that event for us, and then we just send over a— again, Twilio node— we just send over a text message to— from the same number to the same person 'Hey, their name, Rory again. Just want to let you know that we've canceled our upcoming meeting due to no response on your end. Let me know if you want to reschedule.' And then the same thing with Gmail: 'Hey, their name, uh, just want to let you know we have canceled the upcoming meeting due to no response on your end. Let me know if you'd like to reschedule.' Rory, autonomously. So pretty cool system. We're going to test this out now and I'll show you exactly how it works. And we're going to pretend as if, um, we're not showing up for this meeting so we can see how this all plays out, because I feel like it's a little bit more interesting And you can see a lot more stuff when, um, the person isn't showing up for the meeting. So what we're gonna do is if we come over to Cal.com, this is our event here. We're just gonna hit preview and then we're gonna schedule up an event. So let's say first name, Ori Bridges, website URL. We're just gonna use an actual website URL here. So we're just gonna say Gymshark. How can we help you? Let's say Gymshark, uh, I want to build an AI sales System. Let's actually change your name as well so it's not me, so you can kind of tell. So you can kind of tell, let's say Ben Francis, CEO Gymshark. And obviously you have to do my email so we can actually see these emails coming in. And then phone number, we're going to format it incorrect so you can see how the agent actually formats this. So what we're going to do is we hit test workflow and then hit confirm here, and then you should see this all start to run through. So let's give it a sec. And then yeah, you can see it start to run through. Okay, so we got the website URL, converted that to markdown, got the LinkedIn, and then the lead summary agent updated Airtable inquiry summary, formatted the phone number, sent us over a text message, and then also sent us over an email. So if we go over to Gmail, you can also see the text message we got here. Not too sure if you can see that, but it says, um, hey Ben, it's Rory here. Just want to confirm our meeting for— and then the date— make sure you hit accept on the calendar invite when you receive this if you haven't already. So Really, really cool. Sent us over a text message and then we got this email. Hey Ben, thanks for reaching out. Really looking forward to chatting with you about building AI sales systems to enhance your sales processes. I've gone ahead and booked in our call. If you could just hit the I'll be there button so we can confirm you will be attending. On the call, we'll dig into what you're trying to achieve, walk through a few ideas and see if it makes sense to collaborate. If anything changes or you need to reschedule, no stress, no stress. There's a reschedule link in the invite. Speak soon. Aurea autonomously. And let's say Let's just say I'm busy. So we hit I'm busy, come back over to— oh, I missed the button. I'm busy, come back over to N8N, goes this way, sends us another text off, and then it also sends us another email. And you can also add in a wait node here, but it's also going to be the same thing if they take too long to reply. So if they take, say, 2 hours or a day, uh, anything longer than that, and then it would go this way. So it's not going to be, um, as drastic as that, like straight through. You can always add in a wait node if you find they're all just going straight through, they're saying I'm busy. And you want it to wait a little bit. So anyway, sent us another text, sent us another email. So this email we just got, hey Ben, just want to give you a quick heads up that our meeting is coming up soon. If you haven't had a chance to see my previous email, then hitting I'll be there on this email will just help us confirm that you will be there. Looking forward to chatting either way, but let me know if anything has changed or if you need to reschedule. And then again, we got a text message here. So if you can see that, so it said, hey Ben, Rory again, just want to make sure you will be in the meeting. Only because it's saying you haven't accepted the invite. Let me know if anything has changed. Okay, perfect. Let's just say I'm busy again just to see what it does. And then obviously it goes this way, removes that event, or searches for the event, removes that event, sends us another text message, and then sends us another email. This email we got: Hey Ben, just want to let you know that we've canceled your upcoming appointment meeting due to no response on your end. Let me know if you would like to reschedule. And then Again, I got a text message through. So, so again, not sure if you can see that, but it says, hey Ben, Rory again. Just wanted to let you know that we've canceled your upcoming meeting due to no response on your end. Please let me know if you would like to reschedule. So absolutely perfect. Done everything there, done everything it could to make sure, um, this person, me, was showing up to the meeting. Of course, if we had said I'll be there, it would've just popped through to here. And if it had to follow up again and ask again if we're gonna be there and we'd said yeah, it would have just gone back up to this one here. But yeah, this relatively simple system is going to make your no-show rate drop to the absolute floor. You're going to have pretty much no no-shows because all the ones that aren't going to be attending your meeting or you think they're going to be no-shows, the event's just going to be removed to make space for people that are actually willing to jump on these meetings with you and not waste your time. Okay, so that is it for the video, guys. I hope you learned something, and I hope this system, when you grab the free template massively benefit you because I know it's a bottleneck for a lot of business owners when they're booking up these meetings. And I know it firsthand when you're sitting around waiting for these people, send them emails, sending them texts saying, hey, you joining this meeting? Hey, you join this meeting? And then nothing happens, you don't hear from them. So with this system, we nurture them a little bit. You're not just going to be sending them a text message 5 minutes before the meeting saying, hey, are you coming to this meeting? We're actually going to be nurturing them through a little bit. And of course, with these emails You can add more to it. So I only did sort of 2 or 3 here, but you can have like a 5 email sequence where you're sending them over videos and resources and that ahead of your call. But on this one, I didn't do that. I left it a little bit simpler. But of course, when you get the free template, you can customize it to how you like it. And like I said at the start of the video, if you were looking to work with me so we can implement some AI agent systems like this into your business, just check out the website in the description. You go ahead and book a free call. We can talk about some ways to implement AI into your business. And while you're in the description, make sure to grab the free templates for this agent so you can get started with it straight away. Yeah, that's it for the video, guys. If you've got any video suggestions you'd like to see, please do just let me know in the comments and I'll try my best to get around to doing them.
More from Rory

Dynamic Workflows are crazy. This is how to actually use them (beginner's guide)










