LongCut logo

How to Build & Sell AI Agents in 2026: Ultimate Beginner’s Guide

By Liam Ottley

Summary

Topics Covered

  • The 12% Canyon Doubles AI Workers' Wages
  • Three CEOs Aligned: 2026 Is the Year of Agents
  • Prompting, Knowledge, Tools: The Three Ingredients
  • Reasoning Models Plan, Execute, Reflect, and Replan
  • 1:1,100: The Untapped AI Service Economy

Full Transcript

3 years ago, I taught myself how to build AI agents without any prior experience in AI, and since then, I've built multiple AI businesses that have generated over $10 million in revenue, grown from zero to 700,000 subscribers

here on YouTube, and I've built AI agents for NBA teams, for Fortune 500 companies, and even publicly traded ones as well. So, it's safe to say that

as well. So, it's safe to say that learning how to build AI agents has completely changed my life. So, in this full course, I'm going to teach you everything that I've learned over the past 3 years about building and making

money with AI agents, even if you don't know how to code. My goal here is pretty simple. I want to give you the skills to

simple. I want to give you the skills to build the life that you want before these AI agents start taking jobs away from us. Now, as you can probably tell

from us. Now, as you can probably tell by the length of this video, I'm not going to be holding anything back here, so the whole thing is split into three different chapters. Firstly, we're going

different chapters. Firstly, we're going to be building your foundational understanding of AI agents, what they are, how they work under the hood, and the key concepts that you need to know before starting to build them. And no,

there's no technical background required for any of this. Secondly, we're going to dive into four end-to-end AI agent tutorials where I take you over my shoulder step-by-step as we build some of the most in-demand AI agent types on

the market right now. And finally, I'm going to be giving you my proven blueprint for turning these AI agent building skills into real income while this technology explodes. So, let's get into it. But, if you are new to the

into it. But, if you are new to the channel and don't know who I am, my name is Liam Otley, and about 3 years ago, I knew absolutely nothing about generative AI, and now I run Morning Side AI where we build AI systems for publicly traded

companies and even NBA teams. My last AI agent course like this has over 2 million views, and through those videos and my community and my accelerator, I've helped tens of thousands of people to learn AI skills and build a real business around it. Right. And so, if

you look at how long this video is, you'll realize that there is a lot to cover, but I do not want you to give up halfway through. So, before we jump into

halfway through. So, before we jump into the technical stuff, let's first get clear on why this actually matters, why AI agents are genuinely one of the most valuable skills that anyone can learn right now. So, stick with me on this

right now. So, stick with me on this part. But, here's the hard truth about

part. But, here's the hard truth about AI and jobs. McKinsey released a report in November of 2025 with a pretty shocking finding. 57% of all the work

shocking finding. 57% of all the work that Americans do today can be automated with the technology that already exists.

Not technology coming in 5 years, technology that we have right now. And

the World Economic Forum is projecting 92 million jobs displaced just by 2030 alone. Now, I know that sounds

alone. Now, I know that sounds terrifying, and honestly, it should be, and I don't like using this kind of stuff on my channel if I'm honest, but if you're planning to do nothing about it, then there's an issue. But,

interestingly, here's what those same reports found when they looked at the other side of the data. They found that workers who have AI skills are earning 56% more than people who don't, and that

gap in pay has doubled in just 1 year.

66% of employers are actively trying to hire people who understand AI. So, on

one hand, we've got this massive automation coming and job loss, while on the other hand, companies are desperate for people who actually understand this technology and can help them use it. So,

the difference between getting replaced and getting ahead comes down to one thing, actually just learning the stuff.

And here's the gap that creates such a huge opportunity right now. Only 12% of workers have taken any AI training at all. That's not just a little gap,

all. That's not just a little gap, that's a canyon. And if you don't believe me when I say that a little bit of self-study on the stuff goes a long way, here is Naval Ravikant, one of the world's most respected investors and technologists, on the All-In podcast.

Again, I would say the easiest way to see that AI is not taking jobs or creating opportunities is [music] go brush up on your AI, learn a little bit, watch a few videos, use the AI, tinker

with it, and then go reapply for that job that rejected you, and watch how they pull you in. This video is exactly what Naval is talking about. So, whether

you're an entrepreneur wanting to learn valuable skills to launch an AI business like I have, or you're a business owner wanting to understand what agents can actually do for your company, or you're just an employee who wants to make sure you're the last person the boss thinks

about letting go because you're the only one who actually gets this stuff, well, I made this video for you. So, here's

what I want you to do. I need you to close out of all your other tabs, grab a notebook, get your coffee or tea or whatever kids you locked in, and make a commitment to yourself right now to actually [music] finish this training.

Right. So, if you've done all that, let's get stuck into it.

All right. So, step one in learning to build AI agents is actually understanding what an AI agent is in the first place. Because the term gets

first place. Because the term gets thrown around everywhere these days, AI agents this, AI agents that, and every tech company is talking about them, but what actually is an AI agent? When I

first started learning about this stuff a few years back, I found it pretty confusing, too. So, let me give you the

confusing, too. So, let me give you the clearest definition that I found that really helped it kind of click for me.

An AI agent is a digital worker that can understand instructions [music] and take actions to complete tasks. So, in a simple way, just like businesses have employees who handle different responsibilities, AI agent is kind of

like having a digital employee. But, the

interesting part is that you can build them yourself and make them do pretty much whatever you want. It's like being able to construct a human worker from scratch. And unlike human employees,

scratch. And unlike human employees, these digital workers cost a fraction of what a person does. They can work 24 hours a day, 7 days a week. They never

get tired. They never call in sick, and you can duplicate them instantly whenever you need more capacity. So, I'm

sure you can see the appeal for businesses when they look at this versus humans. Now, here's why this matters

humans. Now, here's why this matters right now specifically. Because all

major tech leaders are aligned that 2026 are the year that AI engines go mainstream. You've got Satya Nadella,

mainstream. You've got Satya Nadella, the CEO of Microsoft, who said at the start of this year, "2026 will be a pivotal year for AI. We've moved past the initial phase of discovery and are entering a phase of widespread

diffusion." Jensen Huang from Nvidia is

diffusion." Jensen Huang from Nvidia is saying the same thing. Sundar Pichai at Google said 2026 is when people will start using agentic experiences more broadly. The point is that this isn't

broadly. The point is that this isn't just some far-off future technology.

This is happening right now, and understanding how these things work puts you ahead of the vast majority of people.

Now, to understand why AI agents are such a big deal, we need to look at where we are coming from, because you've probably encountered all sorts of chatbots before, right? You go to a website, there's a little chat widget that pops up in the bottom corner

saying, "Hi, how can I help you today?"

And so, you type something in, it gives you some kind of response. These kinds

of basic chatbots have been around for years, but here's the thing, they are pretty limited, and they can really only do one thing, respond with some information. The way I like to think

information. The way I like to think about it is this, a chatbot is like a waiter who can only recite the menu to you. You ask them what's on the menu,

you. You ask them what's on the menu, and they tell you, but they can't actually take your order. They can't

bring you your food, they can't process your payment, either. They just give you information back. AI agents, on the

information back. AI agents, on the other hand, are fundamentally different.

But, let me give you a concrete example to show you what I mean. Say you go to a website and you want to book in an appointment with that business. If you

ask a regular chatbot about booking an appointment, it might say something like, "Our business hours are 9:00 to 5:00, Monday to Friday. Please call us to book." And that's it. Just some

to book." And that's it. Just some

information, and you still have to go and do all of the work yourself. But, if

you ask an AI agent the same question, it could actually check the calendar in real time, find available slots, ask you which time works best, and then book the appointment for you, and send you a confirmation email, and then update the

business's scheduling system, all automatically in a matter of seconds.

So, that's the key difference here.

Agents don't just respond with information, they actually take action and get things done. And this ability to take action is what makes agents so powerful and why everyone's so excited about them. They're not just fancy

about them. They're not just fancy chatbots that sound a bit smarter, they're genuine digital workers that can do real tasks like searching through databases, updating spreadsheets, sending emails, booking appointments, generating documents, and honestly, so

much more that we're going to be getting into in the build section of this video.

Building and deploying an AI agent is actually a lot like hiring a new employee, because when you bring someone new into the business, you explain their role and responsibilities, you give them access to the systems that they're going to need, and then you trust them to

handle tasks on their own. It's the

exact same process with AI agents. You

tell them what they're supposed to do, you give them access to the tools they need, and then they can work on their own independently. The difference is

own independently. The difference is that they work around the clock, they can be copied instantly, and they cost a tiny fraction of what a human does. This

is exactly why understanding how to build and deploy these digital workers is becoming such a crucial skill.

Whether you're an entrepreneur looking to scale your business, or an employee wanting to become irreplaceable at your job, knowing how to create these things is genuinely one of the biggest advantages that you can have right now.

All right. So, now that you understand what AI agents are and how they're different from basic chatbots, let's look under the hood and figure out how they actually work. Because just like humans need certain things to do their job, a brain to think, some memory to

remember stuff, and tools to be able to work with, AI agents need specific components to function as well. There

are five key parts that make up an AI agent. Let me walk you through on each

agent. Let me walk you through on each one. First, every agent needs a brain.

one. First, every agent needs a brain.

In the AI world, these are called large language models, or LLMs for short.

You've probably heard of these already.

We've got GPT-5 from OpenAI, Claude from Anthropic, and Gemini from Google. These

are all LLMs, and you can think of the LLM as a super intelligent assistant who can understand your instructions in plain English and figure out how to get things done from there. It's the

intelligence that powers everything else. And without the brain, all the

else. And without the brain, all the other parts of this will be useless, like having a desk full of office supplies, but no one needed to actually use them. Secondly, the brain needs

use them. Secondly, the brain needs instructions on how to actually behave.

This is what we call writing a prompt.

So, writing a prompt is essentially how you program the behavior of your agent, but instead of writing complicated code, you're just writing clear instructions in normal [music] language to them. This

is what makes building with AI so accessible to people who aren't actually programmers, because the way you tell an agent what to do isn't through code, it's through these well-crafted instructions that anyone can write.

We'll get much deeper into this when we start building. Thirdly, agents need

start building. Thirdly, agents need memory. Imagine trying to have a

memory. Imagine trying to have a conversation with someone who completely forgets everything you said 30 seconds ago. It'd be impossible to get anything

ago. It'd be impossible to get anything done. Memory allows your agent to

done. Memory allows your agent to remember what you just talked about, keep track of tasks that they're working on, and build on previous conversations as well. The good news here is that most

as well. The good news here is that most agent platforms handle this memory automatically for you in the background, so you don't really need to worry about setting it up for yourself. Fourth, we

have knowledge. Now, the AI models like GPT and Claude are trained on massive amounts of data from the internet, but that training data has a cutoff point, and there's a lot of stuff that they just don't know. More importantly, they don't know anything specific about the

business that you're trying to help.

They don't know about their products, they don't know about their services, they don't know about the policies or your pricing. So, just like you're

your pricing. So, just like you're training your employee with company-specific materials, you can give your AI agent additional knowledge through things like PDFs of documents, spreadsheets with product information, customer service transcripts, really any

text-based information that you want it to have access to. Without this added knowledge, your agents will be limited to just general information and couldn't handle the specific tasks a business actually needs. And fifth, and this is

actually needs. And fifth, and this is the most exciting part, we have tools.

Tools are what transform an AI agent from something that could just chat into something that can actually get things done in the real world. Think of tools like giving your digital employee access to different software and systems. Just like you might give a new hire access to

your email, your calendar, and a CRM, you give an AI agent access to digital tools so they can take real actions.

These tools let your agent do things like check real-time data, update databases, send messages and notifications, create documents, make phone calls, anything you can do on a computer, you can potentially give an agent the ability to do that as well.

The really powerful part is when agents use multiple tools to solve complex problems, just like how we use multiple different websites and apps for when we're doing our own work. Now, here's

the practical takeaway from all of this.

While an agent has these five components, the brain, the prompt, the memory, knowledge, and the tools, you don't actually have to worry about all of these five things equally when you're building. The brain is handled by

building. The brain is handled by choosing which AI model to use, and honestly, any of the top models work great, and the memory is handled automatically by the platforms that you build on in most cases, which leaves you with what I call the three ingredients,

the three things that you actually need to focus on as an AI agent builder. And

that is prompting, how you instruct the agent to behave, kind of the glue that sticks it all together, knowledge, the external information that you give it access to, and three, the tools, the actions that you want it to be able to

take. So, write that down, prompting,

take. So, write that down, prompting, knowledge, and tools. That framework is going to guide everything we do in the build section of this video.

All right. Now, we need to go even deeper on tools because they're honestly the most powerful part of AI agents.

That's what separates a basic chatbot from a genuinely useful digital worker.

But to really understand how tools work and to be able to build your own powerful agents later, we need to take a few steps back and cover some of the basics of how software and the internet actually work. Now, I know that might

actually work. Now, I know that might sound intimidating, but this is probably the most technical section of the entire video. But I promise you, once you

video. But I promise you, once you understand this stuff, it's like having a superpower. It is the foundation of

a superpower. It is the foundation of being able to build any kind of software and build apps for yourself and for other people. Everything else in this

other people. Everything else in this video is going to make so much more sense, so stick with me here. So,

remember how we said that tools are what allow agents to take action, to actually do things rather than just chat. Well,

the way agents actually do work online is pretty similar to how you and I do things online, too. But there's one key difference. Instead of clicking buttons

difference. Instead of clicking buttons and typing into forms and navigating around websites, agents use something called API. Now, before your eyes glaze

called API. Now, before your eyes glaze over, let me show you what I mean.

Because you already use APIs every single day, you just don't realize it.

So, every time you do anything on the internet, you're actually making dozens of what we call requests to APIs and getting responses back. It's all

happening behind the scenes for you, though. So, let me give you a real

though. So, let me give you a real example. When you click on this video to

example. When you click on this video to watch it, here's what actually happened behind the scenes. Your browser sends a request to YouTube servers, essentially saying, "Hey, I want to watch this video." YouTube servers receive the

video." YouTube servers receive the request, found all of the data needed for this video, and then sent that back to your browser, to you, as a response.

Then your browser took all of that information, unpacked that data, loaded everything up in front of you, and then started playing the video for you. And

that whole request-response pattern happens with almost everything [music] you do online. If you open up Instagram, you're sending a request for your feed to be loaded, and the servers respond with all of those posts and stories.

[music] If you're sending a tweet, you're sending a request that contains your tweet data, then Twitter servers save it and respond confirming that it worked. If you're checking your email,

worked. If you're checking your email, you're requesting your latest messages, and Gmail servers are responding with all of your emails in your browser as loading them. It's just like computers

loading them. It's just like computers talking back and forth, requesting things and responding to those requests.

We get nice-looking websites and apps that make it all feel simple, but under the hood, it's all just this request-response conversation that's happening constantly. [music]

happening constantly. [music] These requests and responses happen through what we call APIs, or application programming interfaces. And

I know that sounds technical, but think about APIs as like waiters at a restaurant. You tell the waiter what you

restaurant. You tell the waiter what you want, the waiter takes your order to the kitchen, the kitchen prepares it, and the waiter brings your food back to you.

An API works in the same way. They take

your request to the server, the server does whatever work is needed, and the API brings back that response to you.

Now, there are two main types of requests you can make through APIs, and this is really worth noting down. You

have get requests, which is when you're asking to get information from somewhere, like [music] checking the weather or looking up a stock price or loading this video. You're requesting to receive data. Post requests, on the

receive data. Post requests, on the other hand, is when you are sending information for the server to do something with, like posting a tweet or sending an email or uploading a photo.

You are posting data for someone else to store and process for you. So, you've

got get and you have post, [music] requesting data and sending data. Write

those down because you're going to be seeing them a lot. All right, so here's where this becomes super relevant to AI agents. AI agents use the exact same

agents. AI agents use the exact same APIs as their buttons to do things. When

we talk about giving AI agents tools, [music] what we're really doing is giving it the ability to make these API calls themselves when they think it's necessary. Each tool an agent has access

necessary. Each tool an agent has access to is essentially an API that it can call to either get information or [music] send information somewhere else.

Now, these kinds of tools come in two different flavors. Firstly, you've got

different flavors. Firstly, you've got pre-made integrations. These are tools

pre-made integrations. These are tools that someone else has already built and packaged up nicely for you into an API.

These are things like Google Calendar integrations or Gmail [music] or Slack.

The hard work of building and figuring out the API is already done. You just

kind of plug into it and your agent can use it. You can think of these as like

use it. You can think of these as like buying a ready-made meal. Everything has

already been prepped for you, you just kind of heat it up and eat it. On the

other hand, you've got custom tools that you build yourself. This is when you need your agent to do something specific that it doesn't have a pre-made integration for. In this case, you need

integration for. In this case, you need to build the tool yourself, as we're going to go into later, and set up the API connection to your agent manually.

You can think of this as like cooking from scratch. It's more work, but you

from scratch. It's more work, but you can make exactly what you want. Both

approaches work great, but when we get to the build section, I'll show you how to use pre-made integrations and how to create custom tools from scratch, and it's much easier than it sounds, especially with the no-code platforms that we're going to be using. The

important thing to understand right now is that any action an agent takes, whether it's sending an email, checking a calendar, updating a spreadsheet, whatever, it's doing it by calling an API, by making one of these requests and getting a response back. And once you

understand that, you start to see the internet completely differently, where every action online is just requests and responses, which means that if you can identify the right API, then you can build a tool that allows your agent to

automate almost anything.

Okay, so now you understand that APIs are how the internet works. The next

question is, how does an AI agent actually know how to use a tool? Because

if you think about it, you can't just point an agent at an API and expect it to figure everything out. It needs to know what the tool does, how to use it properly, and what information to send to it in order to get it to work. This

is actually a lot simpler than it sounds, and it's one of the things that makes AI agents so powerful. So, for a tool to work with an agent, it only really needs to know three things.

Firstly, what the tool does, which is a clear description of the tool's purpose, like, "This tool sends an email." Or,

"This tool checks calendar availability." Secondly, what input the

availability." Secondly, what input the tool needs, what information does it actually require to work? An email tool might require the recipient's address, a subject line, and the message body. A

calendar tool might require a date range to check. And thirdly, what does the

to check. And thirdly, what does the tool actually return? So, what does the tool give back to the agent after it runs? The email tool might return a

runs? The email tool might return a confirmation that the message was actually [music] sent. The calendar tool might return a list of available time slots. And that's it, really. You've got

slots. And that's it, really. You've got

the description of the tool, the inputs it expects, and the outputs. [music]

Now, here's the cool part. The way you provide information to an agent isn't through complicated code, you're essentially just explaining how to use the tool in plain language, just like you'd explain it to your new employee.

You write something like, "This tool sends an email. It needs three inputs, the recipient's email address as text, the subject line as text, and the message body as text as well, and it returns a confirmation that the email

was sent successfully." The agent can read that description, and it genuinely understands it. It knows what this tool

understands it. It knows what this tool is for, what it needs to make it work, and what to expect back from it. There's

a standard format for writing these descriptions known as a schema, [music] and I know schema sounds technical and scary, but it really is just a structured way of writing out those three things, what the tool does, what it needs, and what it returns. And the

great news is that most of the no-code platforms we'll be using actually generate these schemas automatically for us, so you won't have to write them from scratch, but it helps to know that they exist [music] and what they're doing because if an agent is using a tool incorrectly, it's

usually because the description isn't clear enough. Now, here's where the

clear enough. Now, here's where the magic actually happens. Modern AI models like GPT-5 and Claude are able to just read these tool descriptions, they can understand them well enough to figure out both how to use the tool and when to

use it, when it should actually be triggered in a conversation. So, let me show you what I mean with this simple example. Say you've given your AI agent

example. Say you've given your AI agent a tool with the description that says, "This tool checks today's weather for any city." The tool needs one input, the

any city." The tool needs one input, the name of the city as text, and it returns the current weather conditions. Now,

someone chats to your agent says, "Hey, what's the weather like in Tokyo right now?" Here's exactly what happens inside

now?" Here's exactly what happens inside the agent's brain. First, it looks at the message and understands that this person wants to know about weather. Then

it looks through all the tools it has, and it might have 10 of them, and only one of them is the weather one. And it

sees one tool description mentioning weather. It thinks, "Okay, this is

weather. It thinks, "Okay, this is probably the one I need." Then it looks further, and it checks what inputs that tool requires. It sees that it needs a

tool requires. It sees that it needs a city name. Then the agent looks back at

city name. Then the agent looks back at the message, extracts Tokyo as the relevant city, and makes the API call to the weather API with Tokyo as the input.

The API goes off, gets the weather data, and then sends back a response, probably a bunch of technical data about temperature and humidity conditions, all of that. And when the agent receives the

of that. And when the agent receives the response, the clever part is that it doesn't just dump all of that raw data on the user, it takes the information and writes a natural, conversational reply like, "It's currently 72° and

sunny in Tokyo with a light breeze." So,

what we see here is that the agent understood the intent, it found the right tool, figured out the inputs, made the call, and then translated that kind of technical database response into something actually useful for the user based on what they asked for, all

automatically. And this is what makes AI

automatically. And this is what makes AI agents so different from the software that we've had before. Traditional

software needs you to click the exact buttons and fill in the exact forms, whereas agents can understand what you're trying to accomplish and figure out how to use their tools to get it done. When you really get this, you will

done. When you really get this, you will never see technology the same way again.

The combination of language understanding and tool use is genuinely a new kind of capability. And the better you get at setting up tools with clear descriptions, the more reliably your agents will be able to use them. In the

builds later, you'll see exactly how to set up tools in practice, and you'll see the small changes to descriptions that can make a huge difference in how well the agent uses them. But for now, just understand the core concept. Clear

descriptions are how agents know what their tools do and when to use them.

All right, so now you understand how an agent uses a single tool. It reads the descriptions, figures out when to use it, grabs the right inputs from the conversation, makes the API call, and turns that response into a helpful answer. But obviously, having an AI

answer. But obviously, having an AI agent that can only check the weather or do one thing isn't particularly impressive. The real power of AI agents

impressive. The real power of AI agents comes when you give them multiple tools and the ability to use them together to accomplish their complex goals. Do you

remember our definition from earlier? An

AI agent is a digital worker that can understand instructions [music] and take actions to complete tasks. When

you give an agent a task, it will try its best to complete it. But if it doesn't have the right tools available, it can't do much. It's like asking an employee to send a report to a client but not giving them access to their [music] email. Doesn't matter how smart

[music] email. Doesn't matter how smart they are, they can't do the job without the tools. The more tools you give to an

the tools. The more tools you give to an agent, the more flexibility it has to solve problems. And this is where things start to get really interesting. So let

me give you a real example from my own business to show you what I mean. Say I

give an agent this task, which is find AI startups that have raised money recently, put them on a spreadsheet, add a summary of [music] each business, and email me the link when you're done. Now

that's not a simple one-step task.

There's actually a lot going on there.

And when you give an AI agent a complex task like [music] this, and you provided it with multiple tools, it will actually break down the problem and plan out how to solve it. Kind of like how we you or I would approach it. The agent might think, "Okay, I first need to find AI

startups who have raised money. So I'll

use the web search tool, and I'll use that to run some searches about AI startups and [music] their recent funding rounds. Then I need to put them

funding rounds. Then I need to put them into a spreadsheet. I have a Google Sheets tool that can create new spreadsheets and add new rows. I'm going

to use that. For each company I find, I'll need to add them as a new row in the spreadsheet with the information.

Then I need to add summaries of each business. I can write those summaries

business. I can write those summaries myself based off what I found in my research. Finally, I need to email the

research. Finally, I need to email the link. I have a Gmail tool, so I'll use

link. I have a Gmail tool, so I'll use that to send the spreadsheet link." And

then it just does all of that step by step using different tools in sequence, working towards the goal that you've gave. This is when you really start to

gave. This is when you really start to see why they call these things digital workers. They can plan out multiple

workers. They can plan out multiple steps and execute them in order, use different tools as needed, basically approaching problems the way a human would. Now the really cutting edge stuff

would. Now the really cutting edge stuff happening right now is with what are called reasoning models.

[music] These are newer AI models that are specifically designed to be better at this kind of multi-step planning and problem solving. What makes them special

problem solving. What makes them special is that they don't just plan once and execute. [music] They can actually

execute. [music] They can actually reflect on the results as they go and adjust their approach if something isn't working. So let's say an agent runs that

working. So let's say an agent runs that first web search for AI startups raising money, and it doesn't get very good results. A basic agent might just push

results. A basic agent might just push forward with bad data, but a reasoning model might think, "Hmm, those results aren't that good. Let me try a different [music] search query. Or maybe I should search for recent funding announcements specifically." It's that ability to

specifically." It's that ability to plan, execute, reflect, and then replan that makes these agents capable of complex tasks without constant hand-holding. Now I should be honest

hand-holding. Now I should be honest with you here, this technology isn't perfect yet. These multi-step tasks can

perfect yet. These multi-step tasks can be incredibly unreliable, and agents definitely still make mistakes on complex workflows. For anything

complex workflows. For anything important, you still typically want human oversight so that you can catch the errors before they actually cause problems. But things are moving incredibly fast, and the agents that we can build today are dramatically more capable than what we had even a year

ago. And if we look a bit further ahead,

ago. And if we look a bit further ahead, we're already seeing the next evolution, which is multiple agents working together. Instead of one agent trying to

together. Instead of one agent trying to do everything, you can have multiple specialized agents that each focus on one thing, kind of like having different employees with different job roles. So

you might have a research agent that's really good at finding information, a writing agent that's optimized for creating summaries and content, and email agent that handles all the communication stuff. And the cool part

communication stuff. And the cool part is that one agent can actually use the other agents as a tool. So your main agent receives the task and delegates specific parts to the specialist agents like, "Hey, research agent, go find me

these companies. Hey, writing agent,

these companies. Hey, writing agent, take this information and create summaries." Each agent focuses on what

summaries." Each agent focuses on what it does best, and together they accomplish more than any single agent could. This is exactly what companies

could. This is exactly what companies like Microsoft, Salesforce, and Google are bidding heavily on right now. Entire

systems [music] of AI agents working together to handle complex business processes. Now we're not going to build

processes. Now we're not going to build multi-agent systems in this video.

That's a bit more advanced stuff that you can do explore once you've got these fundamentals down, but I want you to know that it exists and where all of this is heading. For now, let's keep building your foundation. Next up, we need to talk about the different ways

people actually interact and use AI agents.

All right, so we've covered what AI agents are, how they work, and how they use tools to get things done. Now we

need to look at the different ways that AI agents are actually used in the real world, because not all agents work in the same way. There are basically two main categories that you need to understand. First, you've got

understand. First, you've got conversational agents, and these are agents that humans interact with directly. So someone is actually there

directly. So someone is actually there chatting with the agent, giving it instructions, asking questions, and getting responses back. You've probably

seen these in a bunch of places already, like chat widgets on websites where you type messages back and forth, WhatsApp bots that you can text, Instagram DMs that respond automatically, or even voice agents that you can actually call and have a conversation on the phone. In

all of these cases, there's what we call a human in the loop that's actually sending messages to the agent, and the agent is responding. It's a

back-and-forth conversation, just like you'd have with another person, except the other side is an AI. Open AI's

custom GPTs are great example of this.

You can create an agent and then chat to it directly through the ChatGPT interface. Secondly, you've got

interface. Secondly, you've got automated agents, and this is where things get a little bit more interesting, because with automated agents, there's actually no human sitting there sending a messages directly. Instead, the agent is part of

directly. Instead, the agent is part of a larger system or a workflow, and it gets triggered automatically when certain things happen. If you think about it this way, conversational agents wait for a human to talk to them.

Automated agents wait for an event or a condition to trigger them, and then they spring [music] into action on their own accord. For example, you could have an

accord. For example, you could have an agent that triggers whenever a new lead fills out a form on your website. The

moment that form submission comes through, the agent wakes up, looks at the lead's information, does some research on them, decides if they're qualified or not, and then updates the CRM with its findings. All of this without any human pressing a button or

sending [music] a message directly to it. Or you could have an agent that runs

it. Or you could have an agent that runs every morning at 9:00 a.m., it checks your calendar for the day, looks up information about the people you're meeting with, and then sends you a briefing email before your first call.

Again, completely automatic. You don't

have to ask it to do anything. It just

runs on a schedule or a different trigger. This is a really important

trigger. This is a really important distinction because it opens up a whole world of different use cases. Automated

agents can handle processes [music] that happen constantly in a business. These

are things that would be tedious or impossible for humans to monitor and respond to 24/7. In the building section of this video, you're going to get hands-on experience of building both types. We'll be building four different

types. We'll be building four different types of agents, three conversational and one automated, so you'll see exactly how each works in practice.

Understanding this distinction is important because it shapes how you think about what's possible. A lot of people only think about chatbots and agents that you talk to, but some of the most valuable applications are agents that work completely in the background, handling tasks that you'd never want to

do manually. All right, so we are almost

do manually. All right, so we are almost done with the foundations. Let's just

look at some real-world examples of how businesses are actually using these agents right now, and then we'll do a quick knowledge check to make sure you've got everything here before we jump into the building.

Okay, so before we wrap up the foundations, let's quickly look at some real examples of how AI agents are being used by businesses right now. Seeing

these concrete use cases helps all of this theory stuff to click into place.

And these are all the kinds of things that we're going to be building in the build section. First use case is

build section. First use case is copilots, and these are AI agents that help someone in a specific role to do their job more effectively. For example,

a customer support sales rep could have a copilot that would be able to instantly search the knowledge base of a company for answers mid-call, so it helps them to do their job. Same thing

with the sales rep, they can have a copilot that gives them access to everything they need to know about the lead, and maybe can do research for them, and so on. In fact, in our final build, we'll be creating a sales copilot that was able to research leads and

generate briefings so that the sales reps can walk into every call feeling fully prepared. Second major use case is

fully prepared. Second major use case is lead generation and appointment setting agents. This is probably the most common

agents. This is probably the most common business use case right now because it directly impacts revenue. When someone

visits a website at 11:00 p.m. on a

Saturday with questions, instead of having to wait until Monday and probably forgetting about it, an AI agent can immediately get back to them and answer the questions, capture their information, and even book appointments by checking calendar availability in

real time. These days, speed to lead, or

real time. These days, speed to lead, or the speed at which you can reply to leads, is everything in sales, and the business who responds first wins the deal most of the time. These agents are starting to show up everywhere, website

chat widgets, WhatsApp, Instagram DMs, even over the phone. And the point is that 24 hours a day, they are always ready to engage potential customers. In

build two, we're creating a website chat agent with some very powerful tools that handles lead generation for a solar company. Third use case is research and

company. Third use case is research and qualification agents. These are agents

qualification agents. These are agents that gather more information about leads so a business can prioritize the best opportunities. Sometimes a lead comes in

opportunities. Sometimes a lead comes in with just basic details, a name, an email, a phone number, not too much to work with. A research agent can

work with. A research agent can automatically dig deeper, finding LinkedIn profiles, company information, collect together context that helps the sales team know who they're going to be talking with. Or you can go even more

talking with. Or you can go even more direct and have an agent reach out by SMS or over the phone and ask them some qualifying questions. This is getting

qualifying questions. This is getting the information straight from the source. In build three, we're creating a

source. In build three, we're creating a voice agent that automatically calls new leads to qualify them, gathering that extra information to decide if they're good fit or not before human even needs to get involved. And fourth is voice agents more broadly. This is one of the

fastest growing areas in the AI space right now, and the ROI with businesses has been proven. One of the startups Retail AI is processing over 40 million AI phone calls per month. Businesses are

using these voice agents to answer inbound calls, qualify leads, book appointments, and even make outbound follow-up calls as well. The economics

of this stuff is pretty compelling, with Client AI reporting that the AI agent handles work that required previously 700 customer service reps with fast response times and higher customer satisfaction scores as well. We've got

voice AI woven all through the builds that we're going to be doing, so you're going to get plenty of hands-on experience with it. So these aren't hypothetical future applications.

Businesses are deploying agents like this right now and seeing incredible results. And you're about to learn how

results. And you're about to learn how to build them. So let's do a quick knowledge check to make sure that everything in this foundation All right, we've covered a lot of ground in this foundations chapter, but before we jump into building these agents, I want to make sure that everything is landed for you. Because here's the

thing, if you don't have these concepts down solid, the build section is going to feel very confusing. You'll be

following along but just clicking buttons without really understanding why, and that's not going to help you when you're trying to build your own AI agents later. So let's do a quick

agents later. So let's do a quick knowledge check. I'm going to ask you a

knowledge check. I'm going to ask you a few questions, and you're going to genuinely try to answer them before we move on. Question one, what's the

move on. Question one, what's the difference between a chatbot and an AI agent? Question two, what are the three

agent? Question two, what are the three ingredients you control when building an AI agent? Question three, what are the

AI agent? Question three, what are the two main types of API requests? Question

number four, what three things does an AI agent need to know about a tool to use it? Question five, what's the

use it? Question five, what's the difference between a conversational agent and an automated agent? If you

couldn't answer all of those confidently, I'd genuinely recommend going back and rewatching the sections that you are fuzzy on. So pause the video, go back, take some [music] notes.

do not rush this. The foundations are what makes everything else click in this course. And trust me, once you get into

course. And trust me, once you get into the builds, it'll all make much more sense if you've got the stuff locked up.

But if you're feeling solid on all of that, let's get into the fun part. Time

to actually build some agents.

All right, guys. So, jumping into build number one, we're starting off with a Telegram receipt analysis assistant.

This is a pretty good general-purpose assistant that can be uh created quite easily on N8N, as I'm going to show you.

And it shows you how to do a few things like extract information out of images, which is a really valuable skill to have. It shows you how to set up a chat

have. It shows you how to set up a chat loop that works on Telegram, so you can do any kind of Telegram deployments for your apps. And most importantly, what

your apps. And most importantly, what I'm going to teach you here, uh this is actually the second time I've shot this tutorial because I went through it the kind of traditional way of showing you how to build these nodes one by one and stack them together and connect the variables. I got to the end and I was

variables. I got to the end and I was like, that took a really long time to do a relatively basic system. And so, I've decided to take you more on the route of what the future of AI automation and

building automations like this looks like. And that is using AI tools to

like. And that is using AI tools to research and plan out your automations.

That's step one. I've created a GPT for you that you're going to be able to use for that. And then feeding it into a

for that. And then feeding it into a spec writing tool, which is basically taking in all the research and planning I've done, uh putting it into a few fields, and then it's going to print out a perfect N8N spec to actually pass to

N8N's AI, and it will actually do a lot of the hard work for you. So, we're

shifting in the AI automation space right now from needing to know every single setup and and how to connect each and every node to I know generally what I want and I can use AI to help me explore and research and figure out the best way to do that. And then I'm going

to be heavily using the N8N AI feature within it to build this out for me. And

when things go wrong, loop around and around and around until it gets to the point that I'm looking for. Now, this is going to be a much more future-proof and honestly faster way of learning the stuff. So, I'm excited to show you some

stuff. So, I'm excited to show you some of the tools that I've put together to help you guys learn this faster. Okay,

the first handy AI tool that you're going to be using [music] in building out these automations is this GPT I've created called your AI automation CTO. This is as if you've got

automation CTO. This is as if you've got myself or someone else who's really familiar with N8N, um who can research the web and and help you to explore and sort of ask you the right questions so that you can get to the right kind of

concept for your N8N automation. So, to

save time, I've put this all in its place already. But this basically has

place already. But this basically has all of the N8N documentation as a knowledge base, and it's been prompted to guide you through steps to extract the right information from you. So, you

can click this button here, help me plan an N8N automation idea, and that will start the process that you're about to see that I've already gone through. The

link to use this GPT along with the side the other tool we're going to talk about and all of the resources for this tutorial are going to be on my school community in the first link in the description. Head to the classroom, head

description. Head to the classroom, head to the AI foundation section, and you will see the full course for this video broken down there in chunks with the right resources at every step. So, make

sure you go and grab that link now, and you can follow along. But here's how you use this GPT to plan out an automation.

So, in this case, I said help me plan an idea. It asked me a few questions. I've

idea. It asked me a few questions. I've

said, this is an N8N automation for a Telegram-based assistant. Nice, that's a

Telegram-based assistant. Nice, that's a good front door. Uh it sort of runs through and just sort of verbal diarrhea of all the stuff that it knows about it, repeating what it's found in the documentation. And then it breaks down a

documentation. And then it breaks down a practical blueprint for it. And then it asked me directly what questions it needs to move forward. So, I've gone down here and given it the feedback.

It's triggered by a new Telegram message. It should be connected to a

message. It should be connected to a Google Sheet. Should be able to take in

Google Sheet. Should be able to take in pictures as an input of receipts and then be able to log that info in a spreadsheet for company expenses. If

over $500, then email my CFO via Gmail.

I want to be able to chat to the data in the spreadsheet as well. Then it

processed that, looked at its documentation, and then planned out what's going to be in the Google Sheet.

This actually got a little bit more complex than I probably would have done this uh myself possible to get you through. But this is going to be

through. But this is going to be interesting to see just how much more complex using AI as our assistant we can make this in even a a shorter amount of time than we would have before. So, it

starts planning out the N8N architecture, plans out the conversational structure, and then it gets down to the bottom here when it asks me two tiny details, the company default currency and the CFO email

address. I've given those here. And

address. I've given those here. And

then, as you see on the side here, we have a different tool that I've created that takes in a bunch of fields about the automation purpose, the trigger details, the desired outcome, the specific providers, and the usage pattern, model preferences if you have

any, and additional quotes. And what

this does is runs it through a specific prompt that I've created in the background here that's going to take all that information and create the perfect prompt to pass into N8N. So, we've got a kind of like lot of prompt chaining here going on. But this is set up to be as

going on. But this is set up to be as usable as possible for you as a beginner. So, this GPT has been prompted

beginner. So, this GPT has been prompted to give you the right fields for this.

So, as you can see here, I was just able to copy and paste in the automation purpose to here, trigger details, desired outcome, [music] specific providers, and so on, all over into this. Run the tool. And here we

into this. Run the tool. And here we have our N8N spec, which is spat out by this tool, which again you'll be able to get it in the resources on school. And

then I can just come in here and copy this, command C. And you can see down here there's actually a button that allows you to switch. It'll probably

appear like this for you. Um it's

actually better to click on formatted and grab the markdown formatted version.

And then what we want to do is head over to N8N. You can come here to get

to N8N. You can come here to get started, put in your company email, and go through the sign-up process until eventually you see the home page and it looks like this, obviously without all of the workflows in it. Then you want to come up here and click on create a

workflow. And this takes us into the

workflow. And this takes us into the editor, which we'll do a bit of an orientation in a second, but I just want to get this started as quickly as possible. So, you can click on build

possible. So, you can click on build with AI. You'll see that we get monthly

with AI. You'll see that we get monthly credits here. And now this does have a

credits here. And now this does have a limit on the number of credits you can use. I have this because I have a a

use. I have this because I have a a business plan going. But if you come over to the pricing page, you can see that you can start a free trial with no credit card required, and you can get up to 50 AI workflow builder credits that will allow you to get started as quickly

as possible following the workflow that I'm walking you through here. Then all

you need to do is paste in that spec from the tool that we had before. So,

scrolling down and grabbing the spec, hitting back over and pasting it in here, and hitting submit. Now, that's

going to work away in the background using N8N's AI to analyze what you've asked it for. It's going to figure out the nodes that it needs, and then it's going to throw them all on the canvas.

Yours may vary, but I will provide the exact prompt that I gave it in the resources on school so you can try to follow it as closely as possible. But

the thing about this is that you need to be a little bit more flexible with how you think about it. There's There's no one right answer necessarily. There's

definitely simplified versions. This one

that I'm looking at here that it's generated for me is definitely on the more complex side of how you could approach something like this. But often

the AI will actually opt for a lot more strict and kind of non-AI features to make it a lot more deterministic. Now,

this is important because AI models themselves are language models are non-deterministic. That means that you

non-deterministic. That means that you can give it the same input and there's no guarantee that it would generate the exact [music] same output, which is going to be a bit of an issue when you're trying to build reliable business systems. And so, the N8N AI leaning towards uh things that are much more

deterministic where possible means that it tries to shrink the room for error down, which is actually a good thing and good practice in building automations.

So, while this would be possible to do a lot simpler, I'm going to kind of go with the flow here. When you're using the N8N AI builder, it'll leave you with a few things here like kind of to-dos, which uh the last few things that you need to link up correctly in order to

get it to work. What I like to do is just give this a a sort of skim through and try to understand each of the steps it's doing, maybe ask a few questions to help understand it better, and then I can move forward with actually going into testing. So, we start here with a

into testing. So, we start here with a Telegram trigger. That's going to be

Telegram trigger. That's going to be what we set up where it's sent a message. We're doing some workflow

message. We're doing some workflow configurations here like setting the Google Sheet ID and the drive folder.

That's okay. It's actually good practice to have these set first because then you can just change one node and everything that references those downstream will be updated in one go. Then we have a check of message type, so it's going to look to see if the Telegram message was a

photo or a message, which makes sense because we've kind of got two different modes for this, which is chatting to the data or we're going to be sending a receipt photo for extraction and logging in the spreadsheet. So, here we have it going to the spreadsheet and trying to pull all the data from the spreadsheet,

which is what we want. Then we have our AI agent, which is prompted to uh answer questions, which makes sense. It's

already got the Google Sheet data here.

And then it's going to send the response back to Telegram, so that'll make sense.

Then we have the extract receipt data.

Now, this is a bit more complex, but it's telling the agent that it needs to analyze a receipt, extract the following fields, return a confidence score, and some more in details about the formatting of those responses as well.

So, that all seems to be pretty good.

We're using the Gemini 2.5 Flash model, which is what I actually put specifically in this section here around the model preference because we needed a multimodal model out of the box so that we could just use Google Gemini 2.5

Flash, which is really cheap and affordable. Um that requires a little

affordable. Um that requires a little bit of researching or just chatting with the uh the assistant here to figure out which model would be best for this. But

you can see here it's actually not using the current model, so I want to come down and select the right one. Now, for

you guys, you won't actually have your Google account set up correctly, which is something we're going to do in a second. You will see in the N8N AI down

second. You will see in the N8N AI down here it'll be saying, "Hey, you need to set up your Google. Need to set up your Telegram. Need to set up your sheets,"

Telegram. Need to set up your sheets," which are all things that we're going to do shortly. Then in order to be able to

do shortly. Then in order to be able to take the information in that receipt image and then pass it further down, we need a receipt data parser, which is just going to make sure that it's sending the data based off that receipt,

turning that image into what's called structured data or JSON here. And this

means that the language model is going to fit all of that information into something that we can easily interpret and then use downstream as variables.

So, this is a very helpful skill to know in automation, and that's using an LLM to turn some sort of unstructured data into structured data and then passing that downstream into what's called a parser. And the parser is going to take

parser. And the parser is going to take I'll be able to read this JSON right here and then give us variables that we get to play with downstream. So, it's

very important and we'll be using this quite a lot. And then we have a little format message, so it's just taking the variables. So, you can see here already,

variables. So, you can see here already, we've taken these vendors and expense date and currency, and all those things that we just extracted with Google Gemini 2.5 Flash, and then passed it through that parser, and out came these variables that we can now use. And then

in this case, we're just turning this into a little message that can be sent back via Telegram. And it's asking them to please confirm or edit, reply with confirm to accept or vendor with the changes if we want to edit. So, that's a nice little feature that I didn't

actually have in the original version of this build. And it's going to send that

this build. And it's going to send that message off. Nothing too fancy [snorts]

message off. Nothing too fancy [snorts] there. Now, this is where things get a

there. Now, this is where things get a little bit more hairy, if I'm honest. I

saw this and I was like, "Hmm, this is waiting for a user confirmation. It's

waiting for a webhook call." And I didn't see this webhook call actually get used anywhere else. And so, [music] in my little skim over before, I went to the N8N AI and so I said, "Basically, explain this to me. I don't understand.

Can you explain how the wait for user confirmation works?" It goes, "Great

confirmation works?" It goes, "Great question. It works by this, this, this."

question. It works by this, this, this."

And then it spotted an issue in its own workflow. So, the tricky part is that

workflow. So, the tricky part is that when a user replies to Telegram, that reply comes as a new Telegram message.

It doesn't automatically go to the wait node's webhook. You need to bridge this

node's webhook. You need to bridge this gap. Then it gave me two options, and

gap. Then it gave me two options, and the first one seemed great, so I'm going to say, let's implement option A. And

the thing is, as you're going through this yourself, I obviously have a bit more information on how this all works, you get to go through here at every step and explain, hey, what is an output parser, and what does that mean? You

need to really, really get used to relying on this n8n AI, because it is going to be your best friend in learning this platform as quickly as possible. So

here we can go, it's planning out the steps to implement option A.

Okay, so now we actually get to an important decision that you need to make as the automation builder here, the one steering the ship, and that is here it is actually asking us to use another external platform called Redis, which

I've just looked up and appears to be some kind of lightweight database service for managing real-time data. And

if I look at the pricing, they do have a free tier, but if I'm being completely honest, guys, this is supposed to be the introduction tutorial for this video, and doing all of these external integrations is actually a little bit too much for just easing you into it.

So, I'm going to show you how to actually go back and rethink this, and [music] go back to the GPT and ask it to plan it in a slightly different way, cuz this is a really good example of what these different kind of, when you're heavily using AI for planning and

building, there's so many like I've actually done this multiple times, and every single time it's given me kind of a different way of doing it, like I said before. And so it's an important skill

before. And so it's an important skill for you to have is to be able to go back to this planning phase. So I'm going to ask the GPT and say, hey, is there any way we can simplify this, like a single agent with a few tools, and taking out the complex functionality like the

confirmation message. So if we send

confirmation message. So if we send this, so here it's giving me two different options, a simple sort of faster version, and one with a bit more cautionary around receipts. So I'm going to say, let's go with option A, give me the fields to put into the form, referencing the form that I've got over

here. Then I can just grab these one by

here. Then I can just grab these one by one. So I've got these all filled in

one. So I've got these all filled in now, I can just run the tool again. And

actually I see a few things in this plan that I'd like to remove as well, so I'd say, so my last touch up here is let's remove the Google Drive saving feature.

Let's make it as agentic as possible with the sheets and Gmail tools all connected to the agent for simplicity.

That's going to make the automation look a lot smaller and simpler. And let's

also use Gemini 2.5 Flash for the model as it's multimodal. That means it can take both image and even video and text as inputs without an issue. So with all these added in now, I can click run tool, wait a few seconds, and we'll have

our new brief to pass into n8n. So I'm

going to copy this.

And we're going to go back and create a new workflow, open up the n8n AI, and then paste that in again.

Nice. And now as I said before, it's actually easier to have a lot of these things handled within this. So when you change it here, it automatically updates all of these, for example, the Google Sheets. I only want to set the Google

Sheets. I only want to set the Google Sheet value once, and then it can be passed down through everything, nice and easy. So it's good practice to have. So

easy. So it's good practice to have. So

I'm going to ask it, can you set up the workflow configuration steps so that I can add most of these in one go. So and

I'm and I'm sure you can see how much simpler we got this down. This is kind of what I was trying to show you, that there are very advanced and complicated ways of doing things, and then if you can prompt n8n or prompt the sort of spec writer that we have to opt for

simpler and often more agentic ones, it's going to look a lot less complex.

Cuz as you can see here, we're getting the agent to do a lot of the heavy lifting, and it has to decide when to use the sheets, when to use the Gmail tool, when to send a message back. And

so this AI agent node here is able to intelligently use the right tools when needed, rather than having these big long chains of like JSON parsing, and if this happens and do that, which yes, it is more deterministic and likely more

reliable. For most use cases like this,

reliable. For most use cases like this, you can rely more on using intelligence and tokens rather than trying to strip it all down to the most deterministic setup possible. Here we can see we've

setup possible. Here we can see we've narrowed this down to just setting up this node now. I'm going to hide the AI assistant for now. And now we have things like the CFO email, when I want to escalate it, where do I want that email to go? I can just plug it in here.

What's the expense threshold for sending an email to my CFO? That's $500. Default

currency, USD. Google Sheet ID, which we'll need to set up in a second. Sheet

name, which is here. Sheet headers, so on. Now to get this working, all we need

on. Now to get this working, all we need to do is configure each of these nodes so that we can give it a test. So I'm

going to start with Telegram here.

You'll need to come to create a new credential here, and you're going to go to Telegram. So you want to download and

to Telegram. So you want to download and open up Telegram. It's free to use, you can get it on your phone or your laptop.

Then to create a new bot, you're going to want to search up here for BotFather.

Click on the chat here, and then you can come in and type new bot.

And it's going to take us through a setup process to get this new bot set up. So what's the name? We can call it

up. So what's the name? We can call it Biz Receipts Bot.

Let's also call it Biz Receipts Bot.

And there we go, just like that we have our token. I'm going to copy that, hit

our token. I'm going to copy that, hit back to n8n here, paste in the access token, and then click save. So that's

super easy compared to some of these. If

you do need help at any point when you're getting your integration set up, n8n AI here is actually really helpful.

You can click here, and it's going to use AI to look at the documentation, get you the latest information on how to do this. And if you get stuck, you can chat

this. And if you get stuck, you can chat here. So again, learning to use AI at

here. So again, learning to use AI at every step and rely on it to help you get through roadblocks is really essential. As you can see, it's got the

essential. As you can see, it's got the exact steps we just went through. So

we'll click save there. It's going to test it for us, make sure that it's working correctly, and we have this green box, so we're ready to go. So

that's our Telegram bot set up just like that. It's triggered on message, and

that. It's triggered on message, and it's going to automatically download the files and images, which is great, makes it a lot easier for us. And then we want to work through the rest of these configuration steps, like firstly the Google Sheet ID. So we can make this a

lot easier for us by clicking into here, grabbing these sheet headers, and then going to Google Sheets.

Now one thing to note about using Google Sheets and anything kind of Google related, that in order to integrate it with n8n as quickly as and easily as possible, you need to go to what's called a Google Workspace. This is

basically a business account on Google that allows you to access Docs and Sheets and stuff through your through a business account rather than a personal one. And it's really important that you

one. And it's really important that you do this. And set it up, it does have a a

do this. And set it up, it does have a a 14-day free trial. Um you can try it free for 14 days. You can come on, get on the starter one here, and start a trial. I highly recommend you do that,

trial. I highly recommend you do that, or it's going to take you a lot more effort to get these integrated in a second. But in this case, I'm on my

second. But in this case, I'm on my Morning Side AI account, so I've got that all set up. I'm going to go to a blank spreadsheet here, and paste in these fields that we had before.

Actually, put them down here. And then I can just start to grab these fields out, start popping them in. Then I have all of these columns set up correctly in the sheet. I'm going to just bold them to

sheet. I'm going to just bold them to make it easier to look at. I'm going to call this company expenses tracker, and I'm going to name this sheet one expenses. [music]

expenses. [music] Then I'm going to grab the URL of this, and double-click this segment of it. As

you can see, after the slash D, we want to copy that ID, hit back to n8n. And in case you got lost there, I was grabbing the sheet headers out of this section here. And so

then what I need to do is paste in our Google Sheet ID that we just took from the webpage there. We've got the sheet name set up as expenses, which we had correctly here. And then we have our

correctly here. And then we have our workflow configured correctly like that.

Now we've got a few more configurations to set up. We have firstly the Google Sheets. You can go to create a new

Sheets. You can go to create a new credential here, and here you can see as it says sign in with Google, that's connected to that Google Workspace. So

if you're trying to connect with a personal account, it's going to walk you through a much more complex setup, so please, please get that Google Workspace set up. It's going to take you a few

set up. It's going to take you a few minutes. Do that. It's got a 14-day free

minutes. Do that. It's got a 14-day free trial. Come back, sign in here with that

trial. Come back, sign in here with that same Google account you created on your Workspace, and then you will have correctly set up your Google Sheets account here. And that means that n8n is

account here. And that means that n8n is going to be able to access that ID of a sheet that we gave it before. And here

you can see it's inserting that ID that we set up just before into this document, and also the sheet names. You

can start to see how when we set those variables earlier, they can be passed downstream a lot easier. And the key bit here to note that the n8n AI has actually correctly set up the descriptions of the tools. As I

explained earlier in the video, tools have kind of descriptions, and they have information on the different variables that need to go in them. And then this tool description, which we are setting manually here, we are giving it all the information about what this tool does,

what it takes in, how it's connected to the rest of the workflow, so that our AI agent here, with its system message, also understands what each and every one of these tools does. The Google Sheet for adding to the

reading the whole spreadsheet for when we're asking questions over the data, and the Gmail tool for sending it, and the Telegram reply, and so on. So that's

one of the reasons why the n8n AI can be so powerful when you prompt it correctly, because it would do all that context setting for you rapidly. So the same thing needs to be

rapidly. So the same thing needs to be done for this Google here. So you can come to create a new credential, go through the same process, sign in with that new Workspace email, and then you're going to have your Gmail connected, and it's going to be sending from that email that you set up. And

then finally down here, we have the Telegram set up, and we can connect that to the Telegram account that you just created. And now the final piece of the

created. And now the final piece of the puzzle is to connect up our Google account correctly so that we can actually use the model that we want to.

I'm going to change this model here because it struggles to use the exact one that you asked for, so we're going to use Gemini 2.5 Flash then to actually be able to use these APIs, you need to create a new credential here, and then

you need to go to Google Cloud.

You'll be able to log in here with your Google Workspace account. Then you go to the console.

Then you want to come up here and click on a new project if you haven't got a project already. Then once you've set up

project already. Then once you've set up the project, you want to head to billing account management. You'll likely need

account management. You'll likely need to create a new billing account. You'll

want to go to payment method here. Then

you will need to add some sort of debit or credit card in here, cuz that's how you're going to be charged for it. You

can set all the limits you want, but for what we're going to be doing, it's not going to use much at all. You might be charged a dollar or two max. So get your card added in here. This is going to mean that you're able to create an API key, and then we can head back to our

cloud console. You can see that we're in

cloud console. You can see that we're in the project that you just created, and then we're going to want to head down to APIs and services.

Enable APIs and services up the top here.

We're going to search for the Gemini API.

Click on this.

Yours will say enable here, so you want to click enable, then go into manage.

If you hit to credentials on the left here, then create credential, click API key.

Now we have our API key. You can copy this, hit back over to n8n, paste it into this API key section, and then click save, and it'll do a little test on it, make sure it's working. You may

need to go back and forth to make sure your billing is set up and it's able to charge you correctly. Once you've got that, you can click save, and you will have connected your Google Workspace and Cloud account to n8n to be able to use that in all future workflows. And one

thing to go over here is this conversation memory. This suggests that

conversation memory. This suggests that we can have a bit more of a conversational assistant, and it's going to keep the last 10 messages in the chat in the context so the agent understands what's happened before. So that's just helpful for a conversational agent.

Sometimes if it's non-conversational, then you can just leave that out. Now

with all this set up, you can just pop into the system message here and make sure that it's all prompted correctly, cuz this is kind of the glue that holds all of this functionality together. You

are an intelligent expense tracking assistant. Help users log expenses from

assistant. Help users log expenses from receipt photos. Your capabilities

receipt photos. Your capabilities extract expense data, log expenses, answer questions, send CFO alerts, reply to users. And it breaks down the

to users. And it breaks down the workflow in full details there. Now, all

that's left to do is the moment of truth. Uh we're going to save this. We

truth. Uh we're going to save this. We

are going to click execute workflow.

Now, this means it is waiting for the trigger, so we can send a message on Telegram and it's going to ping this and it will receive it. This is just a way of testing it. It's not actually live.

It's not going to quite every message yet. So, we can go into our chat here

yet. So, we can go into our chat here and say, "Hey man." Just to test it. And

[music] yep, it has received our message, but we're getting an error here. So, this starts the process of

here. So, this starts the process of using the AI agent and assistant in N8N to fix things. So, this is very important to see this live as we go. We

can click open node here. No session ID found. Expected to find a session ID as

found. Expected to find a session ID as an input called session ID. So, we can just click on the N8N AI here. It's

going to analyze the error, give us a recommended fix, and then actually do it for us. So, again, I'm trying to show

for us. So, again, I'm trying to show you the AI-based workflow for this. And

then let's try to plan it out. Let's try

to get the N8N AI to build it. Let's get

it to explain it to us if we don't understand certain parts.

So, to get this built out, I'm going to copy all of this. I'm going to go to the build section. Then I'm going to say,

build section. Then I'm going to say, "Paste it in here. Fix this session ID error."

error." So, the session is just an ID that's linked to our account. So, whenever we are messaging with the bot, it's like, "Okay, well, what conversation is this?"

Cuz this can handle a thousands and thousands of users through this one automation. So, we need to be able to

automation. So, we need to be able to track which user we're talking to so that we add the messages to the right chain of messages that we're building for each user. So, here we can see it's fixed the conversation memory session ID, um changing it from input to custom tick

key mode. Memory will now probably use a

key mode. Memory will now probably use a Telegram ID from message ID. So, we can execute and refine. Go back to Telegram here and say, "Hey man."

There we go. It's working correctly. I

couldn't understand a request. Please

resend a receipt photo or text like, "So-and-so." Or ask a question like,

"So-and-so." Or ask a question like, "How much did I spend last month?" So,

it's analyzed that and realized that it's not something that it's supposed to handle, and it's asked us for the correct input. And as you can see, to

correct input. And as you can see, to break down how this is displaying what's happened to us. Uh we have a green tick here, a green tick here, a green tick here, and then it's gone and used the Gemini Flash twice. [music] It's checked

the conversational memory multiple times, which is a bit strange. And then

it's used this tool once to send that response via Telegram. Now, all that's left to do is to test the rest of the functionality. So, I'm going to close

functionality. So, I'm going to close this off. We can click execute workflow

this off. We can click execute workflow again. And this time I'm going to send

again. And this time I'm going to send it a receipt. So, I'm going to drag this in here. Send it.

in here. Send it.

And we see it will should analyze it with this, extract the information, and then Oh, so we have an issue with the Google Sheets account. So, again, we just go through the process asking the N8N AI to help us with this. And as

expected, it's just going to tell us to double-check our credentials. So, I'm

going to go through this process again, create a new credential. We're going to rename this to latest.

Save. Make sure both of these are on the latest.

I'm going to save. Make sure you're saving the workflow constantly because it needs to save in order to upload those changes to the actual deployment.

We should see over here. Boom. There we

go. So, we have added in the information to the spreadsheet successfully. I'll

just drag these out so we can see the receipt file ID, the vendor, expense date, currency, total tax, everything that we asked for here. Even the items that were on that receipt. It's got a

high confidence as well, which is great.

So, we have successfully extracted information from that first receipt and put it into a spreadsheet. So, that's a big win. Interestingly, it's chosen to

big win. Interestingly, it's chosen to read the sheet as well. I don't know why it's reading the sheet before it puts it in. If I was going to keep tweaking this

in. If I was going to keep tweaking this around, I'd make sure that it wasn't doing that. But for now, it seems to be

doing that. But for now, it seems to be working fine. Maybe it's just getting a

working fine. Maybe it's just getting a read of the columns so that it can better fill it out. At this point, I'm not too bothered. It seems to be working. Now, another thing we want to

working. Now, another thing we want to check is the ability for it to escalate it to my CFO if it's over $500. So, I've

got this set up on a Google Workspace email as I recommended here. Then I'm

going to execute the workflow again. Oh,

and as you can see, we're getting a response back, which is great. Giving

the user a bit of feedback on what's happening. And here I have an Apple

happening. And here I have an Apple Store receipt for a uh healthy 3,500 euros.

I'm going to send this here. And there

you go. It looks like it didn't even need to read the sheet this time because it had already read it in the last session. It remembers the last message

session. It remembers the last message we've sent and the ones before it. So,

maybe it already knew what the sheet looked like. And it seems we're getting

looked like. And it seems we're getting more issues with authentication here.

So, I'm just going to set this up again.

Save that.

Save the workflow. Execute it again.

And send our receipt.

Yep, and we've seen an email sent off and logged in the spreadsheet as well.

Boom. There we go. Over 500, true. And

this row here was from the failed ones, so we can probably delete that.

But here we go. Our CFO email sent at It's officially sent an email and logged this in here. And it's detected that it's over $500. So, now if I go to email, then I've got an email from myself here

saying high-value expense alert at Apple Store Grafton Street. High-value expense

has been logged. So, this is going to be a helpful way to send off to your finance department or CFO whenever there's a big expenditure so that they can follow up on that and make sure that that's an approved purchase. So, now

that we've got all this working, the last thing to do is ensure that we're able to chat to this and it's able to pull that information from the spreadsheet and make it ask questions over that data. What I'm going to do is just grab this here. I'm going to grab all the information in the spreadsheet,

head back [music] to our handy-dandy assistant, and ask it, "Can you create a bunch of dummy data in a table and add

to our sheets?"

And I can turn off thinking here.

So, I can copy those data out. I can

head back to the spreadsheet and I just click in here, paste it in. Now, I've

got a bit more to work with, a couple more categories and so on. And then we can head back to Telegram. I'll execute

this workflow again. I'll say, "What is the total spending on this account?"

Now, it should query the data, pull that all back to the agent, and boom. Total

spending on your account is 5,000 USD or and a 3,000 total. So, everything is working as expected. [music] That's

great. Now, we can click on this toggle here to make it live. That means that instead of having it executed every time, it's going to run with every message. And then we have our buddy here

message. And then we have our buddy here to chat away with, and we can say, "How many trans So, as you can see, we now have a handy-dandy expense assistant put onto Telegram uh that's able to add things to

a spreadsheet from a image. Very

powerful skill to have. We've heavily

used the N8N AI and the AI tools that I've created for you guys to plan this out, to iterate, to go back and forth, to use the N8N AI to also debug and work through issues. You've just seen a

through issues. You've just seen a realistic walk-through of what the stuff looks like when someone like myself or other AI automation engineers are building these systems. So, so that is build one under the belt. I will be giving you guys this template exactly so

that you can import it yourself. If you

don't want to do everything yourself, I'll also be providing those final prompts that we gave to the AI so that you guys can try to follow along as closely as possible with the experience that I've gone through here. This has

been a great skills foundation for what we're going to be doing in the next three builds, which are kind of linked together as a a chain of different automations and systems that you can build for a given business that work together as part of a larger system. All

right, guys. So, before we build our second agent workflow, I want to talk you through hosting since it's particularly important that you understand where your workflows are actually going to be running once you've got them set up and deployed for your clients. So, in order for things to run

clients. So, in order for things to run 24/7, your workflows have to always be on, which means they need to be hosted in some kind of service somewhere. So,

when we signed up to N8N and when we started building, we were automatically putting N8N on the N8N cloud. So, with

the N8N cloud, you're basically borrowing some space on their server.

It's like renting an apartment, but it's for running your workflow. They host

these workflows for you automatically with no setup required for the hosting, but you pay based on usage. So, this

works fine when you're learning and just starting off and building your first few workflows just like this. But as you scale up and particularly start to deal with clients doing a lot of volume, you're going to hit walls where your workflows might crash with a large amount of data. Your bills can spike

unexpectedly. You can't install certain

unexpectedly. You can't install certain tools that you need. And ultimately,

you're stuck within N8N's limits and their pricing structure as well. So, for

running an actual AI agency or AI automation agency powered by N8N and selling those workflows to your clients, pretty much every AI agency I know is self-hosting their N8N and using that to run their client workflows. Or in other

words, they own their own home for their workflows versus renting an apartment in N8N's cloud. So, when you self-host, you

N8N's cloud. So, when you self-host, you can run as many workflows as you want, basically. And instead of paying

basically. And instead of paying surprise bills to be N8N, you pay a predictable and usually much smaller monthly fee just for the server access.

You also get the freedom to install any community tools that you need. And most

importantly, you control everything about your infrastructure. But if you had to set all of this self-hosting stuff up from scratch, that would be a lot of complicated work for beginners particularly. But fortunately, there are

particularly. But fortunately, there are a lot of services out there that handle all of the technical complexity for you of this self-hosting in order to get the most scale out of your automations. So,

when it comes to self-hosting, especially for beginners, Hostinger is my recommendation since it does basically all of the heavy lifting for you automatically with literally like a one-click N8N installation. And

fortunately for me, Hostinger has offered to sponsor this video. So,

shout-out to Hostinger for being the sponsor of this video. So, let me show you how to get your self-hosted N8N up and running if you plan on scaling your agents professionally as an AI automation agency. So, below this video,

automation agency. So, below this video, there's going to be a link that will send you to Hostinger's self-hosted N8N page. They've got a page specifically

page. They've got a page specifically for it. You can select whatever tier you

for it. You can select whatever tier you want, but KVM 2 is a good price for the value you get. So, uh we can choose this plan, and then we can select either a one-month or 12-month or 24-month for better savings. Your server location of

better savings. Your server location of where you're hosting your systems uh will automatically be chosen based on your location. And the closer the server

your location. And the closer the server is physically to you, the better performance you're going to get. Now,

down here, you'll see N8N was already selected for me, so I can leave that as is. And before heading to checkout, you

is. And before heading to checkout, you can get an extra 10% off with code Liam Ottley, all caps. All right, so you can put that in there and get an extra 10% off your hosting uh setup. Then you just register your account. You can fill in your billing details and enter your

payment info. Now, we just need to add a

payment info. Now, we just need to add a root password. Make sure you save this

root password. Make sure you save this somewhere safe. And next, we can get

somewhere safe. And next, we can get malware scanning for free, which is great. And I'm going to select that

great. And I'm going to select that before finishing things up. Now,

Hostinger is doing all of the complex setup for us automatically, which is awesome. And once it's finished up,

awesome. And once it's finished up, we'll be routed to the dashboard. We'll

go from there. Now, from here, I just click on manage app. I'll be taken to my own self-hosted n8n instance. So, here

is where you enter your info and get your instance up and running. Once

inside, we have the option to receive some free features for advanced debugging, search, and organization. And

now that I'm in, I can go ahead and create my n8n workflows from here. So,

either using a provided template or creating from scratch and building node by node. Now, I have unlimited

by node. Now, I have unlimited automation power, running 24/7 with predictable cost. So, that's a key thing

predictable cost. So, that's a key thing for turning this into a business.

Occasionally, n8n will release versions with new and useful features, so you'll want to update your n8n from inside your Hostinger account, which there's a tutorial for right here. And if you want to customize your domain, you can follow the guide here for a custom URL that

your workflows actually live at. And if

you need to reset your password, you can find out how to do that here, of course.

These are some helpful guides as well, but what's especially helpful, I find, is the AI agent called Cody, who can walk you through basically anything on the Hostinger platform, which is super great for beginners. Now that you have a solid understanding of the benefits of self-hosting and how to get it up and

running, let's get back to building our next AI agent workflow.

All right, guys, so we're getting into build number two now, and this is the start of the chain of business-focused builds that we're going to be doing, so it's important you get this right cuz they are all kind of interrelated and part of a bigger system or package that you can sell. And so, this one is a

throwback to one of my favorite builds that I've ever done on the channel. It's

sort of updated and refreshed to be uh more current and new, but the use case itself is still rock-solid and one of the top ones that you can sell to businesses, and that is a lead generation chatbot that helps to answer questions about the business and about

the services on the website. In this

case, we're going to be building an AI tool that allows them to pass in their monthly power bill and their address, and we're going to be able to return to them, based off the Google Solar API, which is really the powerhouse of this build. We're going to convert their

build. We're going to convert their address into a latitude and longitude coordinate. We're going to pass that

coordinate. We're going to pass that into the Google Solar API, and it's going to return It's going to basically look up their house, uh determine what shape their roof is, the different sides on it, estimate how many panels could fit on it, and then also, based off

their monthly power bill, be able to estimate a range of different solar packages that they could buy, and the estimated payback periods it'll look up based off their location, how much sun those roofs are going to get, and also, look up based off their state and

location and area, any tax incentives uh from the federal government or the state government, and be able to give them a full comprehensive picture of how much they could potentially save based off the power bill and location, sun hours,

savings, all of the stuff that is really important for someone to know before they go in and make a solar purchase.

So, this is a way of creating a what would essentially be a human kind of solar consultant task to take in the information [music] about them, determine what packages they can look at, and we're going to be able to automate this fully through AI within a

chatbot, so that all users can come on, ask a few questions, the chatbot's going to offer them, "Hey, do you want to get a perhaps a a quotation or estimate on how much that you could save and how much solar could cost for your house?"

And then after they've gotten that value, we're going to prompt the agent to afterwards ask for, "Hey, if this seems interesting, I can put you in touch with one of our representatives, and they can take you a bit further on this process um to learn more about what this would mean and and look like if

you're going to roll this out for your house, different types of panels we could set up, and so on." We're going to be learning a ton of super valuable skills in this that you're going to carry forward into all of your future as an AI automation expert, being able to call custom APIs. In this case, we're

calling the Google Solar API and the Google Geocoding API as well. I'm going

to teach you a very key skill in making your agent more powerful, which is using the workflow as a tool node, which allows us to build out complex workflows and then connect [music] them as a tool on our agent. I'm also going to be showing you how to set up a simple knowledge base within n8n so that you

can load documents in and allow your agent to answer questions over those documents. Great skill to have. And

documents. Great skill to have. And

finally, I'm going to be showing you how to take everything we've built here and set it up on a chat widget on a website so that you can take it out of n8n and put it onto a website for customers to use and give you a new deployment option other than the Telegram one we've

already done. A website deployment for a

already done. A website deployment for a chatbot is a very useful one to know how to do. So, to start things off, we're

to do. So, to start things off, we're going to follow the same process that we went through last time. We're going to be using the GPT and the relevance tool that I've created here. We're going to be chatting back and forth with this AI automation CTO to figure out how we can

uh get the right plan. We're going to feed that into our automation brief, and then we're going to go from there into setting it up with the n8n AI, testing it, [music] and then deploying it to a website. And this is the platform we're

website. And this is the platform we're going to be using to take out n8n agent and put it on a website, so I'm just going to copy the URL of this and pop it in here as context. Okay, I'm starting off a conversation with this prompt that'll be included in the resources if you want to follow along. Basically

saying a a rough scope of the build. I'm

trying to build a lead generation agent for a solar company's website. It's

going to be deployed via a chat widget using n8n chat UI. It's going to be able to answer questions from a knowledge base, which is going to be basic, [music] about the business and guide the user towards a free solar estimate, which will be done through the Google Solar

and Geocoding APIs. We will take in their monthly electricity bill and also their address, then send that into a workflow as a tool AI agent tool. Um

you'll see what that means in a second.

That we use those APIs to return us a simplified breakdown of the relevant data to them from the Solar API. The AI

is going to give them a nice summary of all of the information in the Solar API that that they've returned to us. And

then after that estimate has been given, the AI will suggest that they provide their phone number and a name for one of our representatives to get in touch with more information and special offers uh to get them sort of encouraged to give

their uh information. And then this lead information will be added to an airtable, which is kind of like a fancy Google Sheet, which you'll see it's a great tool to learn. That's another key one that you're going to be learning in this, is how to set up airtable and connect it to n8n. And that's going to

be serving as a CRM or our customer relations manager, which is a basically a database of all the people that we're contacting or working with in our business. And then I've said I would

business. And then I've said I would like this to be as lean as possible and simple as possible using a single agent and tools. So, in this case, I know what

and tools. So, in this case, I know what I want, so I'm telling it quite exactly what I'm looking for, the different services I'm going to use. But in many of your cases, you may not know, and you're going to use this AI automation CTO to be able to help find those kind

of geocoding or solar APIs, getting it to search the web and figure things out.

So, here we have the research that's been completed, what the APIs are, how they're going to work, the shape, the endpoints, and practical notes. Talking

about the architecture of the n8n agent, chat trigger, AI agent, solar estimate tool, and the create lead tool. Yep,

that's correct. And an optional uh knowledge base tool via a vector database. Then it's breaking down the

database. Then it's breaking down the second workflow, which is going to be packaged into the solar estimate tool.

So, we're going to be using a separate workflow as a tool, but there's a little trick you can do to kind of keep it within the same uh workflow, which is great. So, this is going to be a

great. So, this is going to be a separate sequence of steps that's a bit bigger, which is going to chop that solar information retrieval from the Solar API into a couple steps. Here we

have breaking down kind of the prompt or the glue that's going to stick it all together and how the behavior we expect the behavior to go. So, I'm going to tell it to assume that this is USA only because that's where the Google Solar API is relevant. And don't worry about handling all the edge cases cuz it's

starting to build into here uh ways to handle if something goes wrong or if uh there are errors. We don't necessarily need to do that in this version, but it is something that you would do later on.

So, I'm asking it to just create an MVP or minimum viable product here so we can test the core functionality. And then I will say, And I've told it to carry over a lot of this research about the APIs into the

information that I'm going to put into the form here on the left.

Okay, now we have the brief here. If for

the model preference, because you guys have already set up your Google account, I'm just going to keep using Google in this case. Um so, we can just say,

this case. Um so, we can just say, And we're going to give this a run.

Come down and get this raw. We're going

to head over to n8n, create a new workflow.

Open the AI editor here, paste it in, give it a quick check over. It's got all the details about the Solar API here, that's really important. The output

schema, and I think we're good to go.

There we go. This is the first attempt it's given us. Uh let's just have a skim through and see what it's asking us to set up. So, the airtable uh lead tool,

set up. So, the airtable uh lead tool, that makes sense. [music] It's going to need us to set up our airtable integration there. Uh the Google API key

integration there. Uh the Google API key and the Google API key. So, just a look through here, give a bit of an explainer. We have the chat trigger

explainer. We have the chat trigger here, and if we pop this open here, we can look at the chat trigger. So, this

allows us to, in this case, chat away here in this chat session, and this is going to allow us to test the functionality before it's actually put onto the website, so this is our testing window. And this log section will show

window. And this log section will show us what's happening to the AI agent at every step as we go through the chat. We

don't need that right away. And once we receive a message, this chat trigger will fire information into the solar lead agent here. We have a handy-dandy prompt. You're a solar energy

prompt. You're a solar energy consultant. Your role is to answer

consultant. Your role is to answer questions. Answer questions in the

questions. Answer questions in the knowledge base. Well, it seems like it's

knowledge base. Well, it seems like it's just put the knowledge base directly in here, um which is is one option. I'm

actually going to take that out and give it a proper knowledge base. Important

rules.

After providing an estimate, that's what we want it to do. So, yeah, that looks pretty good overall. We have the Google Gemini 2.5 flash. Again, it's got the wrong model here, so we'll just change it over to the one we want. We've got

our original Google connection here from the previous builds, you should just be able to reselect that.

And we have the solar estimate tool here. Now, this is actually not the uh

here. Now, this is actually not the uh easiest way of doing things because we have a uh just a second workflow here.

So, we basically want to connect this whole workflow via this into this. So,

normally you'd have to create a separate workflow, you'd go back up to add and create a new one, and then we would we would uh click here, we would add a new one here, and go call n8n workflow tool.

So, this is how you can build much more complex tools with multiple stages like this from an agent. So, if I click this, it's basically asking me which workflow am I supposed to call uh with this tool?

So, a little trick you can do here is that you can actually set it up by from ID.

And because we have this entry point here, we can actually trigger this as the entry point by taking the URL up here and grabbing this section of our URL after the workflow bit, and then go back to this workflow uh n8n [music]

workflow tool here, paste in this as the ID, and there we go. It's it's been able to read this and determine what inputs cuz we need to pass some information into that workflow. And the AI has already set up the address as a in the monthly bill case we're looking for

actually a number. So, this is all set up correctly as the inputs, and that's why it is automatically popped up here.

So, just one more time, this whole workflow that we're working in is this workflow ID up here that we clicked.

But, because on this whole canvas, the only option for triggering this workflow via an ID is this one, when we put in the ID of this workflow into this tool, it's going to call the only one that's

available. So, it can't enter here

available. So, it can't enter here because this is not a trigger by another workflow. We're going to take the ID of

workflow. We're going to take the ID of this whole workflow, pass it in here, and we can sneakily keep this on the same canvas, nice and easy like that.

So, we can delete this.

Then we can check out how it set the solar API section up. So, we have the information of the monthly bill and the address being passed into this geocode address. So, we've got it using the

address. So, we've got it using the correct URL that we found in the research section. With indication we

research section. With indication we have none here for now, and we're just going to be putting in our API key in the query parameters, which will go in the URL that we send off to Google. So,

that all looks pretty good. We'll grab

our API key in a second. Then we take the solar data, which is going to be grabbing the information from the previous step, taking that latitude and longitude that the geocoding API found, and setting it into the [music]

input to the solar API as the latitude and the longitude here, and our API key as well. Sending that off, then it's

as well. Sending that off, then it's going to dump back a ton of information to us. So, we need to pick through that

to us. So, we need to pick through that and determine what we actually want. In

this case, we want to expect us to have a little bit of issue with this because it's sending back so much data. So, I won't go into this too

much data. So, I won't go into this too much for now, but it's basically can we extract only the stuff that's important, send that back to the agent, and the agent can turn those numbers into a nice, clean response to give to the user. We have got a conversation memory

user. We have got a conversation memory as usual here that's handy to have that set up. We're remembering the past 10

set up. We're remembering the past 10 messages. And one thing we are missing

messages. And one thing we are missing is our knowledge base. So, I'm going to set that up later, but for now we can just pop it in here as a placeholder, simple vector store down here.

And we are just going to leave that for now. All right. So, the most important

now. All right. So, the most important thing for us to do now is to make sure that the solar estimate is working. So,

we can do this a few ways. The easiest

way to do that is to come in here. We

need to change these inputs to being created by the AI. So, that's an important button to know exists that when we have certain fields for say for these tools that we're using, we can

either hardcode the inputs, so we can have it set as fixed, and we can always pass in the same value. We can have it as an expression from variables earlier in the workflow. Or, in this case, as a tool for an AI agent, we can let the

model define this parameter. And what's

helpful is to add in a description of the tool. We can say this is

the tool. We can say this is [music] the address of the user. And this goes back to the descriptions that we write for tools. The descriptions of the

for tools. The descriptions of the variables or the parameters that you pass into the tool is also helpful to give the model more context on what is supposed to go where and the purpose of each of these. I'm adding must be as a number here,

giving an example of the format. It's

just some more context around how it should be structuring each of those when it passes it in.

So, if we go stop and we execute the step, now it pops up with things that we can put in. Here we can see this is as a number. Remember in this button down

number. Remember in this button down here, it says it's a number, and the address is going to be a string. So, I

like to go random USA address. [music]

Let's just go maps and find some random guy's house. Let's go Utah. Where is a

guy's house. Let's go Utah. Where is a city?

This one looks good. Actually, yeah,

let's go a few panels. So, we can see these different sides to the roof.

Google's actually going to be able to figure that out, which is pretty helpful. So, we're going to copy this

helpful. So, we're going to copy this address. Sorry to this person.

address. Sorry to this person.

Monthly bill of $200. Actually, before

we can test this, we should get our API key set up from Google. So, let's just back out of here, head to Google Cloud Platform that we've been using previously. All right. So, now

using previously. All right. So, now

you've got that project that you created before that you've already got the billing set up for. We want to go down to APIs and services. You want to enable APIs and services up here. And we're

going to look for the geocoding API.

You can click this.

You can click enable here. Then we're

going to go back and go solar.

And we're going to And we're going to enable this. Then we

can go into manage. We can go to credentials.

And then you can create a new API key.

We can copy this, hit back, open up this geocoding one.

Paste the key in there.

Then go to the solar one. Same again.

And now, while we're here, we may as well point out and link back to some of the concepts we learned earlier. We have

this as a get request, and get requests don't have a request body. We don't send away a big payload of information. What

this is doing, it's just essentially adding on little things to the end of the URL. So, a get request will take

the URL. So, a get request will take this, and then it's going to be attacking on the latitude and longitude to the end of that. They're called get parameters or query parameters, and they're going to be added onto the end

of the URL, and that includes our API in this case, which is not like the most safe way to do it, but for these purposes it will be fine. Now, we can try to save this. Okay. So, I've just cleaned this up a bit so that we can run

through some testing loops as we work to getting this custom workflow working.

Now, if we right click on here and go execute step, sorry, if we open it up, we change these to AI.

We can save that, and then right click on execute step. We can put in the address and put in like $200 monthly bill. We execute this, and then the

bill. We execute this, and then the error of any errors that return in here are actually going to be hidden in here.

So, you'd expect to see dick, dick, dick, but actually you need to click into here, and you can see that the resource you're requesting could not be found. If you click on view sub

found. If you click on view sub execution, we get to go on a bit more of a kind of debugging mode. You can see we have the editor tab here, the executions and evaluations. Our editor and [music]

and evaluations. Our editor and [music] executions are the main ones you're going to need to worry about. So, in

this case, we can go back through all of the previous runs of this agent. And in

this case, we want to look at the most recent failed one, and it's going to show us what went wrong. So, you can see that it successfully triggered another workflow here. We can click into it. We

workflow here. We can click into it. We

can see that it passed in the $200 and the address. So, those are the input

the address. So, those are the input fields we created, the AI created. These

are the things we passed in. And then,

[music] the geocode address sent to work well. We passed in this information, and

well. We passed in this information, and we got out the latitude and longitude, lat and long. There we go. So, 39 and -111. And then, we tried to pass into

-111. And then, we tried to pass into the solar data API. Seems like the resource we were requesting could not be found. usually means that [music] we've

found. usually means that [music] we've incorrectly set up the API information here. So, So, if we just click into some

here. So, So, if we just click into some of the error details, 404 error, request [music] entity was not found. So, that tells me that we are getting some kind of error with this URL. So, the easy way to do

this is to screenshot this. We can

actually go back over to our buddy here, say getting this issue.

We're going to be able to copy that whole thing.

So, now we get to use [music] the ability for our GPT to search the web, to look at the images we've given it, to have context of what we're trying to do.

And we're using this instead of the N8N one because this is able to search the web and actually figure out what's going on here. Saying, [music] and for a bit

on here. Saying, [music] and for a bit more information, I can even go down to screenshot this information. Actually,

we can send this whole thing. Scroll

down to the lat and long.

So, it's important you see these kind of troubleshooting workflows in action because this thing in this case has more context, it can search the web, and it knows what we're trying to build, and then we can take this information, pass it into the N8N node, or we can just change things around ourselves. Okay.

So, it seems like it might be due to the location that I've chosen. So, Utah

might be a little bit too out of the way. So, let's maybe give a different

way. So, let's maybe give a different state a try. If we go to California somewhere, if we go to Stockton, and this looks like it's got a bunch of different sides on it. These guys here.

on it. These guys here.

And so, let's go back. We can go back to our editor that we're over here.

Right click, execute step, and change this over to the California address.

Promising. Cuz I was hanging on this for quite a long time. Maybe we go into executions. See what the error is here.

executions. See what the error is here.

Okay. So, we did get the data back.

That's great step. So, we passed these in correctly. If we go to schema here,

in correctly. If we go to schema here, we can see all the information. Now, if

you go JSON, you can see really the crazy amount of data that we get back from this. Postal code, max array of

from this. Postal code, max array of panel count, max sunshine hours per year, carbon offset, roof segment stats, sub calculate the degrees of the roof, the area of the roof in meter squared, the amount of

sunshine they're expected to get. It is

a crazy amount of data, and look, it just goes on and on and on. And so, then it goes through the different like configurations. Say, if we had 27

configurations. Say, if we had 27 panels, this is how much energy it would generate. This is the different segments

generate. This is the different segments of the roof you'd need to cover. And

then, if you go down even further, it links it to the monthly bills. So, here

you can see if we have a monthly bill of 150, then it calculates the potential savings, the federal incentives for that area. What we're going to be doing is

area. What we're going to be doing is plucking out the relevant information from this. It's actually by filtering by

from this. It's actually by filtering by the the monthly bill value here that is related to the one that they've provided. Then we're going to be sending

provided. Then we're going to be sending that back to our agent to summarize and send back to a nice message to our user.

So, I assume that we're getting an issue in formatting this or extracting the values out of this very big JSON. So,

we're going to copy the selection here, see what the error here was. So,

normally you'd be able to ask the AI for this, but in this case, because we have so much JSON to to format, we need to be a little bit smarter about how we're able to get this bit of code written up.

So, if we go back to the GPT here, and we paste in everything that we've got just in, it's probably going to be too much to fit into the GPT here. So, let

me just at least attempt it. Now, at the bottom here is the current code. [music]

Can we please write a new one?

So, I'm going to cross my fingers and I hope that we can fit it all in here. I

don't think we will be able to. There

you go. Shout out, OpenAI. That is That is a massive message. So, we can see that it is going to help us to strip this down to only what is essential.

[music] Handle the array response properly, picks the closest financial analysis.

So, here we go. Okay. So, we can copy this code up here, hit back, and edit in. Need to click out of this because

in. Need to click out of this because we're in the executions, and we need [music] to go back to the editor. Double

click on this.

Delete it, paste it.

Save it, and then we're going to run this step again.

And we have another failure. So, if we go to executions here, we can click on this and see that again we're having issues with the format solar estimate response. Other info here. What we can

response. Other info here. What we can do is copy the error details here. Just

going to pop them back into And I'm going to ask it to simplify down a bit more. And actually, while we're at it, it might be helpful to see if the N8N AI can figure this out. And it may be in this case that the GPT is not

using the right variable names um for this workflow. So, if we go back to our

this workflow. So, if we go back to our editor, actually if you go into executions, go to debug and editor, and we add in the AI. So, it kind of spins all the

the AI. So, it kind of spins all the data here. As we go into debug and

data here. As we go into debug and editor, we paste in the information here.

So, now we have two different options coming back. We have the one from the

coming back. We have the one from the GPT where I suspect it may just be selecting the variables wrong, which is something it does quite often. Yep, here

we go. The error is occurring because we're trying to reference the solar estimate workflow trigger. That node has been renamed, so that was actually me just playing around before. I deleted

this one and re-edited it to try to get the integration with this set up properly. So, now that we've updated the

properly. So, now that we've updated the name of the variables that we're calling in this code block, we can go and give it another run. Close this.

Execute it again.

And again, even N8N is not able to fix this. So, we need to go through the loop

this. So, we need to go through the loop again.

Go to debug and editor.

Unpin the data, pop this open, and tell it to execute and refine. Now, N8N's

going to go to work and try to fix this automatically. And while it's doing

automatically. And while it's doing that, I'm also going to send uh this information over to the GPT.

And to be sure that we have the right name data in it, I'm going to grab a screenshot of this here.

I'm asking the GPT to simplify things down cuz the issue reason you have these issues is because there's just such a massive amount of JSON, and it's struggling to get the variables perfectly set up and write the right code to pull out the right variables

from the right depth of that JSON. So,

here are the tools. Please [music] give that.

Okay, we have the code now. I'm going to copy it, come back over, and paste it in.

Boom, we did it.

That was a good example of having to go back and forth. You guys won't be running into these issues that often because this is quite a complex uh JSON object that's being returned, as I said.

But, you need to be familiar with those loops where you can use this debugging in the editor. As you saw there, when we have this pin on, it means that we've already pinned the input data. We can

actually go to the execute workflow and just click it again, and it will move through. So, you can easily cycle

through. So, you can easily cycle through getting the N8N AI to check things over, make changes, and then just right click or just click here to execute the workflow again, and it's going to run through. Um and eventually, we did get that working. So, we can see

what we're actually returning here. If

we close this off, we're returning the address, the coordinates, imagery quality quality, the user input, and then the solar panels, the max amount, a financial snapshot, and any notes as well. So, this is going to be sent back

well. So, this is going to be sent back to our agent as this form of data in JSON, and it's going to be expected to read over that and then be able to provide them a nice summary as well. So,

think we're in a pretty good position to now go and test this in action through our chat widget. So, we can save this.

We can unpin this data here. Then we can open the chat, start a new chat, and say "Hey man."

Hey, I'm your solar energy consultant.

Can I get an estimate?"

It's showing our logs here. So, now it's saying, "I need your service address."

We don't have that saved anymore.

That's going to ping this, send it through, send the information back, and then we're going to get a nice summary.

You'd like to need about eight solar panels, this many kilowatt hours per year, estimated monthly production. Um

what incentives can I get? So, we can actually click through here to see what this returned. So, it returned uh all of

this returned. So, it returned uh all of this information. We actually have

this information. We actually have information about the federal incentives.

Let's see what it can provide me there.

The biggest incentive available is a federal tax credit, which can cover 30%.

How much money specifically?

Boom. So, we've got a very conversational agent already that's able to provide information based off the findings of the solar API. We can chat back and forth to get more information, uh which is very helpful. Great. What's

the next step?

So, we can actually change the prompting around to ensure that it leads them towards that lead capture. And so, now it's asking for the name and phone number, but we don't have our Airtable settings set up here correctly. So,

we're going to set that up quickly now, and then we're going to set up our knowledge base as well uh before we deploy this over to our chat widget. So,

we're getting there, uh very close to having this all wrapped up. Save that.

Now, we're going to head over to airtable.com.

airtable.com.

A link to sign up will be in the description and also in the resources.

Now, if you guys use that link, it gives my team some free Airtable credits, and I'd appreciate you using that link because we do spend a lot on Airtable based off how much we use it. So, so

what you want to do is sign up to Airtable. It's free to create an

Airtable. It's free to create an account. Then you're going to want to go

account. Then you're going to want to go down to the bottom left here and create a new [music] one. Going to build our own app. And then if you go back to our

own app. And then if you go back to our plan, um you can ask, "Can you create me a CSV file to import into Airtable to set up the columns quickly?" And

actually, just to remind it, because we've given it so much information, I'm going to give it a reminder.

So, we can paste that in there. And

also, we're going to head over here and see if we can go back to that last execution. Um

execution. Um editor logs. Get these up. Um

editor logs. Get these up. Um

[music] and if we go back to the chat trick, if you go back to the overview, and we go to the executions and see if we can get back to that information that was provided from the agent. Back even more,

maybe? As well? Yep, so called it, and

maybe? As well? Yep, so called it, and this is the information we get back. So,

I'm just going to send this to here as well. A reminder here is what the solar

well. A reminder here is what the solar PR returned. So, there we go. We should

PR returned. So, there we go. We should

be able to give us a little bit of a a CSV that's going to enable us to set up our Airtable base really quickly. So,

it's kind of like a spreadsheet, but you're able to do a lot more with that.

There's automations, you can make dashboards. Love Airtable. I honestly

dashboards. Love Airtable. I honestly

think it's one of the best apps uh ever, and I use it a lot um for various things. There's great AI features

things. There's great AI features throughout it. So, when say you're doing

throughout it. So, when say you're doing hiring or recruiting, and you've got people who are coming in and applying through forms, so you can have an Airtable form connected to a spreadsheet, and then when they come in, you can have automatic AI fields that analyze the information and do certain

things and start automations. It's

really an awesome thing to to know how to use. Super versatile. So, we're going

to use. Super versatile. So, we're going to click to download the CSV here. Going

to head over to our Airtable. I'm going

to Perhaps I could upload this using the assistant here. Set up the base core.

assistant here. Set up the base core.

So, there's a nice AI assistant here as well if you're a newbie, and it should be able to help us get this set up a lot quicker. So, you can collapse this on

quicker. So, you can collapse this on the side for now, like this. Now, I am going to remove the email cuz we are collecting that. Going to delete both of

collecting that. Going to delete both of these rows. And just make sure we've got

these rows. And just make sure we've got the right settings here. So, yep, that's created time should be as a date and include the time. Default to current date. Um we have the name. I think we

date. Um we have the name. I think we can swap the name over to here. Make

that the primary field. We can delete the lead ID. Got address, monthly bill in USD, latitude and longitude as numbers, estimated annual energy number,

max panels number, notes, chat session ID. That all looks good to me. We're

ID. That all looks good to me. We're

going to call this Smith's Solar CR.

Give this an icon of a sun. Boom. We can

collapse this down. We're going to delete this table here by right-clicking on the table one. Now, we just have our leads table. So, we're pretty much ready

leads table. So, we're pretty much ready to go here. I'm just going to make sure I've copied these. Command C. And then

what we're going to need to do is come to our settings. We're going to go to the builder hub. Going to go to personal access tokens. Going to create a new

access tokens. Going to create a new token. Going to be called our

token. Going to be called our Going to add a scope. Can read. Can

write. Can read the schema. Can write

the schema. And that should be good enough for now. We can add a base to this, the Smith's Solar CRM. And we can create this token. So, we copy this, head over to our uh N8N here, and we're going to go back to our editor. Look

into the create lead tool. Create a new credential. Paste in the access token.

credential. Paste in the access token.

And you'll see, we need to make sure we have these ones. We've enabled all of these. We save that. It's tested it.

these. We save that. It's tested it.

It's working correctly.

Um we're going to remove the email mentioned here, generated a solar estimate.

For this, I'm going to delete these fields. We're going to set it as fixed.

fields. We're going to set it as fixed.

We're going to go by URL. Um it's going to be create a record, which is what we want. Then we're going to head back over

want. Then we're going to head back over to our um base here. Go back. Back. Back. Pop back

base here. Go back. Back. Back. Pop back

into our Smith's Solar CRM. We're going

to grab the URL here.

Hit back.

Paste this in. [music]

And there we go. It's loaded in. You can

just paste that same URL again. It's

going to automatically populate these variables. So, the name is going to be

variables. So, the name is going to be uh we can add here lead full name. Oh,

the date and time, actually, it's going to be automatically filled, so we can delete that. The phone is going to be

delete that. The phone is going to be lead.

That's always what it's doing. Monthly

bill. And for these, I think we can uh set this to an expression. We can add the session ID in there as well. And then we are pretty much good to go. We've got a description here. We've set the description of the

here. We've set the description of the tool. Then, pretty much ready to give

tool. Then, pretty much ready to give this a spin. If we save that, we go and click this reset chat button, and say, "Hey man."

"Hey man." I'm going to grab this address again.

I want an estimate broski. Ed Eddie is this and I pay like see if we can get a bit tricky with it a bit slang. 200 a

month my bro.

See if it's a little bit flexible and intelligent with the potential slang it's going to receive. It's not looking good both. What are you even doing

good both. What are you even doing there? Okay, something's not working

there? Okay, something's not working here. I'm going to stop it. Oh, it did

here. I'm going to stop it. Oh, it did actually respond to it eventually. We

can go sure my name is Leon Killsbury and I my number is not sure why it's not showing us these things popping up one

by one which is not ideal but seems like it's working away in the back end.

There we go. We got Leon Killsbury popped into the CRM here. If we delete this, we've got his name, number, the address, the monthly bill, the latitude, the longitude, the estimated annual sunshine hour or whatever that is,

energy estimated monthly energy annual and monthly energy, max panels, and the notes, and the chat session. So, we're

successfully logging the information in the CRM. Big win. Key skill for you guys

the CRM. Big win. Key skill for you guys to know is how to interact with Airtable. It's such a versatile thing to

Airtable. It's such a versatile thing to be interacting with. You know how to now write information. Retrieving

write information. Retrieving information is a bit different. We're

not going to be going into that just yet but for all intents and purposes, we are 95% of the way there. We're just going to add on our knowledge base now and then hook it on to the N8N chat UI which is going to allow us

to quickly put this on to a web page so that our client's customers can interact with it. All right, so now we need to

with it. All right, so now we need to make a separate section of this workflow to do the knowledge base and that's going to start with a new node here which is a form. Now, N8N is a little bit trickier than other platforms to set

up these knowledge bases but it is worthwhile in the end. So, I'm going to show the

the end. So, I'm going to show the easiest way to just get some information or a couple document put into a knowledge base, a quite basic one for you to use for your first clients.

There's all sorts of layers of complexity here like rag and vector databases and so on but for now we're just going to keep this nice and simple.

So, we're going to go going to go to AI here. Going to find a document loader. I

here. Going to find a document loader. I

believe it's what we're looking for here.

Well, that's one part of it. Then we're

going to add in a vector store here.

Simple vector store. [music]

We're going to add documents to vector store. Insert. We're going to create a

store. Insert. We're going to create a new one.

So, this is the key that's going to be basically the identifier of this vector store. So, we need to remember what that

store. So, we need to remember what that is. We've just created a new one called

is. We've just created a new one called tutorial in this case. We're going to insert some documents.

Then we're going to connect this document to this default data loader.

We're going to add embeddings. We're

going to use might as well use some Google Gemini ones in this case. Gemini

embedding 001. We're going to set this to binary. We're going to have simple

to binary. We're going to have simple splitting on and then we are pretty much good to go. Okay, so what's happening here is we're going to be able to upload a document to a form in a second. It's

going to push it into this vector database and insert it, convert all of the information into binary which is the way that the computer is going to be able to read and understand it. We're

going to be using a data loader here to essentially chop up that document which I'm going to give you guys in the resources. Just a an AI generated Smith

resources. Just a an AI generated Smith Solar context document talking about the business and what they do. It's going to chop that into chunks and what a knowledge base for a vector store does or a rag system which is known as

retrieval augmented generation, that means that at the time of generating an answer, we are essentially [music] retrieving some information and augmenting the generation with that information. So, in this case, it's

information. So, in this case, it's going to be chopping up the document with the data loader. It's then going to be running each of those chunks through this embedding model which basically converts the meaning of that chunk into

a multi-dimensional coordinate. Imagine

it in just 3D space. If you have like a cube, certain things will mean say a dog might be here and a cat might be here and an airplane might be here. The

closer they are within that multi-dimensional space, easiest to imagine it as three-dimensional, that means that those things are similar.

Therefore, the chunks about the company and their history or the services or say the services and the pricing might be relatively close together whereas ones about I don't know their vision or mission might be a little bit different. So,

this means that when we ask a question and the agent uses the knowledge base, it's going to be taking in the question from the user, running it through the same embedding model which you'll see we set up in the second. That means it's going to be able to relate the message

from the user to the information in the knowledge base. It'll say, "Hey, we've

knowledge base. It'll say, "Hey, we've got this question. What have you got that's similar to that kind of content?"

If it's about the services or pricing, it's going to find those things in the vector space, pull them back down, and then give them to the agent when it comes to actually writing the answer.

So, that's a basic of a retrieval augmented generation system using a vector database and what's called semantic search. Might seem a bit

semantic search. Might seem a bit complex but there's plenty of videos breaking that down a lot more simply.

I've given you the high level of what you need to know there and we can just jump into actually putting some information into this and then connecting it up to our agent.

So, we don't want any authentication.

We're just going to call this upload docs to Smith Solar knowledge base.

Yeehaw. Form elements, this will be a file. This will be a Actually, let's

file. This will be a Actually, let's just leave it as all file types. In this

case, let's go doc. This can be a required field. This will be

required field. This will be So, we can save this. We can execute the workflow. Going to pop this up for us.

workflow. Going to pop this up for us.

We can choose to Actually, let me pop up pages. So, this is the document here.

pages. So, this is the document here.

I'm just going to export it to a docx in this case. This will be available on the

this case. This will be available on the school, of course. [ __ ] bunch of information. Each of these chunks will

information. Each of these chunks will be see the battery storage if they're asking about their installation process.

It will be able to find and retrieve this segment.

And so now we have this. I can choose the file. I go to downloads. Smith Solar

the file. I go to downloads. Smith Solar

KB in a Word document. I upload that, submit it. Now, the workflow

submit it. Now, the workflow successfully executed. Open up this. We

successfully executed. Open up this. We

now have how many different chunks. Page

content. See here we have our different chunks and this must go on for quite a long time. So, it's essentially chopped

long time. So, it's essentially chopped up the document into chunks and it's going to then load it into the vector store using this based off the embeddings that Google has provided. And

now the final step for this is to connect up our vector store on the chat agent. We can go add another tool. We

agent. We can go add another tool. We

can go to simple vector store as we had before. Retrieve documents. We want

before. Retrieve documents. We want

[music] the two call this to access a knowledge base of for documents containing answers

information. Now, we want to change the

information. Now, we want to change the vector store key to the tutorial one we just set up. Limit is the number of chunks it's going to return. So, we

probably only want I mean probably the top two to be honest.

In this case, we don't want it to re-rank. And then we're going to set up

re-rank. And then we're going to set up the embedding model to be the same one.

You have to use the same one with Gemini and we've got that one selected there.

Now, it's getting a bit messy. I don't

like this. I like having my vector store in the middle here. Pop that down there.

Select this. Pull this bad boy down. And

now we are looking a bit better and a bit cleaner, aren't we? Little bit OCD here. Never hurt anyone. Now, we are

here. Never hurt anyone. Now, we are good to go and give this a spin. Save.

Open the chat. Start a new session. Hey

man, where are you located? Remember we

had this information in the prompt here that we needed to change. So, knowledge

base. We're going to cut this out. We

just say, "You use your knowledge base vector store tool to search for answers to questions about solar."

Save that. We're going to start a new session. Hey man, where are you located?

session. Hey man, where are you located?

If we pull up our document here, should say Central Texas. [music] And we have

Central Texas. [music] And we have Central Texas in here somewhere. What's

another question we can ask? What

inverters do you offer? Microinverters.

And there you go. We are successfully answering from the knowledge base. We

have got all of the functionality completed for this build now and it's all nicely fit onto one canvas here which is always nice. So,

that is the entire build. The last step now to take this, connect it to N8N chat UI. We're going to do that now. Righty.

UI. We're going to do that now. Righty.

So, now the final step, we're going to go on to n8nchatui.com.

We can go down here to start designing my free customized widget.

[music] And we want this to be a pop-up. We can change the colors around.

pop-up. We can change the colors around.

Let's say cuz it's solar, we want to make it orange. That's orange. [music]

Circle looks nice. See we're editing it down here. Make it You can change the

down here. Make it You can change the icon for now. I don't think we need to worry about that. Order radius. Don't

need to worry about that. Bubble size.

Maybe we want to crank that up a bit.

The tool tip. Say put a little message there. Window itself.

there. Window itself.

Border radius style. Avatar size. It

looks a bit gross when it's too big. Not

going to worry about the starter prompts and stuff for now. You guys can play around with that as you like. Don't need

to accept files. Let's down enable file uploads. Enable voice input. No for now.

uploads. Enable voice input. No for now.

Think that it's rounded. Don't really

like those colors.

Can't change the footer. It's already

got the branding in it. So, you need to pay to activate this so you can get it without the the branding. That's pretty

standard. Once you're in there we can change that [music] hideous orange color there. Background color.

there. Background color.

Okay. Let's make this gray one. Make

this look like an iPhone maybe.

We want to change the text color to white, I think. No, that's not Oh, my god. That's not what we wanted to do.

god. That's not what we wanted to do.

Text color for this should be black.

Black. For the user message, we want the text to be There we go. Maybe make it a bit bluer. I'm sure you guys are big

bit bluer. I'm sure you guys are big enough and ugly enough to figure this out. It's just playing around with the

out. It's just playing around with the settings. We can go Smith Solar

settings. We can go Smith Solar assistant and then we can close that down. That

all looks very good. Now, we need to connect it. We can go to our Solar

connect it. We can go to our Solar Legion chatbot here. We want to save it.

We want to open up this.

We want to change this to publicly available one. Make sure that is

available one. Make sure that is publicly available. We want to turn this

publicly available. We want to turn this on and active.

Make sure we've got that copied and we're going to hit back over to this.

And then we want to test it see if it's working. Great.

working. Great.

And we're getting our functionality working correctly in here. I'd probably

shrink the text size down a little bit, but for now we can just go to embed, close this down, copy it, and then what you want to do is head over to the site here which

is which is just called a playcode HTML.

You get this free online HTML editor.

You can just go to the editor directly, and then we have this here. Going to

close out of the AI chat. Going to go into the index.html. Let's just get this guy [music] to piss off. We'll close

this, and we can scroll right down to the footer. Actually, not to the footer.

the footer. Actually, not to the footer.

We want to go above it. So, this is the website code. Might look a little bit

website code. Might look a little bit scary here, but basically you want to look for where the body starts, and we want this to be the last thing to load on the page. So, we're going to scroll down to the end of the body here, and we can put it in here. Paste in that

segment, we save it. Well, we should be able to go back to the preview. If we

get rid of this somehow, I don't know why this founder guy won't leave me alone. Anyway, you can see here we have

alone. Anyway, you can see here we have our chat widget, and if we type "Hey man, nice website, bro." But you get the idea. Look at this behind it. We can

idea. Look at this behind it. We can

chat to it. It's going to have the same functionality as we had on N8N there, but that is the end of the build. We

have successfully put our Solar Legion chatbot onto a website. We have our document loading here. We have our workflow within a workflow here, and it has all been set up. We get to see the debugging process here and there

throughout that using the GPT and the relevance tool, and going back and forth with the N8N AI to get our final result.

Let's get on to the next build and see how it connects to this one as I could build on for it that you can sell to your clients. This template will be

your clients. This template will be available on school for you guys to download if you want the full version.

All right, guys. Getting into build number three now. We're going to be working on a speed to lead system that connects directly with the last build that we did. Now, this is a really valuable thing to learn how to do because there's all these stats around

it. You can pull it up. Basically, if

it. You can pull it up. Basically, if

you can get back and respond to a lead who's shown interest in your business or your offer or your services, if you can get back to them within like two to five minutes, the conversion rate on those jumps by like four or 500%. I'll put the

exact stat on the screen, but it's pretty ridiculous. And for business

pretty ridiculous. And for business owners, it's basically like free money if you come to them and set up a system like this. So, it's a great one to

like this. So, it's a great one to learn. This is a like one way of

learn. This is a like one way of implementing it. This is with a voice

implementing it. This is with a voice agent, but we're going to be walking through the same process that I've been showing you. We're going to be speaking

showing you. We're going to be speaking it out with the GPT here, getting clear on it, doing a bit of research, figuring out the best approach, and we're going to be putting it into our automation brief generator here, popping over to N8N, and then also we're going to be

going to Retail, where we're going to be setting up a voice agent, and that's going to be the platform that we use to allow them to call us, chat to our AI agent over the phone. It's going to ask them a bunch of questions, qualifying

questions as they're known, cuz basically when you have say someone interacts with the chatbot that we made in the last video, we now have a bit of information on them, but we don't know if they're a great fit for what we're offering. So, this is a qualification

offering. So, this is a qualification step, very common across businesses because often times you're going to have a limited capacity, or you'll have an offer or a service that is like tailored and suited to someone. At some point you have to narrow down your product and

offering to be able to better suit certain people and also maintain some sort of operational streamlining because if a business offers everything to everyone all the time, they don't have many

repeatable processes. So, businesses

repeatable processes. So, businesses tend to niche down towards serving a certain group of people with certain sets of needs, and that is why a qualification in this form through a voice agent is such a essential part

that you can basically sell to any business. So, for [music] this

business. So, for [music] this particular speed to lead system, they're going to give us a call. It's going to be a little bit different to how you'd normally run one of these. Normally,

you'd use an outbound voice agent. So,

voice agents there's two different types, outbound being we are sending the call. So, I am calling you. Say you've given me your

calling you. Say you've given me your phone number on say the [music] chatbot we made previously. As soon as that phone number lands in my airtable or my database, I can automatically send an outbound call to you, and you pick up,

and it goes, "Hey, this is Wendy from Smith Solar. You just got a quote from

Smith Solar. You just got a quote from us. I'm just reaching out to follow up

us. I'm just reaching out to follow up with a bit more information, see what you're interested in, and explain some of our packages and services to you. Do

you have a moment?" And so, we can chat back and forth, and like if you're new to this stuff, that might sound crazy, but it's very, very easy to get that kind of chat functionality going over the phone. But there is a bit of a

the phone. But there is a bit of a gotcha here, and that there's starting to be a lot of regulation around voice agents, whether it's [music] inbound, outbound, robo calling, all sorts of stuff. But the main thing that you need

stuff. But the main thing that you need to be aware of is that outbound calling in particular is particularly strict and in some countries as well. So, there's

laws in the US, there's You can You can be sure that there's a whole lot of laws in the regulations in the EU. So, you need to be aware of what

the EU. So, you need to be aware of what the laws and regulations are in the area that you're building in or the where the business is based that you're helping.

That's an important thing. But as it pertains to this build that we're doing, it means that we're not going to actually go through the outbound setup because you're going to need to do all sorts of verification depending on where you are. You might need to send your

you are. You might need to send your company verification and do all of this rubbish. So, to keep this nice and

rubbish. So, to keep this nice and streamlined, we're going to slightly tweak the speed to lead build. We're not

going to be reaching out to them after they fill in that chatbot. We are going to be expecting that like yes, we've got your number now. Thank you from the chatbot, but we're going to pretend that we didn't reply back to them in the

chatbot with, "Hey, here's our phone number. Give us a call." So, we're

number. Give us a call." So, we're flipping it from an outbound to an inbound call, where we're going to be waiting for them to call our number.

That's going to make it so much faster and more streamlined to get set up. But

because I'm like that, I'm going to be giving you guys a little snippet that you can very easily add onto your N8N template. I'm going to include it

N8N template. I'm going to include it with the final template for this build that if you wanted to switch it over from inbound to outbound and turn this into a proper speed to lead system, and you want to go through all of that setup and verification process that can get

quite complex, to be honest, then it is there if you actually want to try and go sell this and and implement it. So, So,

that's a rough overview of the build.

They're going to call us. We're going to ask them a few questions using a Retail voice agent, and then we're going to analyze the transcript that comes out of that call, decide if they are qualified or not based on the criteria, and then we're going to update the lead in the

airtable. So, automated system, they

airtable. So, automated system, they call, we check if they're a good fit, and then we update the lead in the airtable. So, for example, in the next

airtable. So, for example, in the next build we're going to be talking about how a sales rep would take that information. They'd have these qualified

information. They'd have these qualified leads in front of them, and those are the people they'd be hopping on calls with. So, it all ties together really

with. So, it all ties together really nicely, super valuable, and you guys are going to be able to go sell the hell out of this thing when we're done. So, stick

with me cuz we're getting there. So,

first things first, we need to explain to the AI automation CTO here what we're looking to do. So, we can explain basically what I've just said to you here. "Hey man, so I am trying to create

here. "Hey man, so I am trying to create an AI automation with N8N that is going to act as a speed to lead system, and we're going to be using a uh Retail voice agent. We're going to set

that up as a qualifier. It's going to be prompted to ask questions about the user, and then from that we'll take the transcript, and we're going to be web hooking from Retail. So, at the end of that call,

Retail. So, at the end of that call, we're going to fire a webhook, and we're going to catch that webhook in N8N, and then from there we're going to want to check that phone number against a lead that's already in our airtable CRM. So,

we're going to want to look up and make sure that the person calling is someone that has already filled out our chatbot that we've collected their information from previously. And so,

there's a little check there to make sure the caller matches up with some lead in our database, and then we're going to run it through a basic LLM step and analyze the call transcript that came from Retail, and we're going to

look for certain features that means that they're qualified for our offer.

That would be things like being in Texas, having enough budget, having a house that all of they own. And that LLM step is going to spit out a qualification as true or false, and then

we're going to update the CRM with either qualified or not qualified. And

that's the end-to-end pipeline for this build. So, can you ask me some questions

build. So, can you ask me some questions to get clear on this? Then if you need to, you can do some web searching to figure out the best way to implement this. So, there we go. It's doing a bit

this. So, there we go. It's doing a bit of a search for us to help us prep for this. And obviously in this case, I've

this. And obviously in this case, I've given it a pretty specific outline, but the great thing about these is like you could just state, "This is what I'm trying to do." And in this case, it's a very clear use case. It's a speed to lead system. It's quite common. But in

lead system. It's quite common. But in

your case, I'm teaching you these skills so that you can Maybe you could just take the whole transcript from a discovery call you do with a client and just stuff it in here and say, "Hey, help me figure out what I could build for them and get back to them with a couple proposals." That's a great way of

couple proposals." That's a great way of doing it as well. Now, it's asking us some clarifying questions. So, which

event are you firing into N8N? We're

going to fire in the call ended the fields in the payload. So, that's the information that is being sent from Retail over to N8N. But that is going to be just the phone number and the transcript. That's all we really need.

transcript. That's all we really need.

The airtable source of truth for matching callers is the phone number.

Yep. So, we're going to have already collected the phone number from the previous stage where they interacted with the chatbot on our website. They

gave us their phone number and their name, and we collected a bunch of other information about like their address and their monthly power bill and stuff, but that's not super relevant. The main

thing is that we have their name and their phone number, and that's going to allow you to match it. So, yeah. The

name The name is probably going to be a lot harder to match because they may say it differently over the phone, or the transcription won't pick it up correctly. So, the We really need to

correctly. So, the We really need to rely on the phone number as the way of matching up the callers to the existing leads. So, we just transcribed it all in

leads. So, we just transcribed it all in there. Man, if you guys aren't using

there. Man, if you guys aren't using Whisper Flow, I don't know what you're doing. I'm I'm yapping to my computer

doing. I'm I'm yapping to my computer all damn day at this point. So, here's

the recommended outline. The webhook

trigger. Yep, that makes sense. A

responding to the webhook. I guess, sure if you want. Normalize the phone with a code node. Airtable, find lead. Yep. So,

code node. Airtable, find lead. Yep. So,

we're going to take that phone number, and we're going to check in the airtable database for that phone number. If

there's no match, it's going to mark it as an unmatched caller and stop. If it

is found, then it's going to go to the LLM qualification step. Going to send the transcript and any information, and it's going to force a structured output so that we can look to detect this. And

we could also put some more information into the CRM, which is actually going to be pretty helpful. Which can actually be super valuable to the business owner at a later date because they can do an analysis of this data, of all the leads that they had, and determine what's the

qualification rate, what are the most common reasons for not being qualified, why are we getting all these leads that are not qualified, why are we getting people who are not in Texas. So, it's a good thing a good practice for you as an

AI automation agency owner or freelancer to be thinking about this from their perspective as well. How can I give them more than more than they asked for, more than just a speed to lead system? How

can I give them an insight into their data like this? It's a It's a great thing to be trying to do. And then if it comes back as qualified being true based off the criteria we put into this LLM step, then we're going to update the airtable lead. So, that all makes sense.

airtable lead. So, that all makes sense.

Couple design choices that matter so you don't paint yourself into a corner. Just

to confirm with the call analyzed versus call ended. If we just need the

call ended. If we just need the transcript and the phone number, do we really need to do the call analyze step, or can we just use call ended? Phone

matching will make or break this. Yep.

Again, this is an MVP, so don't worry about making it too robust. For the

qualification, they need to have at least $10,000 ready to put up for this, and the rest they can get in a loan. And

drop that in there.

So, this practice of working with an AI to define the scope as such a valuable skill. I'm finding myself using it over

skill. I'm finding myself using it over and over and over again. When you can give it a like a a goal, "Hey, I want to do this." and you ask it to ask you

do this." and you ask it to ask you questions until it's able to clarify exactly what you're looking for, you can push it in the right direction. It can

do searches of the web, pull information in. You can say, "Hey, I'd like to do it

in. You can say, "Hey, I'd like to do it like this. Here's a video I found. Can

like this. Here's a video I found. Can

you get the transcript?" Well, at least not within the GPTs here, but you could go get the transcript yourself, put it in. You just bring as much context in

in. You just bring as much context in there and get it to dig through it until you agree on the scope for whatever you're trying to build. And this goes beyond just AI automation. Anything

you're building with AI, anything you're doing with AI, it's a very very good skill to have. Getting it to ask you questions and confirming the scope of what you're trying to do. Okay, so now I've got this information here. I'm

going to screenshot this as usual.

Now, I need you to fill in all of these fields. Give me a a value for each of

fields. Give me a a value for each of these fields so that I can paste across so I can run this tool to create the brief.

The it the phone numbers will be stored in airtable with the plus format. So,

it'll have the area code or the country code, sorry. So, it will always have the

code, sorry. So, it will always have the plus added to the front of it. If

airtable returns multiple leads, don't worry about airtable returning multiple leads with the same phone for now. This

is just an MVP.

All right, so I can just start copying these over. And here, it's recommending

these over. And here, it's recommending open AI for the AI provider. I am

actually going to just tell it to not do open AI because we've already set up our Google, so let's just keep using Google.

You guys can figure it out now how to get your API key. It's pretty

straightforward. You sign up and create an account, and you can find your way to the business or developer platform, set up your billing, and get an API and get an API key, so that's not too difficult.

Let's go Google and the usage pattern, model preference. Let's just grab this.

model preference. Let's just grab this.

Google to Gemini 2.5. Let's Let's see if it'll get it this time. So, we can just copy all of these, drop them in here, and run. While that's cooking, we can

and run. While that's cooking, we can come over here. Back to N8N. We can

create a new workflow. Kind of pop open the N8N AI.

Scroll down, view all.

Unformat that, copy all of this down to here. Oh. And then, drop it in. This is

here. Oh. And then, drop it in. This is

such a completely different experience to when I first got into automation, and I'm so glad that you guys are joining now. And like this is this isn't even

now. And like this is this isn't even like the cutting edge of using AI to build the stuff. And I don't want to overwhelm you guys with with the very very very latest stuff.

This is really what you need to start thinking in the right way. Very simple

set of tools that are free to use or very very cheap to use. There's a lot of more like more advanced paid tools that you guys can get into, but it's becoming a very very very good time to be a builder because because anything that

you can think of and explain to an AI, it can help you to figure out how to do that. And it's a bloody awesome time to

that. And it's a bloody awesome time to be alive. All righty, so we're looking

be alive. All righty, so we're looking pretty good already. It's pretty much one shot of this, which is great.

Um what else have we got to do? Just

configure these. Airtable base ID, airtable ID for leads. Look on this bad boy. Get out of here. Airtable base ID

boy. Get out of here. Airtable base ID and airtable table ID. It's easy enough.

So, we can get back over to airtable, go into our Smith Solar CRM. Now, one thing I may do is just click this, copy that, hit back to our buddy the GPT. Say,

"Here are the rows or the columns, sorry, that are on my spreadsheet right now in on the airtable, sorry. Is this

set up correctly or do I need to add some more columns and jiggle things around?" It looks like it hasn't grabbed

around?" It looks like it hasn't grabbed that top row. I'm just going to have to screenshot these.

I could do this manually. I could just look through and see what the fields are, but we're getting next level lazy these days, and I'm totally here for it.

If you want to get extra lazy, you can do this. Okay, can you please give me

do this. Okay, can you please give me that in a CSV format? I need the entire CSV header row so that I can input that CSV into airtable and set this up in one

shot if possible. I don't know how you do it, but it needs to automatically detect the correct kind of field so I don't have to go through and manually update all the field types. I

don't think that last bit's possible, but yeah, won't reliably auto detect fields from this alone. Now, this is what's called CSV or comma separated values. So, basically you have a whole

values. So, basically you have a whole bunch of things that are separated by commas, and these determine like the different columns, right? So, name,

created time, and then [music] name is here, the created time is here. And then

what we can do is say, let me download that CSV. So, it's now just going to make it into a little file for us, give it to us to download.

Great, so we've got the CSV now. We hit

back to airtable. Just going to make a import new table CSV file local file.

Bam. Upload that bad boy. Import your

file, create a new table just for the sake of this. Can I have it got it right? Looks like pretty much good, I

right? Looks like pretty much good, I think. Name, created at. It should be a

think. Name, created at. It should be a phone number, probably, mate. Come on

now. Think we could probably not worry about that fancy phone number in the format. Get rid of that. Address. I

format. Get rid of that. Address. I

don't know why that would be a select, mate. Same

mate. Same monthly bill. Number number number

monthly bill. Number number number number number long text. Probably don't

need a long text for that. Qualified,

yes or no. Qualification meets criteria.

Yep. State can be a short text. Cash

available, number. Last call, long text.

[music] Yep. Last call at. Last call ID can be a single line text. This can be a single line. I guess that's actually a

single line. I guess that's actually a select. So, I've got a qualification

select. So, I've got a qualification values here. Here's qualified overall,

values here. Here's qualified overall, home owner, yes, state, cash available, and then whether the call matched up in the database or not. So, we can import that. All right, so now we can delete

that. All right, so now we can delete the old leads table. Just get that out of here. You normally wouldn't do it

of here. You normally wouldn't do it this way around, but this is just a lazy way, if I'm honest. Qual leads again.

So, now, as we were doing, we need to get the airtable table and base ID, which can be done in here, I believe. I

would say that this is the table or the base, sorry. And this second one, so if

base, sorry. And this second one, so if you just double click, you see it can select these chunks. This would be I don't know, the workspace. This would

probably be the base room, and this and this would be the table. So, let's grab that. See if I got it right. Our phone

that. See if I got it right. Our phone

name. Now, I don't know what this phone field name is, so I'm just going to ask it. Um ask, "What is the phone field

it. Um ask, "What is the phone field name in the workflow configuration step?"

step?" Got you. Got you. Got you. See, so it

Got you. Got you. Got you. See, so it can help you figure out what the hell's going on here. So, basically what we have here is a a search airtable search, and it has a formula called a filter by formula. These can be quite tricky, but

formula. These can be quite tricky, but AI can help you write them. Basically,

it's saying we want to filter the airtable database by phone. So, what

it's trying to make sure is that when we are looking in the the columns of the airtable, we need to get the exact right name in order to have the the filter by formula return the right value. So, here we have phone, and

right value. So, here we have phone, and it's just spelled phone, and we have phone here. Now, I don't really know why

phone here. Now, I don't really know why I'd need a but the filter Now, I'm asking it, "Is this redundant because we don't seem to be putting an expression?" So, you'd think that these

expression?" So, you'd think that these brackets would be also in here. So,

yeah, that's redundant. Great. Good job.

See, we still got the edge on this AI, man. Like they're they're not all that,

man. Like they're they're not all that, you know? Not just yet, buddy. Not just

you know? Not just yet, buddy. Not just

yet. So, this is actually not doing anything as far as I can tell. Oh, no,

no, I think it it actually modified it.

Yeah, so there you go. If you hide this, buddy, you can see now it's taking the phone field name equals the value from equals the value from the actual phone call. So, it looks a little more

call. So, it looks a little more complicated now, unfortunately, but that makes it a little bit more resilient if you were to change things around. So,

let's just do our usual walk-through of the build to make sure we understand everything. So, Retail AI uh call ended

everything. So, Retail AI uh call ended webhook. So, we're going to need to set

webhook. So, we're going to need to set this up within Retail in a second. It's

post. This [music] is just some basic information here. That's all good. And

information here. That's all good. And

then we have a respond 200 okay. So,

this means that it's going to fire back to Retail to let them know, "Hey, look, everything's all good. Like you don't need to keep keep trying to keep trying to send stuff our way. Everything is

okay. 200 response." [music] Um there's different response codes on the web. Uh

200 is okay. So, basically an app will send back something like like it might send back a 404. You might have seen a 404 error code when you try to go to a web page that doesn't exist. It sends

back an error code which loads in your browser as like 404 error. In this case, we're just letting Retail know, "Yeah, mate, got it. Thank you."

And it can move on. Then we're going into setting up some workflow variables as we've done before. Getting into this practice of setting them here so we've got one place rather than having to dig through five different nodes. Like do

all these different airtable nodes we'd have to dig through. So, we're just variable-izing variable-izing? Is that a

variable-izing variable-izing? Is that a word? I just made it a word.

word? I just made it a word.

Variable-izing these values so that we can reuse them later on and easily change them. As we just covered this

change them. As we just covered this phone field name, a little bit overkill, but does a job. And here is an easy way for us to change that qualification criteria. If say the owner owner said,

criteria. If say the owner owner said, "Hey, no, our new criteria is $12,000."

we could easily come in here and change this. So, that's all good. Normalize the

this. So, that's all good. Normalize the

phone number. So, this is a helpful step. This is the difference between

step. This is the difference between using an AI to generate it and just doing it yourself. If I'd shown you guys the manual way to do this of just like node after node after node, we definitely would have skipped this. So,

AI can be very helpful to think through all the possible edge cases. As you saw even in the GPT, I like, "This is an MVP. Don't stress it too much." cuz

MVP. Don't stress it too much." cuz

otherwise it gets a little bit too complex. But, it can really really think

complex. But, it can really really think through all the edge cases and help you to build something that's much more production ready straight away within your first attempt. So, this is just returning a normalized phone number. So,

I think it's Yeah. So, it's So, it's using a regular expression here and getting it formatted. So, that's just a nice checking step. Not too difficult.

You guys don't need to know that. You

could ask the AI to explain that code to you, but it's honestly nothing that interesting. Then we're going to search

interesting. Then we're going to search the airtable for that phone number so we can connect up the person we chatted to on the website up with the person who's calling. So, it's going to be passing in

calling. So, it's going to be passing in that base and table ID that we got earlier. We've got that filter by

earlier. We've got that filter by formula that's going to basically look at the whole sheet and say, [clears throat] "Hey, if this value" in this case that phone part was the first bit here. This

part means if the phone field in airtable equals the phone number that we get from Retail, then return that to me."

me." [music] And we're just asking for the first one in this case. If if we did find a lead, and it's just doing a check of if it's if the array length is greater than I guess it's zero. Yeah. So, if what was

returned from this is greater than zero, then we're going to Oh, well, if it wasn't it's going to go down and log an unmatched call. [music] In this case

unmatched call. [music] In this case we're not actually doing anything with it. You could quite easily set this up

it. You could quite easily set this up to go into a separate table in the air table, but we're not really bothered with that right now. Then we've got the where the action happens. We've got our buddy Gemini 2.5 flash. Did they set it up this time? Nope, still can't get it

right. Pop that in there. I've got a

right. Pop that in there. I've got a Google account already set up. Then we

have this AI agent step, just a basic qualification prompt using the information we gave into that original brief. They need to be in the state of

brief. They need to be in the state of Texas. They need to be a homeowner and

Texas. They need to be a homeowner and they need to have cash available now at $10,000. Now here as you see, we could

$10,000. Now here as you see, we could again I'm not smart on this AI like over and over. Let's go expression. We have a

and over. Let's go expression. We have a bit of an issue here cuz look at these things these are not variable-ized. So

if we go into our workflow configuration a bugger. We're going to have to do it

a bugger. We're going to have to do it later. Actually no, let's try doing it

later. Actually no, let's try doing it now. Unfortunately we're going to need

now. Unfortunately we're going to need to wait until we actually get a webhook from Retail to test this properly, but what we're going to be able to do is come back in here, pop this out and then change these to variables based off this workflow configuration. So when we

workflow configuration. So when we change it at that node it will automatically update these like I was mentioning. So that's going to make it

mentioning. So that's going to make it easy to manage for us moving forward if our client makes any changes to the qualification criteria. So qualified,

qualification criteria. So qualified, calculate if the lead is based on state Texas and homeowner true and cash available is greater than 10,000. If any

value is unknown set qualified to false.

So we've got a clean qualification prompt there. Again didn't have to write

prompt there. Again didn't have to write that, that was all included in the information that was given to us [music] from our N8N prompt that we generated.

So stop that there. Uh Then we have our structured output parser. So that's just a fancy way of saying this output so that I can play around with the variables afterwards. So again this has

variables afterwards. So again this has been done by the AI, nice and easy. But

basically it's going to be taking that output from the LLM and ensuring that it fits into [music] this shape here and if it does, then we're going to be able to get them and play around with those variables. Then

we have the final step which is updating that lead record. So if they've been qualified we want to update it in the CRM so that [music] the sales team who's going to be in basically interacting with the next phase of this build in the final build we're going to be doing, they know that

that's qualified and they're ready to go and they can go in there and close. All

right, so with that looking pretty tidy.

I'm pretty happy that we were able to one shot that. Now we can go over to our buddies at Retail retailai.com and what we're going to be doing is create an account or in my case I'm just logging

in. You can try this for free.

in. You can try this for free.

All right, so once you've made your account on Retail you'll see something a bit like this. We're going to want to go up to create a new agent. We're going to do a voice agent. We're going to click on a single prompt agent. Maybe I'll

zoom this in a bit for you guys. And

then go next. And then we're going to come in here and give you a little bit of an orientation on Retail, right? I'm

going to zoom out actually so we can see everything in this little tiny screen I got. Hope that's not too zoomed out for

got. Hope that's not too zoomed out for you guys. It's a quick run down of how

you guys. It's a quick run down of how voice agents work. They work the same as any other text based agent. We need to give it a prompt that determines how it functions, who it thinks it is, how to behave. Kind of the glue that holds

behave. Kind of the glue that holds everything together. And just the same

everything together. And just the same way we have a knowledge base that we can add in so that it knows how to answer questions from a knowledge base. We can

set up custom tools like being able to in Retail's case quite easy to set up a booking over the phone. I actually did a video on that if you want to watch that I'll put that up here. So it's actually able to book calls in real time with people. So in this case we're just doing

people. So in this case we're just doing qualifications so we don't need to Actually you could technically if they were qualified you could add another step on the end that finds in a time that's available for them and books them

in directly with the closer or the sales team. In this case we just want to

team. In this case we just want to qualify, but you could add that on.

Maybe that's a little challenge you do after this. After this whole tutorial

after this. After this whole tutorial when you've done everything you can go and watch that other video of mine, come back and try to add on a real time booking ability so that you can make this even more powerful. But for now we don't need to worry about functions, but

they are how you create the most powerful functionality in here. We have

speech settings which you can go through and we'll have a play around with real time transcription settings, a bunch of other stuff in here. The main thing we want to look at is webhook settings.

This is what we are most interested in.

While we're here we may as well grab that. If we go back to N8N we're going

that. If we go back to N8N we're going to click on here. We can copy this, head back to Retail and we can paste it in here. We are basically telling Retail

here. We are basically telling Retail when we first set this up on call ended, when the call ends, we're actually Just to be safe I'm going to use call analyzed make sure that they've completed the transcript. We go call

analyzed there. When the call has been

analyzed there. When the call has been analyzed and the call has ended, it's going to ping this URL which we're going to be setting when you like actually run your N8N automation you switch it to live. It's going to be sitting there

live. It's going to be sitting there waiting and waiting and waiting and waiting for someone to knock on their door. And when a call ends [music]

door. And when a call ends [music] Retail is going to know to go to that address, knock on the door and say hey mate, [music] you asked me to come talk to you every time a call was finished and was being or had been analyzed. Here I am I've got

a bunch of information, go do whatever you want with it. And we have the webhook timeout here that links up to this response node. So like so when this pings back to Retail it's going to basically respond and as you can see here Retail is going to be waiting for

us to respond. So just a bit of back and forth to make sure they know what's happening, we know what's happening.

We've got this put in here now. We may

as well give it a test. We head back and we uh By the way guys if you are wondering how I'm scrolling around with this, if you're on a trackpad it's pretty easy. If you're on a mouse and keyboard, if you hold the

command key on your Mac or whatever thing but you can scroll in and out and you can kind of like move around. So

what we want to do is to execute this workflow. It's going to be waiting for

workflow. It's going to be waiting for us to call the test URL and then we go test.

Boom. It's going to grab that information, crank a doodle. And so

looks like this failed due to our base and table ID so we're going to have to circle back to that in a bit to fix that. But it worked and we did receive

that. But it worked and we did receive some information. Come here. Here is the

some information. Come here. Here is the information that came out. So you So you get to see the kind of information that Retail is going to be sending back at the end of the calls. We get all this information. In this case it's a call

information. In this case it's a call started event whereas the transcript tool calls. So this doesn't have much

tool calls. So this doesn't have much data in it at all. Pretty empty. We're

going to be giving it some data to work with in a second, but we connect it up.

When a call ends it's going to be pinging over to Retail here. So that is a important step in this build. Now

continuing our orientation we have the model selector up here. Let's go for the 2.5 flashlight. We can play around with

2.5 flashlight. We can play around with the settings here. Temperature, just the randomness of the call. The lower the better and more predictable so we want it to be quite predictable. Can play

around with the voices here which we will do in a second and the languages as well. So we've got our testing panel

well. So we've got our testing panel over here which we're used to, but I think we're pretty much ready to just jump into our prompt writing. Now we

need to be pretty precise here because as we set up in that in N8N it's going to be looking for certain things in the transcript. So we need to make sure that

transcript. So we need to make sure that the agent is set up to ask questions and walk them through asking those sort of things to get that information out of it so we can properly qualify them. So as

always we're going to be trying to use as much AI here to help us as possible.

So I'm going to head back over to our buddy here and I'm going to say uh I'll grab our Smith Solar knowledge base which you guys will have had from the previous one, but it'll be on the school if not. And guys all of these chats are

if not. And guys all of these chats are going to be available and these prompts.

So if you want to just sort of copy exactly what I put into N8N then you can do that. I'll make sure I include those

do that. I'll make sure I include those for you guys on the on the school community. But we're going to want to

community. But we're going to want to ask uh the assistant here to write a prompt for us that aligns with the qualification criteria and so on. So

great. Now I need to write the prompt for the voice agent on Retail. I'm going

to give you a bunch of information um on Smith Solar as a company. But what

you really need to do is create a lean and mean AI qualification prompt for this voice agent, give it a character and so on. I'll provide some documentation on the best prompting methodology for these kinds of voice agents. But given what you know about

agents. But given what you know about this use case, given what you know about the business based off the information I'm going to provide below and also the prompting guide and what the transcript analyzer is going to be looking for, please write up a prompt for this voice

agent. So I'm going to dump a whole

agent. So I'm going to dump a whole bunch of stuff into here. If I go here is the Smith Solar knowledge base and I'm going to go to I think 11labs.com.

These guys had a pretty good prompting guide. I'll put this link in the

guide. I'll put this link in the resources, but I think 11labs has got a They're another voice agent platform. We

can just copy this whole page it's going to give us the best prompting methods. A

lot of what we I do with AI now is just finding the best context. Who's got it?

Where can I grab it? How can I put it into the chatbot's context? So we're

going to paste that in there.

We're going to say hello there qualification prompt from N8N automation. All right.

And then we want to give it context on this bad boy. Let's grab

this, hit back and then boom. All right,

so ChatGPT is taking its sweet time. I

don't know what's up with this thing lately, but it takes freaking forever these days.

Um Gosh that sounds so spoiled, hey. Can

you please send this to me in a markdown formatting in a code block so that I can copy it with all of the markdown formatting into the prompt for Retail, please. There we go. And

Retail, please. There we go. And

actually I can see here that it's missed a bit of context here. We didn't tell it too much about what happened in the previous step of us capturing the information off the chatbot. So what we need to do is give it a bit of an update on what happened before so it doesn't

ask stupid questions again like hey, could you give me your average electric bill? All right, so they've actually

bill? All right, so they've actually already had a conversation with a chatbot on our website where they were asked a bunch of questions or they asked questions to us and they were able to provide us with the address and their

electric bill and we gave them a quotation, a real time quotation of the potential solar savings. So they're

actually already interested, they've already shown interest in our solar stuff. They've already shown their

solar stuff. They've already shown their interest in purchasing with us by providing their phone number and their name. And so in this case we've actually

name. And so in this case we've actually sent our phone number to them in the chat there, told them to call us when they have time and they've called us after that. So we've already got their

after that. So we've already got their information about their address and their electric bill and their potential savings. That's already logged in the

savings. That's already logged in the CRM. You don't need to worry about that.

CRM. You don't need to worry about that.

So just focus on the qualification criteria. Let's try to keep this as lean

criteria. Let's try to keep this as lean and mean as possible. You've already

bloated this out. Strip it down. Make

sure it's nice and lean.

Now Now typically you would want to give it a bit more freedom so it's not as linear so that if the the person does ask questions about us with Solar or the business you'd probably give it a knowledge base, upload the document. We

could literally do that in Retail in a few clicks. But often times with

few clicks. But often times with prompting less is more because the more instructions you give it the more conflicted it can be. If you just give it a nice high level prompt and tell it sort of how it should behave there rather than getting in the real

specifics. The more specifics you give

specifics. The more specifics you give it the higher chance of it messing up when it gets into a situation that it doesn't know how to behave. So the the sweet spot is clear about high level and with enough flexibility to use the

knowledge base and and a clear goal that's been set basically to work towards that and it will get there eventually. That's what's That's what's

eventually. That's what's That's what's makes agents agents, right? They have

some sort of goal or purpose that you give them. So, we can copy this, come

give them. So, we can copy this, come back over to our powers at retail, paste it in there, give a little skim, and under 2 minutes confirm these points.

Yep, these are true, qualify them, and that they can speak they'll and tell them that they're special for follow up.

And you also probably wouldn't say, "Great, you're qualified." cuz it makes them feel like a a statistic in a in a in a system. So, So, you definitely play around with this prompt to make it a bit more suited to what they need, but I think we're good to go with this now, to

be honest. We want to change to AI

be honest. We want to change to AI speaks first, and we have dynamic message, cuz we've already told it here, it says, "Hey, thanks for calling Smith Solar, this is Sam." So, we're going to get the AI to speak first and come up with the first message. With all this

set up, we can actually give this a test. Give it a test. Hey, thanks for

test. Give it a test. Hey, thanks for calling Smith Solar. This is Sam.

[music] I just need to confirm a few quick details to make sure we're a fit.

Yeah, sure. What do you need? Are you

located in Texas? Uh yep, we're in Austin. You own the home where you want

Austin. You own the home where you want solar installed? Yes, I do. To get

solar installed? Yes, I do. To get

started, do you have at least $10,000 available now to put toward the project?

The rest can be financed. Yeah, of

course. Perfect, you're qualified. Next

step is a quick consult with our team to finalize options. A specialist will

finalize options. A specialist will reach out shortly. Anything else before I let you go? Uh no. What I mean like when when about might they reach out to me, do you know? I don't have an exact time frame, but they do tend to reach

out fairly quickly. Is [music] there anything else I can help you with today?

Nope, that's all. Thank you. Thanks for

calling Smith Solar. Have a great day.

Right, so if I'm honest, I would probably do quite a lot more work on this to get it being a lot more conversational, uh being a lot more flexible. I'd do a lot more testing.

flexible. I'd do a lot more testing.

But, for the purposes of the tutorial, that's all you guys need to get started.

This prompt will be included in the uh resources if you want to use it. I'd

highly recommend that you guys actually try to enhance it and make it a bit more advanced. You guys can play around with

advanced. You guys can play around with the voices here as well. I think we'll stick with this uh American sounding lady. Now, we need to pop back over to Innityn to get [music] things uh polished up here. All right,

and I just double-checked for our Airtable bases uh what the issue is here. So, we need to go back over to it

here. So, we need to go back over to it table here. So, the base is actually

table here. So, the base is actually this one. Should have known it has table

this one. Should have known it has table here. Uh so, the base, we can put that

here. Uh so, the base, we can put that in there. We go back, grab the table ID.

in there. We go back, grab the table ID.

So, this TBL, copy that, paste that in there. We execute step, figure that. And

there. We execute step, figure that. And

now that we've got some data in here, we can actually come over to our buddy here and do that little tweak we wanted to do. So, we can variable-ize, using my

do. So, we can variable-ize, using my word there. And we've got all of this

word there. And we've got all of this information that we probably don't need there. You go away. Uh min cash

there. You go away. Uh min cash required. Well, what was that before?

required. Well, what was that before?

Actually, here, let's just give me an example, but cash available now, uh and cash available now is equal to or greater than 10 than [music] No, not that. Delete that, and then put our min cash requirement in here. So,

that means it will automatically be updated when we make any changes. So,

that's pretty handy to do. Uh so, we can actually try to run this. Boom, so

that's worked. So, we've already got some Actually, we didn't need to do that at all. Now, the final thing we need to

at all. Now, the final thing we need to do here is actually get some real data running through here and make sure that it's able to update our lead information. So, the tricky thing with

information. So, the tricky thing with this is that we need to go back over to retail. We're actually going to need to

retail. We're actually going to need to uh publish this bad boy. Going to MVP.

Uh we can have an inbound phone number.

You'll see here that we need to choose an inbound or an outbound phone number.

So, inbound, we go to select a number.

We don't actually have a number set up.

So, that [music] is unfortunately, or fortunately, depending how you look at it, where we need to actually pay for access to this because they allow you to play around and test and test and test, which is great, but at a certain point, they're going to need to ask for some

money for the services that they're providing. So, we go to phone numbers,

providing. So, we go to phone numbers, we can add in a phone number, buy a number. Oh, I need to set up my payment.

number. Oh, I need to set up my payment.

So, come over come over to your billing, can manage our billing info. And to

stripe here, you can set up a payment method. So, we've got our billing set

method. So, we've got our billing set up, and then we can head over to the phone numbers, buy a number, grab any old number. You'd probably want to pick

old number. You'd probably want to pick one if you're doing a US-based client or only got US and Canada here. Uh but you want to pick one that's in the same area code ideally for the best pick up rates.

Uh in this case, it's inbound, so it doesn't really matter, but uh we can just grab this random one here. There's

a whole bunch of set up here, but as you can see, we need to verify our identity to make outbound calls. So, that's why I've gone for an inbound option here. If

you guys want to switch this over and use the template I'm going to put on school, there's a little thing that adds on to it, and you can actually turn this into an outbound uh speed-to-lead system rather than inbound, which is probably how you'd want to do it. So, we've got a phone number here. We go to agents, a

single prompt agent here, and we are going to click this publish button up in the corner, call it uh MVP, select one of our inbound phone numbers, publish the bro.

And now if we call that number, this guy's going to pick up. Let's go. So, we

can I'll grab my telephone.

I'm going to execute the workflow. We're

going to go back and get that phone number. Where is it? Publish. Hey,

number. Where is it? Publish. Hey,

thanks for calling Smith Solar. This is

Sam. I just need to confirm a few quick details to make sure we're a fit. Sure.

What do you need? Are you located in Texas? Yeah. Yeah, sure I am. I'm in

Texas? Yeah. Yeah, sure I am. I'm in

Texas. Do you own the home where you want solar installed? Uh yeah, I do. To

get started, do you have at least $10,000 available now to put toward the project? The rest can be financed. Yes,

project? The rest can be financed. Yes,

I can do that. Perfect, you're

qualified. Next step is a quick consult with our team to finalize option. A

specialist will reach out shortly.

Anything else before I let you go? No,

that's all good. Thanks for calling Smith Solar. Have a great day. [music]

Smith Solar. Have a great day. [music]

Now, I'm going to tell the truth. Yep,

bang, bang. So, I stopped here um because the phone number that I called from wasn't in the database. So,

filter by formula here didn't work. Let

me do that again. I will go to our Airtable. I'll change this phone number

Airtable. I'll change this phone number to my phone number.

So, we can execute this again. I call

our buddy Sam back.

Hey, thanks for calling Smith Solar.

This is [music] Sam. I just need to confirm a few quick details to make sure we're a fit. Yeah, sure. Are you located in Texas? Sure I am. Yep, Texas I am. Do

in Texas? Sure I am. Yep, Texas I am. Do

you own the home where you want solar installed? Yes, I own the home. To get

installed? Yes, I own the home. To get

started, do you have at least $10,000 available now to put toward the project?

The rest can be financed. Of course.

Perfect, you're qualified. Next step is a quick consult with our team to finalize option. A specialist will reach

finalize option. A specialist will reach out shortly. Anything else before I let

out shortly. Anything else before I let you go? Nope, that's all. Thank you.

you go? Nope, that's all. Thank you.

Sounds good. Thanks for calling Smith Solar, and have a great day. Why are you not going, bro? All right, so this normalized phone number thing is kind of being annoying. Um so, just keep things

being annoying. Um so, just keep things simple and save a little time here. I'm

just going to delete that, and then here, we can go to the JSON normalize phone, delete that, and then we can dig through this a massive amount of information here. Scroll all the way

information here. Scroll all the way down. Got the phone number right at the

down. Got the phone number right at the bottom here. So, the from number is who

bottom here. So, the from number is who I'm calling. That is my number that I'm

I'm calling. That is my number that I'm calling from, so we have that put into there. Now, if I execute that step, then

there. Now, if I execute that step, then we get all the information from Leon Killsbury. So, the final thing we need

Killsbury. So, the final thing we need to do is actually get some output from this structured output parser so that we can line things into the Airtable lead record. So, going to keep ripping

record. So, going to keep ripping through these. Hey, thanks for calling

through these. Hey, thanks for calling Smith Solar. This is Sam. I just need to

Smith Solar. This is Sam. I just need to confirm a few quick details to make sure we're a fit. Yes, sure. I am from Texas, and I have I own my house, and I also

have over $20,000 to work with here. So,

how does that sound? Perfect, you're

qualified. Next step is a quick consult with our team to finalize Sounds good, man. A specialist will reach out

man. A specialist will reach out shortly. Anything else before I let you

shortly. Anything else before I let you go?

Now, we're having issues with this. I'm

just going to ask the Innityn AI to fix this. Uh just to fix this, I think if I

this. Uh just to fix this, I think if I delete this and I go if the ID here uh exists, execute step, is a string, but exists and it's fixing a boolean. String

exists.

Yep, there we go. Okay, so if the ID exists, meaning has it found anything in the database uh in the Airtable, then we are good to go. And I can then run this through here.

Now, we get the output parser. We can

see that it's put out this information here. Then we can match these up. Uh so,

here. Then we can match these up. Uh so,

the columns to match on is going to be the ID, and then we can use the ID that we have from our Airtable here. And then

we can update some of these fields here.

So, we have the uh qualified being an expression, and then we need to look at the output from here. Qualified as the qualification here. Qualification

qualification here. Qualification reason, reason, state from the call, home owner as an expression again. I

know it's not. Uh the home owner is an expression. Cash available, question.

expression. Cash available, question.

Last call transcript, get the full transcript put in there. Expression here

for the last call, call ID, call match status, and it's matched. So, with all of that added, it's going to match based off the ID that we caught in the uh Airtable here. Now, we can execute the

Airtable here. Now, we can execute the step, test it, but this hasn't worked because we have these variables here.

So, that's not ideal. We can even improve this prompt.

There we go. So, that variable wasn't set up correctly. Now, we're getting the state, the home owner, cash available, and everything, and we're good to set this. Execute the step. Last call out uh

this. Execute the step. Last call out uh expects a date time, so we're getting a bit of an issue with the format that Retail gives us the time. So, I'm just going to take that out, to be honest.

You do a formatting step prior if you really cared that much. Just deleted it, and there we go. We should now have and here all this information updated.

Qualified, qualification reason. So, I'm

just going to delete a lot of this stuff so that we can do a final run-through.

Transcript in there, last call out, last call ID. We can just put it back to

call ID. We can just put it back to nothing. So, now we can do the

nothing. So, now we can do the run-through to end all run-throughs.

Save that, [music] execute it, and I've [clears throat] gone like a tomato here since the sun's gone down.

Hey, thanks for calling Smith Solar.

This is Sam. Hey, Sam. Yeah, yeah, yeah.

Sam Sam, I actually am the had I don't know if you know this, but I am actually am a home owner in Texas. I own the home. I live in Texas, and I have not

home. I live in Texas, and I have not just 10, but I have 100,000 macaronis to invest in solar, cuz I'm all in on the green future. Perfect, you're qualified.

green future. Perfect, you're qualified.

Next step is a quick consult with our team I know, that sounds perfect. Put me

in right away. Awesome. Bye. See, I'm

just sweet-talking, you know? Boom,

boom boom.

It's not looking good, bro. Shouldn't

take that long, bro. And after a long wait, we have it completed. So, that's

all been added into the Airtable database here, and that is the end of the speed to lead thing. Now, as I said, I am going to be giving you guys on the template on the uh on the school a little module up here

that allows you to change this from a inbound, as in they're calling into you, to an outbound. There is a budget set up that you need to do on uh Retail to make sure that they're okay with you doing that. But that has been the speed to

that. But that has been the speed to lead build, guys. As you can see, voice agents, that's the just the current state of the tech right now. Uh but now you've got a coverage of voice agents, you know how to use those, set those up, get familiar with Retail, it's a great platform to know, and how to hook them

up and and do things with the data that comes out the other side. Next build

we're going to be doing is like the capstone, the like wow moment you guys are going to get out of this course, which is being able to build a whole a sales copilot that ties into the system we've been building here, where after a lead has been marked as qualified, it's

going to be passed off to the sales team who's looking at that Airtable database, sorting by those qualified leads. We're

going to be putting them a whole app that assists them in preparing for those calls using a bunch of cool AI features on N8N. So, be ready for that. Great

on N8N. So, be ready for that. Great

work on making it so far. Let's keep

pushing and finish this off cuz I promise this last one, you're going to be like, "Holy moly, I can't believe how far I've come in the space of just a few hours."

hours." All right, guys. Now we are onto the final build, build number four, where we're kind of tying everything we've learned together into what I call like your capstone project, where you get to see how all the stuff that we've learned

so far comes together to build a really powerful system that actually has a front-end interface. So, we're going to

front-end interface. So, we're going to be building a sales copilot, which uh a copilot is a type of AI agent that is uh very popular right now as a way of augmenting staff. So, we have full

augmenting staff. So, we have full automation and where like the task is completely eliminated and the human doesn't need to be involved anymore.

That is done for simpler tasks uh or for more complex one, it takes a lot of effort um and it's not really suitable for things that require a human in the loop um such as like contract reviews or

in this case like anything related to sales where there's a human involved.

So, we're going to be building a AI sales rep copilot that helps the sales rep to do more stuff in less time and to be be better prepared for the calls, to automate certain parts of their job like

updating the CRM after a call, uh for researching the prospect before and getting a a guide for how they can approach the call, and for also being able to send things like follow-up emails after the call uh based off what

happened in that call. So, we're going to be creating it on Lovable. So, we're

going to be connecting an N8N workflow here to a custom front-end on a vibe coded platform of your choice. We're

going to be using Lovable here. And this

is going to show you how you can start to use N8N as a back-end, as like the brain or the engine, and then connect it to any kind of vibe coded app you want.

So, you can have a custom-looking uh web app or application that you've built, and then you can connect N8N through webhooks as the engine that powers certain features, which is a very, very handy skill to know, and it really opens the doors to the amount of things that

you can sell to your clients. So, uh

we're going to be going through the similar workflow here that I've been uh walking you through. You guys should get the the MO by now. We're going to be using our AI automation CTO here, and then we're going to be taking that over, passing it into this automation brief

generator, passing it into N8N, getting that built out 90% of the way by the N8N AI itself, and then after that we're going to be uh able to take that, take that webhook, go on to Lovable, and then

connect them up, and we'll have a final app at the end. And I think you guys are going to be pretty proud of how far you've come in this course. So, that's

why I wanted to have this as the capstone project. So, um just following

capstone project. So, um just following along with me here, I've got a prompt that I pre-wrote just to keep things moving quickly here. It's very similar to what we've been doing previously.

You'll be able to get this prompt, as with all the others, on uh the school, where the rest of these prompts will be for you to follow along. Um in this case, we're saying, "I want to build a sales copilot on N8N that my sales reps can chat to through a front-end in

Lovable. The agent should be triggered

Lovable. The agent should be triggered by webhooks so the Lovable app can send messages to it and get responses back.

Here's what I needed to do. Do prospect

research. So, the rep should be able to find and research people on LinkedIn. I

want to use a Serp API for finding profiles via Google search, and then Apify's LinkedIn scraper for pulling the full profile data." So, we're going to be using this Serp API, which is a good one for you guys to learn how to use, which basically allows us to search

Google and pull the search results. And

then we're going to be using Apify's LinkedIn scraper to pull the actual profile data off of uh LinkedIn. Uh

we're going to be able to do a company and web search, so not only researching the prospect or the person that's hopping on the call, but also being able to uh research their company. So, we're

going to be using a tool called Firecrawl here, which again is a great one for you guys to learn how to use and get set up. We're going to be connecting to the same CRM that we've been using kind of as the continuity throughout this uh these three builds. And then

we're going to be doing email follow-ups as well as an option for being able to send messages or send emails to prospects after the call. Um we're going to have a bit of conversational memory.

We're going to be using a Gemini model as per usual. And then here are the seven tools just to make it really clear for the AI to to know what we want here.

So, we've got a Serp API for search getting those LinkedIn profile URLs.

This is going to take those LinkedIn profile URLs and actually scrape the data off. And then we're going to have

data off. And then we're going to have the Firecrawl web search to find any information on the company, and those will be passed to the Firecrawl page scrape, which is going to extract all the information from those pages for our AI to use. And then we have things like updating the Airtable and Gmail send.

So, that's all pretty clear. I've just

added a bit on the end here saying, "Can you please help me to research these APIs to make sure I have the exact ways I need to call them within N8N to get this working first try." Because the N8N AI doesn't have uh web searching capabilities at the moment, as far as I

can tell. So, this is just making sure

can tell. So, this is just making sure that we can basically do a web search, figure out how to use these APIs correctly. It can try to bundle it up

correctly. It can try to bundle it up into this uh little goody bag that we're going to be passing over to the N8N AI.

So, I'm going to run that. Should search

the web. So, while we're waiting for that, we can probably go over to Lovable.dev, and we can get you logged in or create an account if you haven't already. Uh I believe they've got a free

already. Uh I believe they've got a free plan, so you should be able to have a play around on this and get this up and running without having to pay. Okay, so

if you're unfamiliar with Lovable, it is a vibe coded website platform, so you can build web apps, you can build sort of static websites, whatever you want.

In this case, we're going to be building a custom web application that is going to allow us to grab the basically act as the front-end for us to send messages in. So, instead of using Telegram as the

in. So, instead of using Telegram as the way we send messages to our agent, instead of using the N8N chat, we're going to be using a uh webhook, which allows us to basically hook our N8N uh system that we're building into this

front-end. Which front-end is kind of

front-end. Which front-end is kind of like what you see, the back-end is the stuff that happens behind the scenes to actually do the functionality or or get things done within the application. So,

this is really good uh for building full-stack applications. Apps like

full-stack applications. Apps like Lovable are really good for building that front-end, and you can connect the more complex back-ends with something like N8N. So, that's a really valuable

like N8N. So, that's a really valuable skill that I wanted to teach you guys in this course. I think a smart way of us

this course. I think a smart way of us doing this, as you can see, it takes in a prompt. I think using our handy-dandy

a prompt. I think using our handy-dandy AI automation CTO, um we'll be also able to just ask it to give us a prompt to give them to Lovable in a second. So,

let's just check what we've got here.

N8N shape, webhook in, agent tooling, webhook out, webhook trigger Lovable to N8N. So, it's done the research for us

N8N. So, it's done the research for us on N8N and Lovable integrations. So,

we're going to use a webhook trigger node. If you want the final workflow

node. If you want the final workflow output returned automatically. Okay, so

it's given us a couple options here for the webhook setup. I'm probably just going to say, "This is an MVP. Let's do

the sim- simplest Lovable integration possible to Okay, it's done all the research on the uh Serp API, knows what to pass, Apify LinkedIn scraper, Firecrawl's web search. It's got all

that there. That's great. Firecrawl page

that there. That's great. Firecrawl page

scrape, search records, update records.

Now, I might even in this case, just to ensure that it's super clear on what we are uh connecting to, I can actually give it a reference to uh what we have here in Smith. So, the CRM so it knows what we're working with. So, uh we have

the agent transcript here. So, this can actually be very useful for us and uh for the sales rep when pulling things in. So, the the call that they had on

in. So, the the call that they had on the phone, and actually earlier we didn't actually pass in another thing you'd do if you're putting this into production would be to save the uh the chat transcript from the chatbot that we

did. By this point, the sales rep has

did. By this point, the sales rep has the conversation they had with the chatbot, the conversation they had with the uh voice agent, and then all of that can be passed into the sales rep when it's doing the research and prepping for the call. Um and that can be really

the call. Um and that can be really helpful. In this case, we've only got

helpful. In this case, we've only got the uh last call transcript, but that can be something cool for you guys to put into the the chatbot side of things if you want to make this a little bit more valuable. It's a good extension and

more valuable. It's a good extension and or test of your skills, really, to ensure that you you've actually learned something from this. So, what I'm going to do is just export this here. Here,

grid view, download CSV. Then I'm going to pass it back over to this here. Also,

uh we are going to be working with this CRM. I've given you a uh CSV file that's

CRM. I've given you a uh CSV file that's going to explain to you the different headings that we have or columns that we have. So, can you please ensure that

have. So, can you please ensure that this spec is aligned properly with [music] uh with that and the different values and fields that we have to work with so that it works on the first shot when we pass it into N8N. Okay, so

that's one thing there, and I'd say, "Can we also pick a specific LinkedIn scraper from Apify?" And it looks like it's going for a Postgres chat memory.

Um in this case, again, that's a little bit too complex. You guys need to prompt it to be MVP-facing unless you want Well, this is a tutorial, so I don't need to be as rigorous as setting up a Postgres database. You probably would uh

Postgres database. You probably would uh or you'd connect it into something like the Airtable to track all the messages uh and link it to a to the leads. You

can have another table in Airtable that is messages, and you have the chats logged in there, and you link it to the lead in the in the leads database. Also,

I want us to be able to like ChatGPT create new chats. So, that means we're going to need to create a new session variable so that the int system stays the same. When we create a chat on

the same. When we create a chat on Lovable, it creates a unique ID or a session ID, and then anytime a message is sent, it sends that session ID to Lovable uh to N8N. With that, it catches, "Okay, well, what chat am I

looking at? Okay, session ID three.

looking at? Okay, session ID three.

Okay, well, then I need to load in the chat memory from that session." So, so that's how we're going to be able to manage multiple different chats in there. So, I'm just adding this in at

there. So, I'm just adding this in at the bottom. Then I'll actually get this

the bottom. Then I'll actually get this to generate us the the Lovable prompt as well. So, it's got the full picture of

well. So, it's got the full picture of what we're trying to build, and it knows, "Okay, the N8N is set up this way. I need to set up the Lovable this

way. I need to set up the Lovable this way." So, it's important once it's

way." So, it's important once it's contextualized on what we're building, you're basically bandwagoning on that on the back of that context and get it to also plan out the Lovable app in sync with it. Cuz if you did it separately,

with it. Cuz if you did it separately, it'd probably miss a bunch of the details we're going to do here. Okay, so

it's done the MVP Lovable integration, single webhook, single response. Okay,

so we've got our next response back.

Looks like it's simplified this a bit.

I'm not sure why it's passing in the lead information here. Um we should probably get that removed. We don't need it to be specific to a lead in a given chat. We don't need a lead uh

chat. We don't need a lead uh session. Okay, it's got the CRM

session. Okay, it's got the CRM alignment all done. Just adding a bit more context here so it knows exactly what we want. It's trying to associate a lead with a session, but I said it should just be more freestyle with each new session. It's completely fresh and

new session. It's completely fresh and they can do what they want with it.

They'll start a new chat. They'll go,

"Hey, can you help me prep for XYZ call?" Then they'll look for that name

call?" Then they'll look for that name in the CRM. Once confirmed, it can fire off the tools to help them do what they want. EG company prospect company and

want. EG company prospect company and prospect research simultaneously. So,

just making it a bit more flexible and general purpose. It's got clear on all

general purpose. It's got clear on all of that. It's picked an Appy Pie

of that. It's picked an Appy Pie Scraper. That's great. So, we've got the

Scraper. That's great. So, we've got the specific scraper that we're using here, which is this logical scraper, LinkedIn profile scraper, SerpApi is there, Firecrawl is there, Gmail is there, memory is there as well. Yep, so it

looks like it's nailed those changes.

Agent behavior is correct. It's going to search. If it finds a match, it will

search. If it finds a match, it will just start. If it finds multiple, it

just start. If it finds multiple, it will get it to pick one. Once confirmed,

it will allow the the rep to do whatever they want with it with the tools. So,

that's the connection. It's trying to reference the sales rep. And again, we don't need that right now. You maybe

would when you're scaling this up, but this is an MVP. Yep, that looks good.

Airtable alignment. It's got all of the correct field names here. Also, it's

pointing something out here. Maybe we

want to add in a new field. Do we we maybe want to add a few I'm saying do we maybe want to add a few more fields to the CRM that the that the sales rep can update from the copilot. So, at the

moment, it's all only got things like that goes up to the end of that voice agent that we just built. So, perhaps we want to add like another couple columns that the sales rep can actually update.

Maybe it's like sales rep notes or like a call status or you know, things like that. So, I'll let it brainstorm with me

that. So, I'll let it brainstorm with me there. This is really good for you guys

there. This is really good for you guys to see this sort of iterative process of like refining the scope of exactly what you want before you move forward. It's

got some guardrails on there, which is great. And the rest is looking really

great. And the rest is looking really good. Okay, so we've got two pretty good

good. Okay, so we've got two pretty good recommendations here for things to add to the Airtable. I'm just going to copy this to the Airtable. Open this up. Can

we add a Put that in there.

And then also check how we did. Boom.

See, just like that. You got to be using the AI features in these platforms, guys, cuz setting these fields up can be an absolute pain. Got the right name, so it's going to be pulling that correctly.

Boom. Next step. Might make that a long text, to be honest. And there we go.

Let's screenshot that. I'm going to drop this in here. Just screenshot of this again. See the AI automation. All right,

again. See the AI automation. All right,

so now I'm asking it to see this AI automation brief that I attached a screenshot of. I'm trying to fill that

screenshot of. I'm trying to fill that out. I need a comprehensive answer for

out. I need a comprehensive answer for each of those, including as much of the technical specifics as possible, so that In Eighteen AI can set it up first try.

We're going to try to take all of this research and context and bundle it into this and see if we're able to get out on the other side enough context that it can one-shot it.

Okay, now there is one thing that I've noted is that it's it's doing too much on the response from In Eighteen to Lovable. We don't need all of this. Um

Lovable. We don't need all of this. Um

so, we can just tweak this a bit and say So, yeah, I'm just saying all we're going to need back is the chat message back to Lovable to put into the into the front end. And then also might be a cool

front end. And then also might be a cool thing for us to add in is the tool calls. So, it can actually pass back to

calls. So, it can actually pass back to Lovable, "Hey, I called this tool, this tool, this tool, this tool." And check or cross, here's the status of what happened to us. You have a little bit of a appearing through the curtain as the user. And you know if something's not

user. And you know if something's not working. And then I'm going to say,

working. And then I'm going to say, "Ooh, no, stop." Okay, again, it's being a little bit too tricky with this response. It's going to send back this

response. It's going to send back this metadata with matches and picked URLs. I

literally just want it to give a like a success or fail so that we can put that as a little kind of attachment to the message. So, I'm going to ask it one

message. So, I'm going to ask it one more time. Okay, now hopefully this is

more time. Okay, now hopefully this is the last one. Trigger. Yep, looks good.

Okay, so it's all aware of this. Looks

good to me. So, let's just start getting this put into the In Eighteen brief. And

at this point, we're getting pretty close to having a an actual In Eighteen brief already, but we're just seeing if this is going to improve it at all. And

there we go.

And here we go. Now, while we're waiting for this, we can say, "Great. Now, I

need a comprehensive So, I'm just saying that we need a comprehensive software MVP software brief to give Lovable a one-shot prompt that it can build the app to connect to this In Eighteen system we've built. So,

it has full context. I'm asking it to help me refine the scope of the app. Um

then I'll get you to write the actual specs. So, this is always good to push

specs. So, this is always good to push back and say, "Hey, what questions do you need answered in order to be able to create this properly or be super clear on the scope?" So, I've given it some pointers on this should be a barebones MVP. I just want a side panel with a

MVP. I just want a side panel with a list of the past chats, a button to be able to start a new one, and then a chat interface like ChatGPT to chat back and forth. No login, just chatting with In

forth. No login, just chatting with In Eighteen. Any questions? All right,

Eighteen. Any questions? All right,

while we do that, we can check here. I'm

a bit concerned that this may not have gotten the length that I was looking for. Yeah. In this case, we've lost a

for. Yeah. In this case, we've lost a lot of the specificity of the research that we did. So, I may actually just get the CTO here to write out the spec for us in a similar kind of format. Unless

this is actually a whole lot bigger than I expected. No. Just going to add a

I expected. No. Just going to add a little bit here in the additional notes that the spec the spec must be comprehensive in its specificity around uh the endpoints we're using, which are just like the the API URLs and the

bodies and requests. So, this works first try. Let's try that again. We ask

first try. Let's try that again. We ask

The issue we're running into here is that the In Eighteen brief is actually limited and it has to be within a certain number of characters. So, that's

why this is struggling a little bit to get all of that in. Got a few questions here about the MVP. The In Eighteen webhook will be public.

Let's just do a single response. We

don't want to do streaming. The tool

status under each assistant message.

Yes, so if there's any tool calls that were done on that in that response, then just have the uh the tool name and then a tick or a cross, please. Yeah, and no details. Chat persistence. No, they

details. Chat persistence. No, they

don't persist across browser refresh for now. Just in in memory is fine. Chat

now. Just in in memory is fine. Chat

naming.

Um let's just have it called chat one, chat two for now when they create a new one or just have it called new chat when they create a new one. And then they should be able to click to edit the chat name at the top of the uh chat part of

the interface. So, on the top left, it

the interface. So, on the top left, it should be the name of the chat again.

And they can click on that to edit it.

Um and the message should be rendered as uh markdown. Okay. Okay, so he's he's

uh markdown. Okay. Okay, so he's he's struggling here a little bit to get everything in, but let's just throw it in and see how we go. It may have to be a case of splitting it into multiple different prompts. So, we're here on In

different prompts. So, we're here on In Eighteen creating a new workflow.

Okay, we've been able to squeeze that in. Let's see if we can get the rest.

in. Let's see if we can get the rest.

And now we'll see.

Uh yes, the links should open in a new tab. Yeah, and just basic markdown for

tab. Yeah, and just basic markdown for now. Just bold, italics, bullets, links,

now. Just bold, italics, bullets, links, and I guess headings as well. I will get you the endpoint in a second. Not sure

what CORS is. Can you please explain that to me?

Okay, so we're just refining the scope here, getting clear on things. It says

this is CORS, CORS, browser security rule that we may need to get over. Um I

don't know why a public webhook wouldn't work, but looks like we may need to do this little uh set of changes to In Eighteen's HTTP response. So, I'm just going to ask it to seems to be clear on what it needs. Give me a prompt to In Eighteen to make these changes to the

webhook.

All right, and we are looking pretty good here, I would say. We have our conversation memory. We have the right

conversation memory. We have the right model. Probably not actually, as we

model. Probably not actually, as we know.

Um I like to sequence these in order of what we're going to use them. So, I

might just take I'll take this. Just

going to hide this for now. Gmail send

is probably the last one. The Airtable

update tool, Airtable search tool is probably the first one. SerpApi is going to search for their LinkedIn profile.

Then we're going to Appy Pie scrape their LinkedIn profile. And then we're going to probably web search and then page scrape, Airtable update, and then Gmail send. So, I like to order them

Gmail send. So, I like to order them there in that sort of logical order.

We've got a workflow configuration step here. Session ID, user message. Yep,

here. Session ID, user message. Yep,

that's good. How's the prompt gone? CRM

lookup rules. Looks pretty good to me.

So, now we just need to set up these tools. Make sure they're all set up

tools. Make sure they're all set up correctly.

We have the session ID being passed in correctly here. I'm going to increase

correctly here. I'm going to increase the chat memory up to maybe 30 messages.

I'm going to make sure we have the right model here. Of course, we don't. 2.5

model here. Of course, we don't. 2.5

flash is good. Airtable search tool.

Let's change this. Get the base from list. It's my sole CRM from list. Leads.

list. It's my sole CRM from list. Leads.

Okay, so that needs to be the filter by formula should be done by AI here. There

we go. Got the tool descriptions in here. Nice. That's great. SerpApi.

here. Nice. That's great. SerpApi.

Create a new credential. Let's ask In Eighteen for help on this. All right,

looks like we have to sign up.

Hopefully, they got some free credits for us. Free plan. Check your Gmail to

for us. Free plan. Check your Gmail to verify your account. Need to verify phone number as well. Seems a bit extreme. Now, we've verified both of

extreme. Now, we've verified both of those. Let's subscribe. Boom. There we

those. Let's subscribe. Boom. There we

go. We're in. There's your boy. Grab our

API key. Come back over to In Eighteen.

Drop our API key in here. Save that.

Looks like it's worked correctly for us there. So, that's all done. Appy Pie

there. So, that's all done. Appy Pie

next. We need to go and grab the Appy Pie LinkedIn Scraper that we were going to use. So, if we head back over to our

to use. So, if we head back over to our handy-dandy automation planner. Scroll

back up. Um

Think what we could do now is maybe do a sneaky here and just copy some of this stuff and put it in bit by bit into the In Eighteen AI.

Just go through chunk by chunk. Looks

like it might have forgotten the Appy Pie one. Okay, looks like it has already

Pie one. Okay, looks like it has already done all of this. We had to put our Appy Pie token in there. It's got the right URLs in. Great. Now, let's do these

URLs in. Great. Now, let's do these Firecrawl ones. Done. Got that added.

Firecrawl ones. Done. Got that added.

Great. So, the next Firecrawl one.

Great. Ooh, it might have messed this up. Looks like it got it mixed up with

up. Looks like it got it mixed up with the other Airtable node. So, we want to make sure it's not editing the one we just did. Um

just did. Um search records. So, ooh, my bad. That

search records. So, ooh, my bad. That

was a search one. Now, the Gmail. I

think we're pretty much good to go then.

So, you want to be leaning heavily on the In Eighteen AI for this. and you can see all the work that we did in the like the preparation makes it a lot easier for us to get the specifics right. So,

we don't have to go in and manually update all these variables on nodes. We

do have that one tweak as well for this.

And honestly, I think this core stuff might be a non-issue. So, let's just see how we go with connecting a public webhook. Right, so we have everything

webhook. Right, so we have everything configured and ready to go. Let's just

do a double-check. Airtable search like that. Record search my solar leads. It's

that. Record search my solar leads. It's

going to [music] determine the Airtable filter by formula which is what's going to search for the lead and the AI is going to do that for us and write that filter by formula. So, that's all good.

There you go. It knows enough about the Airtable base to be able to correctly put in the right fields to get that right. Airtable update update the record

right. Airtable update update the record ID is going to come from the AI and then for the fields that it needs to update will mainly be wanting to update the deal stage. It looks like you can't do

deal stage. It looks like you can't do the AI field filling for a select column. So, I probably would have set

column. So, I probably would have set that Airtable column up as a just a text for now, but it's probably going to take a bit too much time to go back and change that. We'll just pretend that

change that. We'll just pretend that doesn't exist for now. If you want to go back and change it to a text field, you can very easily change that and there'll be one of these bug key buttons and you'll be able to click that and then say this is the deal stage. Here are the options you could set. So, I'm just

going to delete all of this stuff cuz we don't want it to update any of this other stuff. We just want to update the

other stuff. We just want to update the next step field. So, it's going to match the ID from the row that we found earlier and then it's going to fill out the next step based off what the sales rep said. We're going to trim a little bit out of here.

So, we've trimmed that down.

Apify LinkedIn scraper. Looks like we've got the correct URL in there now.

The Apify token, we can get that set up now.

We can log into Apify, go to your console, then we can go and make sure you've got your billing set up if you still don't, come in here and set up your subscription and make sure you've got a an account to use. We're going to

go to the settings, API integrations.

Copy that.

Paste that in there. Going to change this over to AI, give it the format it needs to write it in. So, that all looks good.

We can set up the Firecrawl now.

firecrawl.dev. You can sign up here.

It's free to get an account and they have a decent free plan as well. So, you're

going to want to go to API keys, create a new one.

Copy that. Going to go to generic credential type here. Okay, so then we're going to set it to a header auth.

We're going to go select credential, create a new one. Going to put that value in there. We're going to call this authorization.

I'm going to save that.

We'll change this to Firecrawl auth. Um

and then, uh just to be sure in case that doesn't work, we've got that there.

I'm going to copy all of this again.

Just going to change it to AI. Paste in

the expect format there.

Move on to the page scrape.

So, we've got our Firecrawl auth in here which is handy. Um

Pop that in there again. Again, we're

going to change this, cut that out of there, change it to AI. Then we're good there. And the Gmail send tool. Going to

there. And the Gmail send tool. Going to

have it as two, change it to AI. I know,

actually I think if we look in our Airtable, we weren't actually always enforcing the collection of email. So,

we are going to have to pretend like we were in this case. Um so, if we just go and add in a insert to the right, call it an email, give them a test email that I can send to. Subject can be generated

by AI. Message will be generated by AI.

by AI. Message will be generated by AI.

And then we have the Serp API thing which should have already been set up.

Search engine query. So, we're going to change that

query. So, we're going to change that query there. API key where you can get

query there. API key where you can get from where we had it.

And then, we are looking pretty much ready to go. So, what we can do is just give this a test for now. Um

any of these to set up session ID, user message.

Now, the question is do you want to try to test it here within N8N as a chat trigger or do we want to Yeah, I think that would be smart for now. Um this is

format in the response.

So, I'm just going to ask it to make an N8N chat trigger and response so that we can test this first before we take it over to Lovable cuz you want to get it working here first before you kick it off there or it's going to be a pain in the butt. Oh, well, I guess we're going

the butt. Oh, well, I guess we're going to have to do this ourselves and that's clearly not knowing what the hell we're trying to do here.

[snorts] Okay, so I'm just getting this tested.

Looks like it's working correctly. We're

getting responses from it. So, make sure if it's not working for you guys here, you save and refresh the N8N workflow.

Perhaps to get it unstuck sometimes, but we have our chat message going and we're getting responses. So, it's going here,

getting responses. So, it's going here, doing the tools calls and then sending response back. Uh you may need to have

response back. Uh you may need to have the response mode on when last node finishes. Um so, it sends responses back

finishes. Um so, it sends responses back uh automatically there. So, we're

getting responses in here. Now, we just want to test through this functionality.

So, if we go, make sure this is setting the right variables. Is a session ID here? User message [music] is the chat

here? User message [music] is the chat input. There we go. That's working

input. There we go. That's working

correctly. Just save that. Going to go into execute the workflow again. We'll

make sure this is set up to have our Looks like that's automatically connected to it. So, it's connected [music] to what we're assigning up here.

So, now we can go. Who do we want to look up? We've got this guy. I have a

look up? We've got this guy. I have a call with Boom. Okay, so we're getting the

Boom. Okay, so we're getting the information back. Bang. Great, we're off

information back. Bang. Great, we're off to a good start. Getting all the information from uh the transcript, getting all of his details. You can say uh actually let's

details. You can say uh actually let's move this down again. Next step would be the Serp API. I'll be over the moon if we're able to run through this in one

shot. Uh great. Now, find his LinkedIn

shot. Uh great. Now, find his LinkedIn profile. It's not even a real profile.

profile. It's not even a real profile.

Um His name is actually Leo Oakley and he's from New Zealand. So, please use that in

the query. Ooh. Boom. Credential not

the query. Ooh. Boom. Credential not

found. Okay, so we might just need to change this over to a generic credential type. We're putting it in the query

type. We're putting it in the query parameters. We can actually just change

parameters. We can actually just change that to none cuz we're going to be passing it in the query anyway. So,

that's actually going to save us a bit of time. So, let us just go again here.

of time. So, let us just go again here.

Save that. Maybe we just go into the Airtable and change this to my details. Got those updated. Now, we

my details. Got those updated. Now, we

can run a new session. Execute it.

Boom. There we go. We've got all of my information back. Now, I should ping

information back. Now, I should ping both of these tools. So, that worked. We

got all of the information back.

Forbidden. Perhaps check credentials.

Okay, so it looks like we're using a paid actor. Okay, so after a lot of

paid actor. Okay, so after a lot of playing around with this particular Apify scraper, I had to switch over to one that I was actually able to get working consistently and that unfortunately did involve upgrading to a paid plan. So, I've got a few slight

paid plan. So, I've got a few slight tweaks to make to this particular node.

Also in uh in here, I've had to upgrade to the $29 a month plan. So, that's

something if you want to get this building working and having the full scraping functionality of this Apify scraper, then you're going to have to upgrade onto just the $29 a month plan uh for access to this and all the other awesome actors that you get on in here

as well. So, uh here's the exact setup

as well. So, uh here's the exact setup that we had on that. This will be of course included in the template for you guys. Uh but the main thing here is that

guys. Uh but the main thing here is that we've got the description which lays out how the AI should use it which is just a little bit of JSON like this with the profile in it. Uh and then we have post request with this particular Apify actor

in it. We have the authentication being

in it. We have the authentication being done through here with the paid plan on the API key, you remember. Uh and we're sending the body using JSON and allowing the model to define it there and no description on it. So, that was able to

get it working for me and we can see here if I grab onto uh our mate's profile here and I say, um actually we could probably try this end to end now. And we can go, "Hey, I

have a call with Leo coming up."

There you go. Pulled all of my information. Great. Find his LinkedIn

information. Great. Find his LinkedIn and give me me a summary. Hopefully, it has found the right URL. Boom. There you go.

Awesome. It's got all my information.

So, the Serp API was able to find it. Um

LinkedIn search was able to find a bunch of them. Found uh my LinkedIn URL in

of them. Found uh my LinkedIn URL in here and it was able to pass that correctly into the scrape LinkedIn.

Passed that in and it gave us all of this information back and that was passed into the the uh LLM to give us a response here. So, we have that set up

response here. So, we have that set up working correctly now. Now, we just need to test the uh company search. Great.

Can you find his company website uh workflow? Okay, it doesn't need to

workflow? Okay, it doesn't need to search it. Can you use Firecrawl to find

search it. Can you use Firecrawl to find it though?

Okay, there we go. We've got an issue with this. Invalid syntax. Actually, we

with this. Invalid syntax. Actually, we

don't need to be using this Firecrawl auth, I've realized. We can just change this to none cuz we're passing it in here. Now, what are we expecting to give

here. Now, what are we expecting to give to the Firecrawl? Okay, we're just going to pop this into here. Now, to get this working, I found that we do have to go nuclear on this and just give it an incredible amount of information for it to be able to call this correctly. So,

you'll be able to get this tool description from the template. It'll be

included in the school community, so you can follow along. But, we've had to go pretty crazy here to get it to do exactly what we want. Uh this is just some of the limitations of these AI agents at the moment. So, we've got that added in there and also putting into the

fire crawl page scrape. Going to do something similar. Okay, guys. So, a bit

something similar. Okay, guys. So, a bit of playing around required. I would

recommend you guys just come and steal the exact nodes I've got here for some of these. This specific setup is going

of these. This specific setup is going to be a bit of a pain in the butt for you to get right, um as you've seen there. So, this is all set up with a

there. So, this is all set up with a pretty hefty uh description here. But,

with this setup and the bearer key here, it is working. So, I'm able to now go uh run this back. I can [music] hopefully run right through this. Zoom out a bit here. All right, it may as well just

here. All right, it may as well just check this Gmail stuff is set up. So,

we're using the admin email uh message to Yep. And then we have the Airtable

to Yep. And then we have the Airtable update tool, which is set up on I'm going to pick from a list here. It's my

solar leads. ID's going to match it and the next step is going to match it there. And [music]

there. And [music] yeah, so that should be ready to go.

Save that. Good run through.

Now, it's going to scrape it.

Great. Now, search tools.

Boom. Now, it's found the website.

Now, it's going to try to scrape some pages from the website. Okay, there you go. It's scraped a bunch of information

go. It's scraped a bunch of information from my agency website. And now, I can say like, "Based on all the info we collected and the [music] info in the

CRM, please write me a short pre-call briefing to read [music] now to help me prep." So, a bit of a pre-call briefing

prep." So, a bit of a pre-call briefing we can get it to write us. Now that it has all this context included. So,

there's my background, angle of attack, acknowledge enthusiasm for green uh future, leverage of AI efficiency mindset. Discuss smart home and AI

mindset. Discuss smart home and AI integration. Good luck with the call.

integration. Good luck with the call.

[music] Great. Can you email him and say, "Um

Great. Can you email him and say, "Um a team member will be in touch to book

an his installation and thank him for his time."

his time." Great. Now, send that via Gmail.

Great. Now, send that via Gmail.

Oh, great. Sent the email. Update the

CRM with a note saying, "Team booked in for install. Payment received."

for install. Payment received."

Yes, update. Boom. Okay, we can check Airtable. Booked in for install. Payment

Airtable. Booked in for install. Payment

received. Great. Okay, so we have all of our functionality working. Now, we just need to connect this up to our handy-dandy lovable front end. So, if we go back to our buddy here in this chat,

so we're going to chop this off, reconnect the webhook trigger. Also,

this stuff here.

Provide the webhook URL.

Now, need to head over to Lovable. Now,

it will copy all that.

Okay, so we have our first version of the app here. Let's go over and just turn this on to [music] uh be active for now. Then we'll see if we can get this working. Oh, that's a

good start. Actually, we can just switch

good start. Actually, we can just switch that off and go execute.

Okay, so we are running into this issue that our AI CTO warned us about. So,

it's going through and testing the app for us now.

Okay, so a little change here is we need to change this to a respond to webhook node. So, it's going to be waiting for

node. So, it's going to be waiting for uh this cuz we want to be sending the response back through this. So, let's

just give that that another go. We'll

save it. Execute the workflow. There we

go. Oh, boom. Boom. Well, we got it.

Awesome. Thought there's going to be a lot more teething issues than that. So,

as you saw, it ripped through here, formatted the response, and then sent it back. Uh we have this little node here,

back. Uh we have this little node here, which is taking in and basically prepping up a a response to send that has a session ID, the reply from the agent, and then the tool calls. So,

hopefully we can start to get this working with uh actual responses. So, if

I turn this on, it should be able to ping through these um with these. We go to a Let's just stop this thing cuz it's working. Go to

new chat.

Um okay. Okay, so it's not remembering the session here. I've just given it the production URL. So, you can go test

production URL. So, you can go test production. We want to get the

production. We want to get the production one. This is active now.

production one. This is active now.

Okay, looks like it's working.

I have a call with Wayne Harvey. Let's

see if the tool call works. Okay,

appears that the sessions is not working correctly. Let's just tell it here.

correctly. Let's just tell it here.

So, the session ID needs to be getting saved.

Okay, need to match this up. Let's

[music] just delete this. Session ID

needs to be there. User message needs to be there. And we can save that. And

be there. And we can save that. And

then, I think we should be good to go.

Oh, boom. Okay, so we're not getting the little UI elements back from um the tool calls. Now, we could mess around for a

calls. Now, we could mess around for a bunch longer to make sure that that is working. Um

working. Um if we look at some of the threads executions, when we go to what just ran, we should be able to see what it was sending back. Respond to webhook. Uh the

sending back. Respond to webhook. Uh the

tool calls is not being set up correctly. So, there's a little bit of

correctly. So, there's a little bit of tweaking around you need to do here uh because I believe these are just being put together uh in a pretty ramshackle way. We have tool calls and then it's

way. We have tool calls and then it's going to try to build the tool calls from the execution metadata. So, it's

going to look in the agent output.

Probably not the most effective way of doing it, obviously. So, in this case, I'm not going to drag this out much longer, but we have this working here.

We can walk through the whole flow. Um

how can I help you further with Liam? Uh

find and scrape his LinkedIn.

And there we go. So, all the functionality worked just as we had it set up within the uh n8n flow. So, I'm

not going to bother going through all of this here. What you need to do when

this here. What you need to do when you're ready to to to share this is either share or publish. Um you can publish as an app for people to use. You

can add a a lot more functionality in here where you'd be able to add a layer on top for a sales rep signing in or just giving them like a sales rep ID and so that they only see their sales rep dashboard so that they can have a

conversation with their uh assistant here. So, that's a a sales rep co-pilot.

here. So, that's a a sales rep co-pilot.

As you can see, this is definitely more of a a complex build compared to the other ones. There are a lot of tool

other ones. There are a lot of tool calls and you really got to see the the complexity of getting some of these tool calls to work, particularly when you're trying to get the AI to fill out the value here. So, that is one of the pains

value here. So, that is one of the pains as you saw with needing to put a lot of information here for them to really nail the schema of what it's passing in its JSON. Um but, you guys will be able to

JSON. Um but, you guys will be able to snag all the hard work that I've uh done here to get these working. It'll be in the template that's included. You can

just grab it and import this and you'll be able to get the exact same modules uh nodes here and plug it in. So, that's a really great example of using the webhook trigger, being able to connect to an external application or like interface, and then be able to use an

agent as the the AI brain in the back end, do all of this cool stuff, and then be able to send the information back to the app [music] to do the rest. So, that

is a sales rep co-pilot, guys. I hope

you can see now how it all fits together. Uh there's that few little

together. Uh there's that few little like plug-in and and joining bits that I'd probably add in like capturing the whole transcript from the chatbot so you have more context. The idea is just to give your sales reps more context, be able to better prep for their calls, and

then be able to do more things from in here. So, after the call, they quickly

here. So, after the call, they quickly can just say, "Hey, update the CRM with this." Since people are just lazy

this." Since people are just lazy generally, making things easier for people to do is going to mean that they do them more often. So, that is the sales rep co-pilot MVP [music] app uh with the n8n back end. I'll give

you guys the code for this website as well. I'll be able to share this code

well. I'll be able to share this code with you uh over there. So, if you want to replicate this one exactly, you'll be able to copy uh this code and paste into Lovable to get the same sort of thing.

But, guys, congratulations. That is the end of the tutorial. Uh that is a lot of work done, a lot of things learned. But,

you have now got a very broad span of skills that you've picked up within n8n, um [music] putting them on websites, being able to put things on chatbots, being able to uh connect voice agents and handle uh

pushing and pulling things from a CRM like Airtable. You've learned so much

like Airtable. You've learned so much that now it's important to get into the most important part of all, which is learning how to monetize these uh these skills, be able to sell these kinds of things to businesses. And that's what we're going to be covering next in the

monetize section.

All right. So, you've just built four AI agents. You understand how they work.

agents. You understand how they work.

You've got hands-on experience with multiple platforms, voice AI, custom tools, even building a simple front end to connect them to. Now, let's talk about what you actually do with these skills to get paid. Because here's a common misconception I need to destroy

right away. You don't need to build the

right away. You don't need to build the next ChatGPT to make some money with AI.

You don't need to raise millions of dollars to create some revolutionary startup. The real opportunity is much

startup. The real opportunity is much simpler than that. It's helping

businesses understand and use AI. And

this isn't just me saying this. Here's

Kevin O'Leary. If I was 25 years old today, what's a good sector to get involved in? What business would I get

involved in? What business would I get involved in? I think everything is

involved in? I think everything is looking at AI now in a different way.

And I think AI growth is going to be exponential. So, anything to do with AI.

exponential. So, anything to do with AI.

Now, what could that be? In the simplest form, it's helping people use the technology. There's going to be a

technology. There's going to be a massive amount of people wanting to use it that don't know how to, and they're willing to pay to solve that pain point.

Even Mark Cuban is saying the same thing, that the biggest opportunity right now is helping small to medium-sized businesses who don't understand AI yet, but desperately need it. And the data backs this up

it. And the data backs this up completely. There are 1.7 million

completely. There are 1.7 million businesses in the US alone making between 500,000 and [music] 10 million dollars per year. These are small and sometimes you could consider them medium-sized businesses. They make up

medium-sized businesses. They make up 62% of the jobs in the American economy.

And these businesses know they need AI to stay competitive. They see the headlines. They hear about what their

headlines. They hear about what their competitors are doing with it. But, they

don't have time to learn it themselves.

And they definitely don't have $200,000 to hire McKinsey or Deloitte to come in and figure it out for them. So, there's

this massive chunk of the economy that's basically stuck and they need help with AI and there's almost nobody there to serve them. So, here's the stat that

serve them. So, here's the stat that should get your attention right away.

So, right now for every one person offering these kinds of AI services, there are over 1,100 businesses in the US that [music] need their help. 1 to

1,100. So, the market for this stuff is completely untapped. Now, here's the

completely untapped. Now, here's the other side to this equation. Reports

from MIT point out that 95% of AI projects fail. Not because the

projects fail. Not because the technology doesn't work, but because businesses don't have people who can implement it for them properly.

Companies are rushing into AI, they're buying tools, starting projects internally, and ultimately watching them fall apart and never deliver the ROI that they expected. [music] What they actually need isn't more AI software and

tools, it's people who can make the AI actually work and stick in their company. People who understand this

company. People who understand this stuff and can get them real results. So,

that is the opportunity and that's what you are now equipped to do after those tutorials. [music]

tutorials. [music] So, how do you actually turn these skills into income? Well, there are two main paths and the right one depends on who you are and what you actually enjoy doing. Path one is the builder and given

doing. Path one is the builder and given what we just spent hours doing together, this is probably the path that you're leaning towards. The AI builder path is

leaning towards. The AI builder path is for people who get a buzz out of doing the technical work. You like getting hands-on with the tools, you enjoy learning the new tools and figuring out how things work, and you get more satisfaction from actually building

something than you would from spending all day on sales calls or creating content like this. If that sounds like you, [music] here's how the builder path works. Your goal is to get over a

works. Your goal is to get over a reliable income stream that eventually lets you quit your job and go all in on this. And honestly, that doesn't require

this. And honestly, that doesn't require anything that crazy. Two or three clients per month building basic agents and automations is enough to replace most people's salaries. So, how do you get those clients? Well, first and foremost, communities like mine. So,

when you join my free school community, you're probably already [music] in, you're surrounded by over 280,000 people who are also interested in AI. Many of

them are consultants or even business owners who need things built but don't know how to or don't want to do it themselves. So, by showing up and

themselves. So, by showing up and building helpful and building a reputation as someone who's reliable and technically solid, you'll get more client opportunities than you know what to do with. You can also go on platforms like Upwork and start building a reputation [music] there, which is a bit

of a grind at first, but it does work very well. The key for builders at this

very well. The key for builders at this stage is getting experience, taking the [music] skills you've got here and applying them to real-world problems. Every project you complete makes you better and more confident and as you get better, you can start to charge more.

I've created a complete free course for this builder path inside my school community that uses the methods that have worked for over 4,000 AI businesses that have been launched with my accelerator program. Plus the tens of

accelerator program. Plus the tens of thousands more who just watch the free content that I make and took action on it as well. Link to the school, as you know, is in the first line of the description, but when you join, you will see in the course material in the classroom, there's the builder path and

the course that lays out the process step-by-step. There's challenges to

step-by-step. There's challenges to complete, resources to use, support along the way from the community. Now,

path two is what we call the consultant and this might be for you if you went through today's builds and were like, "Okay, this is cool, but I didn't really get a huge buzz out of the technical work." And it may not have felt the most

work." And it may not have felt the most natural thing. Maybe you're more of a

natural thing. Maybe you're more of a people person. You'd rather be talking

people person. You'd rather be talking to business owners, understanding their problems, and helping them to see what is actually [music] possible with AI.

You're better suited to creating content, educating businesses, and getting on calls than you are actually building and debugging workflows. As a

consultant, you still learn the basics of the technical side like you have in this video, so you understand how everything works under the hood, but your actual work is a lot different.

You're doing AI audits for businesses, showing them where they can use AI to save time or make money. You're running

strategy sessions, you're training their teams on how to use AI tools. These

kinds of workshops and audits is actually the first step in the journey for the vast majority of businesses who are now getting into AI. And they need someone to help them understand the landscape before they're ready to buy development work. And that's where you

development work. And that's where you come in. And the beautiful part is when

come in. And the beautiful part is when you identify opportunities in your [music] audits that need actual building and development, you can pass those off to people who've been on the builder path and you can take a cut [music] for bringing the deal to them. The

builder does the technical work and everyone wins. As with the builder path,

everyone wins. As with the builder path, there is a complete free course for the consultant path in my school community, too, which covers warm outreach, how to structure and sell AI audits, how to progress from free to paid audits, basically everything you need to get

started. And both of these paths

started. And both of these paths actually end up at the same place. Both

have a challenge for you to get your first paid client. You just need to pick the one that fits who you are. Now, I

know some of you might be thinking that this stuff sounds good in theory, but does it actually work? So, let me give you two quick examples from the community. Mirza is a 22-year-old former

community. Mirza is a 22-year-old former marketing agency owner, no technical background whatsoever, and he went down the AI builder path and learned how to build AI voice agents and started building his reputation in my accelerator program. He's now made over

accelerator program. He's now made over $65,000 just from referrals within the community building voice AI systems for consultants and business owners who needed [music] technical help. Rishi, on

the other hand, came from a consulting background with zero tech experience and he went down the consultant path to start. He started going to in-person

start. He started going to in-person trade shows and industry events just talking to business owners about AI and those conversations eventually turned into paid discovery sessions, which turned into much larger projects that he passed off to the builders that he

connected with in my accelerator program. He made over $45,000 in under 3

program. He made over $45,000 in under 3 months [music] without having to build anything himself. So, these are two

anything himself. So, these are two people with very different backgrounds on very different paths, but they both work. The common thread is that they

work. The common thread is that they actually picked a path and they took action [music] and they used my free and paid community to accelerate it. So, when it comes to monetizing your skills, everything you need to keep going from here [music] is available in my free community. When you

join, you're going to get all the templates, prompts, and workflow files from the builds we did today and you're going to get access to the complete free courses for both the builder and the consultant paths. The first thing you'll

consultant paths. The first thing you'll do when you join is pick your path and then you'll start your 30-day challenge to get your first paid client. In there,

I give you the exact methods and resources you need to make it happen.

The school link is the first one in the description, so join, introduce yourself, pick your path, and get started. And look, I'm not going to tell

started. And look, I'm not going to tell you that this opportunity lasts forever, that 56% wage premium for AI skills that doubled in 1 year that we're talking about at the start of the video. That's

the early mover advantage. That's the 1 to 1,100 ratio of AI service providers to businesses that actually need help.

These things aren't going to stay that way. The people who build these skills

way. The people who build these skills now and while the gap is still massive are the ones who will get to establish themselves and the ones who wait will be competing against everyone else who started today. You've done the hardest

started today. You've done the hardest part. You've showed up and learned the

part. You've showed up and learned the foundations and now it's all about keeping that momentum going. So, let's

recap what you accomplished today. You

understand what AI agents are and how they actually work under the hood. You

know the three ingredients, a prompting, knowledge, and tools. You understand

APIs and how AI agents use them to take action. You've built four functional

action. You've built four functional agents across different platforms and different use cases. And now you have a clear path to turning these skills into a real income source.

[music] That's more than most people will ever learn about AI agents. The free

community, like I said, has everything you need for your next steps. It's

[music] first thing in the description.

I will see you inside. If this video did help you just a little bit, which I really hope it did, please drop a like down below. It helps more people find

down below. It helps more people find this video. Subscribe to the channel if

this video. Subscribe to the channel if you want to stay in the loop on videos like this teaching you AI skills and showing you how to build a business around it. But guys, that is all for the

around it. But guys, that is all for the video. Thank you so much for watching.

video. Thank you so much for watching.

If you've got the itch and want to watch another tutorial breaking down how to build your first AI receptionist voice agent, which is one of the top AI voice use cases, [music] you can check out that video here. But

guys, that is all for the video. Thank

you so much for watching. All the best with your AI career and journey and I'll see you in the next one.

Loading...

Loading video analysis...