Getting the transcript
Reading the captions from YouTube. A video nobody has opened here before takes 10 to 30 seconds; this page fills in on its own.
Reading the captions from YouTube. A video nobody has opened here before takes 10 to 30 seconds; this page fills in on its own.

Michele Torti · @michtortiyt
Where viewers went back to watch this video again, from YouTube's public Most replayed graph, lined up with what was said at that moment.
Most replayed moment #1
36:113.2x the video's typical replay level
the thing that we use to make the actual request, we can see that we have a button right here, which is import curl. And this will be the place where we import the curl, which is the one that we saw on the API documentation, and then this basically makes the whole request for us, which I'll show you in
Said at 36:06
Most replayed moment #2
1:26:512.7x the video's typical replay level
you exactly what I mean by a respond to webhook. So let's say we add this here and I go in here and I say all incoming items. So we're basically saying, "Hey, I'm going to give you back everything that you gave me." So if I execute this workflow, I think I have to change this to yeah,
Said at 1:26:44
Most replayed moment #3
57:542.6x the video's typical replay level
is the API documentation, which is essentially a documentation which allows you to see exactly what you can automate and what you cannot automate within a software, and also how to set up the automation. And so, by looking at this documentation here, I was able to set up the um the automation of the weather API, which
Said at 57:47
The graph counts replays. It does not show where viewers stopped watching.
Words
21,106
Runtime
12:03:46
Speaking pace
29wpm
Reading time
88min
29 words per minute, below the 160 25th percentile of 349 measured videos. That distribution comes from the 349-video hook study.
Opening (first 30 seconds)
Welcome to the most comprehensive N8N course, where I take you from a real beginner
15 words, the words spoken in the first 30 seconds at 29 words per minute.
Free, no signup. See how the first 30 seconds hold attention, with rewrites.
Sentence shape
| Measure | This transcript |
|---|---|
| Sentences | 1,357 |
What this transcript is
Every word below is the caption track YouTube publishes for this video, pulled from the video itself and reproduced unchanged. It is not Prepublish's writing, not a summary, and not a re-transcription: it is the video's own published captions. English captions, generated automatically by YouTube, in the video’s original language. Source: the video on YouTube. A channel that would rather this page did not exist can ask for its removal through the contact page, and it is removed.
Welcome to the most comprehensive N8N course, where I take you from a real beginner in AI automation [music] to someone who's actually able to build automations and AI agents for themselves or for other businesses. And in case we haven't met, my name is Michele, and over the past 12 months, we've helped over 40 businesses implement AI and automations and taught over 20,000 people in the process. All starting with zero technical knowledge.
So, we're going to go through everything from understanding >> [music] >> what is AI automation to setting up your own N8N account, understanding how to build stronger and faster, more AI automations and AI agents, and finally, actually building systems step-by-step. [music] By the end, you'll be an AI automations and AI agents expert, and you'll know exactly how to build systems that drive real business value. So, the course itself is split into six different modules.
Module one is getting started with N8N foundations. We'll go through exactly what automation even is to understanding how you can set up everything within N8N and build your first automation. Module two is [music] core N8N foundations, using automation logic and APIs, and walking you through exactly how automation really works in the backend. Module three is AI agent fundamentals, and really understanding how AI agents work.
Module four is building smarter AI systems, using frameworks and prompts, which allow our automations and AI agents to make sure that everything that we build is actually scalable, tangible, and can actually be implemented into a business. Module five is real-world AI agent projects, end-to-end builds, showing you exactly different use cases within a business that you can implement [music] AI agents, and showing you how I build it step-by-step.
And module six is real-world AI workflow projects, end-to-end builds, [music] where I show you exactly how we now not only just use AI agents, but use entire workflows to be able to implement into a business, and showing you how I build different use cases step-by-step. By the way, if you want access to all the resources that we're going to be talking about in this video, plus being part of a community of over 3,000 people who are actually building automations every single day and growing their own businesses, check the second link down below.
I'm going to leave all the timestamps down below in case you want to skip through some modules or go to the direct part, or even come back to this video uh because I know it's really long. Um so, without further ado, let's dive in. All right, before we jump into N8N, let's talk about what is automation. Automation is the process of using technology to do tasks without you. Whether it's AI agents, whether it's workflows, whether it's all this stuff, that's exactly what it is.
It's using softwares to be able to do things without you. Now, every day, we all perform many regular ad-hoc tasks. Ad-hoc just means that it's repetitive. Whether you are a working professional, whether you are a business owner, whether that's in sales, marketing, operations, finance, or business management, we all have different parts of the business that we have to do because that's what drives the business forward.
But the problem is, these tasks are repetitive, so they happen every single time. They're no-to-low brainer, so they're not that hard to do. They're low value addition, so you do them, but they don't add that much value into your day. And most importantly, they're effort and time consuming. So, you do them, they take a ton of time, you don't want to do them, they are repetitive, they're very easy, and so the solution is automation.
Now, you might not be fully conscious of it, but automation actually plays a big role in our everyday lives. For example, when we have a meeting in our school community, so we have two weekly calls. One is a weekly huddle, the other one is a vibe coding session. When the meeting is 1 hour away, then it sends a notification over email to my school members. Or Netflix. When you watch a certain type of movie, then Netflix recognizes that, so it says, "Hey, he watched this movie, that means he must like something else, right?" And it gives you a recommendation.
That is automation, because it automates the process of you having to find the movie that you like in yourself. Or a coffee machine. And you might be asking yourself, how does a coffee machine even play a role in this? Well, just hear me out. Whenever a coffee machine finishes making the coffee, then the timer finishes. And lastly, ChatGPT, right? Because when you give a prompt to ChatGPT, then it gives you the output, right?
Now, ChatGPT is a bit different just because it's non-deterministic. So, non-deterministic means that one series of input. So, you can say, "Hey, can you do this for me?" And it does something else. You can say the exact same thing, and it might do it differently next time, right? Because you can't determine the output that you get. But at the end of the day, everything is automation. Now, I don't know if you noticed the way that I was actually explaining these concepts, but we actually use a very simple principle, which is if this, then that.
So, if we have X, then it goes to either A and B. If it's B, it goes to either E and F. If it's A, then it goes to either C and D. And that is exactly how automation works. Everything and everything is built on logic, right? Whether you're building code, whether you're using automations, whether you're using N8N, make.com, Zapier, Power Automate, all these tools, they're all built on logic. If this happens or when this happens, then you do this.
And the question then becomes, what can automation do for you? Well, as a business owner or an individual, it increases productivity and efficiency, which means that you can do more with less, more leverage. You save time to do other things, right? Because automation for a business means that they can now focus on other areas of the business. Has an increase of availability, cuz automation doesn't need holidays, they don't need any emotional support, they're always there working 24/7.
You can scale with less resources. And by the way, we've come to a point where automation allows us to be able to build a one-person company, as you might have heard. Uh but it's all because of the softwares and technologies that is out there. All because of automation. And it's more robust and less errors, especially when it comes to the repetitive tasks that you have to do every single time. Cuz if you are anything like me, when I do something over and over again, I get tired, and my quality of output goes down, right?
And so, with automation, it's consistent. And with that said, let's jump into N8N. All right, so this right here is N8N. Now, all you have to do to get to this page is go to n8n.io, and you'll have this dashboard. Now, as you can see here, it's a flexible AI workflow automation for technical teams that allows us to be able to build automations without needing to know how to code. Now, the automation can vary, right? Depending on what you're using it.
IT, security, dev, sales, you can do a bunch of stuff within this exact platform, and it allows us to have so much flexibility around what we build. As well as plugging it to over 500 integrations, which is a bit lower than other platforms, but it still allows us to be able to speak to different softwares all together. And also, it has the ability for us to code when you need it, the UI when you don't, which means that you can go either way, which is why I mentioned that it's flexible in what we do, because it's great for two kinds of people.
All right, so if I go to pricing right here, I can see how much we actually have to spend to be using N8N. Now, N8N does not have a free plan on the cloud version, right? Cloud version. Now, if you're a beginner to N8N, you have probably heard about self-hosting versus cloud hosting. Cloud hosting just means that you just use N8N within the cloud. Literally just here. On Chrome, on Safari, whatever it is. But we do have the option to self-host, which means that we create our own server, and we self-hosted in our own server, so we don't have to pay.
Now, don't worry, I'm going to show you exactly how to self-host as well in the next few videos, so you'll have that, too. Now, for the cloud hosting version, which is the one that most people use, we don't have a free plan, but we have a starter plan, pro, business, and enterprise. Now, most people use the 24 euro plan, which is, I believe, about 30 bucks. And the way that N8N actually prices us is through workflow executions, which I'll speak about in just a second.
But we do have the ability for us to start a free trial with no credit card required, which allows us to test N8N for about 14 days before we have to upgrade to a paid plan. And here, we have one shared project, five concurrent executions, unlimited users, 50 AI workflow build credits, and forum support, which is more than enough for what we need. Now, if you are building N8N for a bigger company and you want more workflow executions, then you're most likely going to be using the pro plan, which is 60 euros a month.
Now, honestly, this is not super cheap, but when you think about the concept of how they actually price their automations, it is much better than any other platform that I've seen before. And same thing here, but it has a bit more stuff when it comes to the actual plan. All right, so for you, just press start free trial right here, then we can start filling out the form. And then you can press start a free 14-day trial.
Go through the onboarding questionnaire right here, where they ask you a few questions just so they get to know you a little bit more, okay? Podcast, submit. And you can also invite members into your workspace. Let's just press skip. And now our workspace is starting up. Now, I do really like the onboarding um sequence that N8N has. It's really, really quick, and it's really, really easy to follow. Now, because you're watching this video, there's no need to press this video right here, cuz I'll show you everything that you have to know.
Uh but it is a pretty good starting video as well. And this guy is a legend. >> [laughter] >> All right, once the workspace is ready, just press start automating, which will take you to a dashboard that looks like this. So, welcome to N8N. Now, on the top, you get to see that you have 14 days left on your free trial, and you have 8,000 executions, which is again the way that N8N charges you. And then on the top, you have upgrade now, which is a button to upgrade.
I'm going to press X, and now we have this page. All right, so on the top right here, we have a dashboard that allows us to visualize the numbers. So, I can actually press inside each one and be able to see the different graphs. Now, production executions just mean that, "Hey, how many executions?" So, how many times did our automation run every single 7 days? How many times did the automation run, but it didn't work?
Then out of all the executions that didn't run in the past 7 days, how many of them did not work, which is this percentage right here? And then, how much time did you save, or how much time did the workspace save with these automations in place, which is good to have, but at the same time, it isn't super accurate, cuz to understand how much time you saved for a company or for yourself, N8N needs to know how much time did you take in the first place to do it, right?
Because then you're saving them that much time. And lastly, run time. So, for how long are the automation running? Now, right here, and on the top as well, you have the ability to create a workflow, and this is how you start from scratch. This is how you start building. Now, before we get to that, we have workflows here, then we have credentials right here, which is the ability for us to be able to add credentials for the different software APIs.
Now, if you have no clue what APIs are, it's how automations are basically happening, how they're existent. I'm going to go through APIs in much more detail in the later stages of the video, so don't worry. But here, we're basically adding the username and password for each software. So, we always have it here. We don't have to re-upload it again. It's always a repository of passwords. Then we have executions, so we can see all the executions, which is, "Hey, this automation just run." It logs it, so you have everything logged and uh secured here, which is great.
And lastly, it's data tables. Now, I'm going to dive into data tables in this module, I believe, or next module, um where I show you exactly how you can use data tables, how they're powerful, how they're better than using tools like Google Sheets and Airtable or Notion. So, we'll dive into that. Now, without further ado, let's press start from scratch, or you can press create a workflow. All right, and once you get to this dashboard, you'll be introduced with two different options.
The first one is adding a first step, which is adding a first step manually right here, trigger, which is the first step of the actual workflow automation, or you can start using build with AI. Now, build with AI is only something that, depending on when you're watching this video, it only came out about a month ago, but when I press this button right here, it takes me to this right page right here. Now, the good thing about n8n is that it has two different types of support.
It has the support where you can ask any questions about anything, and you can simply type any message here, and it will give you an answer, sort of like an n8n coach that helps you when you're building your AI agents or automations. And then we have the feature, which is build. Now, build again is something that recently came out, but it allows us to actually give it a prompt, so we can tell it, "Hey, what would you like to automate?" And it actually builds the thing.
I'm going to just do this real quick, so you get to see exactly uh how it looks. I'm going to say, "AI agent that drafts my emails." And we have only 20 credits a month to use. I'm going to press go. As you can see now, this is thinking. It's searching through the nodes. I'll explain exactly what a node is. Essentially, it's a step in an automation. It's getting the node details, so it's understanding exactly automations in n8n, understanding which steps to put together and what.
On the left-hand side, you get to see that this is working. Now, you get to see that it's adding the different steps of the automation. And the best way to describe this is that it's searching through a puzzle. It's understanding exactly what pieces do I need for the puzzle, and then it's getting the pieces, and then it's putting the pieces together right here, and then it's connecting, making connections inside those pieces, which we have right here.
And now we can start using the automation. Now, I'm going to delete this and start from scratch, because I want to show you exactly what it looks like without the build with AI. As you can see now, we have no option to build with AI. We just have the first step. So, when I press this, I can see that on the right-hand side, it asks us, "What triggers this workflow?" Now, a trigger, like I mentioned before, is the first thing that starts the automation.
Now, in n8n, we have the ability to trigger manually, so we can manually trigger this. We just press this button right here, which is execute workflow, which means that we are starting the automation, and it executes manually. We're able to trigger from an app event. So, something happens within any of these apps, we can get notified, and then it starts the automation. And there's about 500 apps here, a bit lower than other platforms, but n8n is constantly adding it here, which is great.
We have on a schedule. This is in case you want to start your automations maybe once a day, or you want to run it once a week, or every other Tuesday on a July, you can do this. You can do on webhook call. Now, a webhook is something that I'm going to explain in the later stage of the video, but it's something that we use when we want to get notified when something happens. We have on form submission, which is for us to be able to use forms inside of n8n, so that when someone submits the form, it then sends us the information inside the form, and then we can start the automation.
Then we can do when executed by another workflow, so we can actually have a workflow that calls another automation, right? So, workflow calls another workflow and then brings it data back. Then we have on chat message, in case we want to create a chatbot within n8n. Then we have when running evaluation, so this is in case you want to test the performance of your workflow or of your AI agent. And then you can do other ways as well, which in this case, it's using other different service.
Now, I will cover this in the later stages of the video, but understand that a trigger is just the first step of the automation. Because let's say we do it manually, now we have the ability to then add the next steps. And so, when we have the first step here, the way that this works is that we have this connected to another step right here, and I can choose the next step. In this case, we have the ability to use AI in our workflows.
We have the ability to use any applications, so any softwares, the ability to transform any data right here, the ability for us to have some sort of routing, which means that if we send the automation one way if this happens, the other way if something happens. And again, all these things might look complex because you're new to n8n, but trust me, they're much easier when you actually put them into practice. We have core, which is using code, HTTP, webhooks, a bunch of stuff that you shouldn't worry about now, and human in the loop, which is another feature that I'll be explaining.
So, we have the first step, then we have the next step. So, let's say I want to talk to Notion or Google Sheets. Let's say Google Sheets. Now, we are introduced with Google Sheets, and these are all the actions that we can do within that software, right? So, with every software that we have, let's say it's even Gmail. If I press on the actual software, I can see that all the actions that I can do within that software.
I can add a label to message, delete a message, get a message, get many messages. I can do a bunch of stuff within each software, which is where automation truly shines, because it does the things that we don't want to do, or that we don't have to do. And so, let's say I wanted to go back to Google Sheets, I can just press Google Sheets here, action in app, which you find again right here, action in app. So, then I can go Google Sheets.
I can choose the action that we want to take, which is append a row. And now we're introduced to this page right here. Now, every n8n node has an input, then has in the middle the configuration, which is, "How do we actually set the thing up?" And then the output, which is, "Okay, using the configuration here, what was the output?" All right, so I just made a Google Sheet here that has name, email, phone number, company, role, and address.
Let me name this contacts. Now, here, if I go back to n8n, the first step to building any kind of automation with different steps in the flow, is connecting our accounts to these softwares. So, we're able to access them without us having to go to the actual software to do it. So, right here, you get to see on the top that we have credential to connect with, which is, just press here, you can create a new credential, which means that you're connecting your account, and you're introduced to this page.
Now, if you see OAuth 2, service accounts, allowed HTTP, and you get overwhelmed, don't worry, just sign in with Google. It's just a simple login verification, and you're all good. I'm going to press the account that I want to connect to. You can press select all, so you're basically saying, "Hey, I trust n8n to have access to my Google Drive and my Google Sheets." You will get to this page, which is connection successful, and you'll be redirected here to n8n.
I can make a name, so I can say Michele system account. So, I'm pressing save. And usually, what we have is also the date. And the reason why we add the name is because when you connect 20 to 30 accounts here, you want to know exactly what the account was. And so, the only way for us to know exactly what the connection is, is to name the actual connection. Once you have this here, now the resource is usually, "What is the thing that we're manipulating?
What is the thing that we're taking and doing something with?" In this case, it will be a Google Sheet. The operation is always the action that we're taking. So, as you can see here, we have different options. We have create, delete, delete rows, get rows, update a row. You can do a bunch of stuff. And in this case, you have append a row, which is create a new row in a sheet, right here. The document, it's choosing the actual Google Sheet, which in this case is contacts, right here.
See how I just right here. And also, what you could do is actually go to the ID or the URL of the Google Sheet, which I can find, if I go here, I can find in the URL here, and the ID is usually right here. And then the sheet, which is the sheet within the Google Sheet, which in this case is sheet one. That's a lot of sheet right there. Um and finally, you have this right here. And so, this is where you start to map columns.
So again, what we're doing here is we're adding a row inside here. So, we're adding a row into name, email, phone number, company name, role, and address, which is why when I go back here, I can see that it's asking us, "Hey, what are the different values that you want to send?" In this case, for name, let's just put James Arthur. Let's do email, my email here, my phone number, my company, the role, and the address, so on.
And now, leave everything else as is. These are just other options that you can um sort of play around with, but there's no need for that. And all we have to do now to actually run the automation is to be able to connect this to here. So, this is saying, "Hey, the first step now is connected to the next step." And so, if I press here execute workflow, this should now start the automation and do the action, append the row, like we mentioned, and adding these details in a new row.
So, let's try it out. Let's say I go to execute workflow. I can see that the first step executed, and we know this because it was all green, check mark, and the second step as well. And if I go to my Google Sheet, I can see now that James Arthur, with his email, phone number, James Solutions, CEO, and Spain, was added to our database. And that right there was a full execution from the start until the end, workflow executions, from the first step until the last step.
Now, we can add another step, which let's say is Gmail. I chose to type Gmail. I can choose the software here, and now I can choose the action. So, in this case, it can be send a message. And now we're introduced to this page right here, which is very, very similar to the one that we had on Google Sheets, but the only difference now is that we have access to the previous, we call them variables, right? Because they're different variables here.
And now we can use these variables in the automation. And that's why we don't call them variables, what we call them dynamic variables, because they change every single time. Because when I put name somewhere here, and I run the automation again later, if the name changes, this automatically changes name. So, all I have to do here is do the same thing. So, I can send a message, which in this case is send an email. I can sign in with Google.
I can choose my account, select all. Connection successful. And now [snorts] I can name this, press save. Correct. And now we've connected our account to n8n. So, now n8n is able to use our Gmail. The resource, which is what is the thing that we're manipulating, again, changing, is a message, which in this case is an email. And you can use draft, thread, label, you can do whatever. Operation, which is what is the action that we're taking?
In this case, it's sending. We can do a bunch more stuff here, depending on what you want to do. And then it's asking us, who do we want to send the email to? What is the subject line of the email? And what is the message of the email, which is the email body. So, now, as you can see here, when I pressed on two, it gave me the ability to drag an input field from the left to use it here. So, now I can take the field from the previous step, drag this across over here, email, and have this be the variable that we use every single time, instead of putting the email here, right?
Instead of putting the email manually. Get it? Get it? 25@gmail.com. Because if you do it this way, it's going to be fixed. But, if you take the variable from the previous step, and I drag this across here, then only are we able to change the variable dynamically, without us having to go here and change it manually ourselves. And so, what we're doing now is that we've just pulled in the variable here. We can do name.
So, pull this name here, and say, "Welcome to the team." And also, one more thing that you start to see is JSON code, right? Now, this looks very intimidating for someone looking to get started with automations and going into n8n, but trust me, it's actually quite easy. Because this code right here is literally just the variable here that we just pulled across. So, you don't really have to know exactly what this is. But, in case you're wondering, we can actually hardcode it.
So, we can do curly bracket, curly bracket. This opens this up. You can do JSON {dot} the actual step from the previous step. So, you can go to, let's say, email. And you when you press email, it automatically takes us back to the same place as if I were just to drag this across. And this is great for us in case we want to reference any variables from the previous steps, and there's a ton of variables, and we just want to reference them really, really quickly, we just manually hardcode it.
But, most of times, you're just going to drag and drop. And then, we're going to ask the email type. So, in this case, let's just do text. HTML is just the way that you make your emails look pretty. We can say, "Hey brother, happy to work with" And let's do company. Company right here. So, now we're saying, "Hey brother, [snorts] happy to work with JSON variable, which is company, which is this name right here." We just don't see James Solutions because it's a variable right here.
Now, the good thing about n8n is that we can actually see the output. So, we can see the actual variable before we run it, which is amazing, because now it this gives us the ability to visualize whether it's correct or not. So, James Arthur, welcome to the team. "Hey brother, happy to work with James Solutions." Which is great. Now, what I can do is go back. I can go back here. I can change the email to, let's say, this one here that I have, migdallahcalde5@gmail.com.
And now, all I have to do is execute the workflow again from the start until the end. Right here. This now goes into Google Sheets, and it goes here. I can see now that I have the name, the email, and I guess the email changed, right? Because we changed it manually in n8n. The phone number, James Solutions, CEO in Spain. And as I showed you, it also sent the email. So, if I go to my email here, I can see that we had a new email called James Arthur, "Welcome to the team.
Hey brother, happy to work with James Solutions." Which is the exact same email that we added into our n8n. And so, now that we've built this, I can explain exactly how the pricing works. So, from the start until the end, right? When you are testing, so when we're pressing this button and we're executing this, we're not paying for it. From the time that we want to set this live, so we don't have to manually do it every single time, we can turn this on by pressing this button.
So, right now, the workflow, or the actual automation, is inactive, which means that the automation is only running when we manually run it. When we go inside the platform, when we manually press this button, and it goes here. But, in the case for clients that you want to set this live, it's sort of like this is just for testing. When you're building automations, you're testing here and there. And the live is when you want to actually set this live, it goes live.
Now, it works by itself, and it runs through this at whatever interval that you want. And the good thing about this is that we're not paying for it when we're testing, which is great, because it allows us to be able to spam the testing as much as we we can, because the way that I they actually charge you is by workflow executions, which is from here to here. As you can see, we have the green check marks, which tell us that everything went good, which is awesome.
Now, let's say something went wrong, right? So, if I go here, and I just create a new credential, and I just save it. So, I just put a fake credential. Close. Gmail account. This shouldn't work. So, now, if I execute the workflow, I can also execute it here, instead of going here, I can see that now in the bottom, you can't see it because my face is there, but if I just move myself here, I can see that I have problem in node here.
Right? Which allows us to see that we have a problem in our automation. And so, this node right here, again, a node is just a square within n8n, is a step in our automation. We can see that we have an issue, and it tells us the actual issue, "Unable to sign in without access token." Which means that the authorization, the actual account, was invalid. And on the right-hand side, you can also see if something went wrong, what is it that went wrong.
And you can also ask AI, which is amazing, because this AI is actually good. It's not some sloppy thing that they just added into the software. It actually works, and it's really good. With that said, make sure that when you build automations, you always save right here on the top. And up here, you have the ability to edit. So, this is where we edit our workflows. Executions is where we get to see all the times that this executed, that this ran, right?
The first time it ran, the second time when we had more steps, the third time when we had even more steps, right? So, we get to see exactly the previous times that it ran. And then, we have evaluations in case you're running some more advanced evaluations, you're testing your your actual workflow. If you're building this for clients, you're most likely going to use this, but it is not necessary to start. Going back to editor right here, on the top right here, I have the ability for me to duplicate the actual workflow.
So, if I duplicate this, I have to rename this, and I can press duplicate. And this will now make the exact same workflow here. Then, I have the ability to download. So, if I download it now, I get a JSON file. And so, the good thing about that is that this, in the back end, is all JSON, which is is all code. And so, I can simply just press download, like I showed you, and then you can press import from file, which allows you to import the automation into your own workspace.
So, if I go to a blank workflow, I can simply press this button right here. I can import from file. And now, I can put the actual file that I need. And suddenly, I have the actual automation, which is imported into your my n8n account. And then, finally, we have change the owner, so you can change the owner of the actual automation. You can rename the automation this right here. And you can import from URL. So, in case you turn the file into a URL, you can simply import it there.
On the right-hand side here, like we mentioned, we have the ability for us to add steps. We have the research, so we can command bar, so you can actually search through the different nodes that we have here. We have notes, which is a big part of n8n, because we can actually start documenting our automations. So, I can go in here, and I can say, "First step is manual." And I can delete all of this, and I can put this over the automation, which is great, because when I'm going to give the automation to someone, right?
I can actually give them an explanation of exactly how it's working. If I go here, I can also say, "This step allows us to be able to manually trigger the automation." Right? And so, we have the text here. And you can start to see how bigger automations and bigger workflows use this. And it's something that I use all the time when I have to give workflows and AI agents to my community members who are looking to get them and then start using them right away.
And now they have an explanation of what it is. Then, we have right here focus panel, in case you're doing some note stuff here. We don't really use this that much, so don't worry. Um and finally, we have the AI, which I mentioned is able or is able to assist us whenever we have any questions about automations. Now, you probably might be asking yourself this question, right? Which is, if you can build with AI, why are we learning this at all?
It's because AI only gets you so far. When something doesn't work, how do you know if it doesn't work? How do you know if it's not good enough? How do you know if it's not efficient? Which is where understanding the fundamentals is very, very important, rather than relying on AI for everything. All right. So, now that you understand exactly what automation is, how you can set up your own n8n account, how n8n actually looks visually, plus building your first automation inside of n8n, now it's time to go a level deeper.
Because in the next module, we'll dive into actually understanding how automations really work. We'll dive into APIs, webhooks, and how data flows within automations. We will look at credentials. We will look at transforming data, and also understanding error handling, so if something goes wrong, what do we do about it? And lastly, understanding the core 17 nodes that you need to know when you want to master n8n. So, by the end of this section, you will not only use n8n, but you will actually understand it.
If I had to learn just one skill for AI automation, it would be understanding how APIs work, because fundamentally, they are the things that allow softwares to speak with other softwares. And so, once you understand, really understand how APIs work, you'll be able to use n8n, Zapier, make.com, Power Automate, all with no problems, without getting stuck, and without any limitations. And the problem is, most people skip this.
They go straight to the platforms to build automations step by step, and when something breaks, they have no clue why. So, in this video, I'm going to break down exactly how APIs actually work, how to read an API documentation without freaking out, and how to build your first real API request inside of n8n. Let's dive in. All right, so API stands for application programming interface. >> [music] >> A very fancy term that nobody even knows the meaning to.
But what it means is the ability for softwares to speak with other softwares. Now, think of a waiter in a restaurant, right? This waiter has the chef, and he has the customers. And between the chef and the customers, there's a series of actions that happen, right? So, take the order, bring the order from the kitchen, they deliver the order, make the order. There's a whole repetitive loop that happens over and over again.
And so, that is the exact same when it comes to APIs for softwares. Where we have one software here, one software here, and these two softwares communicate to each other through a series of requests and responses. So, request in this case would be the make the order, the response would be the actual order being delivered to their table. And that is the exact same when it comes to the softwares. And so, fundamentally, the waiter in this case is the API, and the chef is one software, and the customers are other softwares.
And this right here is the thing that allows the softwares in make.com n8n to speak to each other, to be able to have a sequential order. So, we send data to a place and get something back, and that's how automations and AI agents are built. Now, what can APIs do with softwares? There's a few things that APIs can do. We call them requests. So, requests are just a way for the server, the API server, to send information to the actual software itself to then create an action.
Now, the first thing it can do is post. So, this is when any type of new record is created in a software. So, this is like making a Google Sheet row. It's creating a contact on ClickUp, a contact on HubSpot. It's you know, sending information to OpenAI to make a LinkedIn post. This is a post request, which is sending information from one place to another. Then we have get. So, get is extracting any details from any record from the software.
So, let's say someone filled out a form on your website, you wanted to get the information from that form, and then use it for whatever you want. Right now, you're getting information because the information is going from somewhere else to us. That's getting information. Then we have put or patch, which is updating records in a software. So, let's say John's name is not John anymore, it's James, then you use a put or patch request, right?
So, updating information. And then we have deleting. So, you can't see this fully, but it's deleting a record from a software. So, let's say we had a Google Sheet, or maybe a contact, we just want to delete the row, or delete the Google Sheet, or we just wanted to delete the contact. That is a delete request. So again, post is to send information, get is to get information, then put or patch is to update information, and then delete is to delete information from somewhere.
Now, I'll share a story here. So, I was on a call with a client a while back, and she asked to automate different parts of her onboarding process. And she used Zoho CRM as the CRM, which by the way is just a place for companies to store information, to be able to send information to Zoho to make a new contact whenever someone filled out a form. Now, the problem is I had never used Zoho CRM. So, I'd never used it. I didn't know exactly what you can and cannot automate with Zoho CRM, which is why we get to the next part, which is finding the information of what you can automate and cannot automate within a software.
So, what I did is a simple Google search, and I searched up the software name. So, in this case, it can be Zoho CRM, Monday, it can be OpenAI, it can be whatever it is. API documentation. And this is where we get to the fundamental concept of an API documentation, which allows us to be able to see exactly what you can automate within a software and how to set everything up. Now, here's an example of an API documentation.
This is Apollo's API documentation, and at first, you think this is way too complex, but the reality is, if you understand how this looks, all the others will be very, very easy because they all follow a very similar structure. So, the way that an API documentation works is that on the left-hand side, right here, you get to see all the types of requests. So, this is enriching people, it's searching people, searching organizations, creating an account.
There's different things that you can do within Apollo's API, which means automatically without having to go to Apollo, right? And so, each action right here, so each thing that we can do has a corresponding type of request that follows through. [music] So, people enrichment, in this case, would be a post request because we're sending information to the server, and then it's enriching the person. Then we have, let's say, organization enrichment, which is a get request, or update an account, which is a put request, right?
So, we have different types of request and different actions that we can do using Apollo automatically within our automations. And the only way to know is actually just looking here. Now, let's say we go to people enrichment. So, this will now look at what you can do within that specific request, which in this case is enriching people. And this request right here has the type of request, and then has a URL. Now, the URL is something that is very, very important in our API requests because they are the thing that allows us to be able to send the information the right way.
It's sort of like going to google.com, right? The server knows that you want to go to google.com because because of the request, because of the URL. And so, this is the exact same because this allows the server to know, "Hey, he wants to use Apollo, and he wants to enrich people." Then in the middle here, it gives us a summary as to what it is, how it works, and so on. So, these down here are basically saying, "Hey, this is the type of request." So, right here, this is the information you have to send to the server to call the request, to make it happen.
In this case, it's enriching people, and you have to send the first name and the last name, right? And those are the details that you have to look into understanding exactly what to send to the server. And on the right-hand side, you get to see the the actual setup. So, how can we set this up in our automation platforms? And quick side note, the reason why we look at the API documentation is because here, if I go to Apollo, I can't find it.
Which means that now we have to set up the API request using the documentation. And so, the left-hand side is the type of request, the middle is to show you the exact request and sort of to give you a summary of what it is and what it looks like. And the right-hand side is saying, "Okay, we have the request, we have the summary, here's how you can set it up." Now, the main thing that we have to look at when we have to set up an API request through an API documentation is the curl.
Now, the curl is the thing right here that you see, which basically gives us a heads-up or an understanding of how the request actually works. And if I go to n8n right here, and I go to HTTP request, which is the thing that we use to make the actual request, we can see that we have a button right here, which is import curl. And this will be the place where we import the curl, which is the one that we saw on the API documentation, and then this basically makes the whole request for us, which I'll show you in just a second.
Now, this will make much more sense once we actually build the API request, which is super damn easy, so don't worry. Uh we'll go through it step by step. But now you get to see what a structure of an API documentation looks like. And this is for a software called Apollo. Now, if I go to the second API documentation, this right here is for a software called Instantly, which is a cold email software. As you can see, it follows the exact same structure.
On the left-hand side, we get to see all the actions that we can take. On the middle, it tells us this is the summary, or this is what it is, and these are the different variables that we have to send to the server in order to make the action happen. And on the right-hand side, this is the way that we set it up through a curl, which is in code, right? But again, we don't have to know how to code. It's just telling us the way that we have to set things up.
And usually, the curl in this case has a URL, which is the action that we're taking, telling the server, "Hey, we want to enrich leads, we want to send this information somewhere else." And then we have the headers, which usually are a way for the actual server to authorize that this is your account. And the way it does that is through something called an API key, which we use for tons of things. OpenAI API key, we use Claude API keys, Perplexity API keys.
It's just sort of a way for the server to know, like a password, to say, "Hey, this is a key, it's only for me, for my account, so you can take action on my account, and you know it's my account if it's this key." And then we have content type application.json. Sometimes it's there, sometimes it's not. It's just a way for us to tell it to format the information in the right way. And then D, which is the body, which are these parameters, so these variables, which we send through to the actual server to make things happen.
And if that confused you even more, then just wait until we build the API request cuz it'll be very, very easy. And then the last API documentation will be ClickUp. As you can see, I'm just showing you the example, so you get to see the reoccurrence in the structure of an API documentation, which is the one right here. On the left-hand side, we have the types of request. In the middle, we have the summary, the URL, the type of request, which is post, the title, and then here will be the parameters that we have to send through to the server to say, "Hey, here's what you have to do, here's how to do it," and so on.
And on the right-hand side, this is the way that we set it up, which is the exact same. And as you can see, the thing that we really care about is the curl request because this is the right-hand side part of these API documentations, which allow us to be able to know exactly how we set things up. And if you read API documentations a lot of the times, or most of the times, you'll see something that looks like these. These are three random API documentations, and they all follow the exact structure.
So, let's set up the API request. Let me give you a use case. Let's say we want to get the weather of a country or a location, right? If you go here to weather, we can do the OpenWeatherMap, but there's actually this other software, which is called the Weather API. So, if I go here to Weather API, there's this software right here, free weather API, which isn't listed here, right? And this is when we start using the HTTP request.
Okay? So, HTTP request, again, like I mentioned before, is all the case where we can't find the exact software for the specific action that we're taking. So, we actually make our sort of custom API call, which is saying, "Hey, even though we might not have it in n8n, it doesn't mean it's impossible, right? We can still make the actual request," which is where the HTTP request comes in. So, all I have to do is go here, put HTTP, and now we get to this page.
The first thing is the type of request, whether it's a get, delete, head, options, path, post, put, which we went through just now. And we have options head, which I've never used, so probably not something that you should know about. Then we have the URL, which is the action that we're taking, which we get from the API documentation. Then we have the authentication, which we'll go through in just a second. And then we have the parameters, which I mentioned will be here.
And then also the body, which is this right here, right? Or you can also use JSON, which we get from the API documentation. Now, we'll have to set one up so you understand. And let's go to the free weather api.com. We get here, and now I'm saying, "Hey, I don't have it within any 10. So, I really have to go to the docs." And usually you find this here. So, docs. All right, so this right here is the API documentation.
And so, all we have to go is to the request, right? So, we have the getting started, we have the authentication, we have the request URL, we have a bunch of things, but the thing that we really care about is the bulk request, which is the request, which will be up down here, I believe. Yeah, down here. Which will be the request that we will use as an example for the actual API request that we do within any 10. So, all we have to do is copy this, go here, and set up an HTTP request, import curl, just paste it here.
Now, we can see that everything was done for us. We have the post, we have the URL, we have the fields, the key, the queue, which in this case would be um We can see here, we can see that we can do the city name, we can do the US zip code, UK post code, and so on. Um which is required. And then we have the API key, which is the one right here, which is sort of a password that says, "Hey, this is my account. This is um related to me.
Just use mine." And the body in this case, we actually don't need this because this is just an example. So, I can delete this. And we can just work with this. So, type of request, which is post, URL, which is the URL that we use. So, what is the action that we're taking? And then we have the key, which is the API key, which we find on my account. So, when you make a free account, you can go here to the dashboard, and up here you will copy the API key and paste it back here.
And then the queue will be the city name. So, we can do London or whatever it is. And I press execute step, which will now execute the step. So, as you can see here, it successfully ran this. And I get the weather, so the current weather, the temperature of that specific place, which you can then use for whatever it is. Right, so now you got to see exactly what it's like to build an API request, an API call, which we [music] call.
And this is exactly what you can then use in between your automation steps. So, let's say we had a next node, which would be let's do an edit fields, and we wanted to get the temperature. So, temp, temperature in Celsius, 9.3. Yeah. Thank god I'm not in London. I can execute the step, and this will now call the server, bring the data back, and then here you can see that the temperature was 9.3 because this is a variable that we found here.
But again, the reason why we're using HTTP is because if I go here to free weather API, it's not listed here. It's not here, right? And any 10 only has about 4 to 500. It has the main softwares, but sometimes softwares that we want here are not here, which is exactly why we have to then go to the API documentation and find or understand how we can set up the API request. In this video, I'm going to show you how you can master any 10 just by learning 17 nodes.
And these are the exact same ones that we use pretty much 80% of the time when building automations for clients. And honestly, these are probably the only ones that you'll ever need. So, the first one is the trigger. Now, the trigger is essentially the first step of the automation. Like, what is that thing that starts the automation for us to then do the next steps? In any 10, we have different types of triggers. The first one is a manual trigger, so we can just execute the workflow manually.
Now, this right here is something that we use most of the times just for testing. [music] Right? Because you want to test something, so there has to be a first step, and that's where we add a manual trigger. Now, the second one is a schedule trigger. So, this trigger right here is primarily used when you want to run the automation, let's say once a week, once a month, or at certain interval of time. So, if I go in here, I can see that I can run it in seconds, minutes, hours, days, weeks, months, and even custom.
So, this is cron, which you can put your maybe every 2:00 p.m. on a Tuesday or every 3:00 p.m. on a Friday of every month. And you have different settings that you can put so that you're able to to run the automation at a very specific time of the month, of the year, of the week, of the day, right? So, to give you a use case, let's say we had a content system. Let's say we wanted to generate content automatically every single day.
What we would do here is we would go to trigger interval, which is days, one, midnight, [music] and trigger minutes zero. And this is where we put this as the first step of the automation so that it runs every one day at midnight of the week, right? So, we're able to run the automation without us having to manually trigger it. And this is for the time trigger. And then we have the Typeform trigger. Now, this is just to show you an example of a trigger that is not native to any 10.
These two are native to any 10, which means that any 10 owns those nodes. But in this case, Typeform is not any 10, it's a different platform. And so, Typeform itself is a platform that generates forms. So, we can generate forms, and this trigger right here starts whenever someone fills out the hiring form in this case. So, I have the form pulled out here, which is a form that is connected to this Typeform trigger. And what happens is that whenever someone fills out the form, this sends a signal to this node because it's an on app trigger that will allow us to then be notified and start the automation.
So, I'm going to press execute workflow. As you can see now, this is waiting for you to create an event in Typeform, which is waiting for me to fill out the form. I'm going to press submit. And as you can see here, this is now triggered. And we got the data, the name, the email, the phone number, and location as well. Right? So, this essentially is an on app trigger, which means that it triggers whenever an single app starts something or whenever something happens within an app that we can all find right here.
Add another trigger, we have all these triggers, and the on app event is the one that you can use for whatever it is. So, these are all different softwares that can be the first step of the automation that triggers whenever something happens within that software. Now, the next part of the nodes are going to be storage solutions. Now, storage solutions is just a fancy way to say we use nodes that allow us to store information in them, right?
And so, typically we use Google Sheets, we can use Airtable, we can use Notion, we can use any 10's new native data tables, which only came out a few days ago, in order to store information. And this could be a simple Google Sheet that looks like this, which has full name, email address, location, and phone. But it could also mean a data table within any 10, which has name, email, phone number, and location, which is the exact same.
The only difference is that one is stored in any 10, and the other one is stored in Google Sheets. So, let me show you exactly what I mean here. Let me put the um manual execution here. And I can see that inside, I am adding a row. So, append row means I'm adding a row in the any 10 17 nodes, which is the name of the Google Sheet right here. And I'm putting the first name or the full name as Michele Torti, the email as this, and the location as this.
I can press execute workflow, which will now run the step right here. And it will add the row into the Google Sheet, which will be Michele, email, and location as well. And I can also add the phone, which you can also add by refreshing. Let me add let's do 1 555 123 4567. And if I execute the step again, I can now see that I will have a new row that will be added here with email, location, and this as well. Now, the reason why it gave us an error is because Google Sheet doesn't like when you put plus signs or equal signs and so on because these are native equations within Google Sheets.
But you get the gist here. You just store information into Google Sheet. The second one is within the any 10 data tables. So, let me connect this. And in this case, we do the exact same thing. It will be new people because that is the name of the database. And we're adding the first name or the name as Michele Torti, my email, my phone number, and location as well. And if I press execute step, I can see that now it was successful.
And if I go here and I refresh, I can now see that the data was added here. Full name, email, phone number, and location as well. Now, the amazing thing is that once you master Google Sheets and any 10's native data tables, you can pretty much use Airtable, you can use Notion, you can use Asana, ClickUp. All these places where you store information, they're all very, very similar, right? So, if you understand one, the setup will be very, very similar for the other ones.
All right, so now we get to the universal data processing. So, here is where we manipulate data, right? Manipulate data just means that we take some sort of data that comes in, and then we structure it in a way where it makes sense for us to structure it in. Now, in this case, I want to take the um manual execution here. I want to attach it here. And I can see that inside the edit node, if I execute the step, I can see that I have an array, which is basically a list of people's information.
So, we have name, email, phone number, and location. David Smith, David Smith, Emily Chen, Carlos Ramirez, and Aisha Khan. And these are basically giving me the different pieces of information. Now, the only problem with this is that let's say we want to add this to our Google Sheet, we can't because this is an array, which means that it's inside this right here. So, this is where the split out comes in. So, what this means is that if you want to process each name individually, right?
If you want to process this right here individually, then this right here, then this right here, and this right here, and this right here as well, then we have to split them out. We have to take them, as you can see by the diagram here, it's taking them, which is a singular thing, and then it's splitting them out based on the amount of items that are in that array. So, let me just show you. Let me just run this right here.
And let me show you that now we have five items. So, as you can see here, it went from one item, which is the array, to five items. And so, what we're doing here is we're processing each person's details individually through the automation in the next steps. And this is splitting out. So, this is when you have an array and you want to split out each item of that array. Now, aggregate right here is the exact opposite.
As you can see, the diagrams are opposites. And so, what we do here is just bring it back to the way it was before. Right? If I press execute step, I can see that now I have the array that is back there, which is one item. So, you can see we have one item, five items, and one item as well. Now, typically, you would use split out whenever you have cuz a lot of the times we get data all within the same array. We get a bunch of details, contacts, and so on, all within one singular item.
And so, what we want to do is go inside that item and take them out of each one and process them individually. In case you want to add them individually to, let's say, a native data table or even a Google Sheet. Right? You have to process each one individually for it to actually make sense to add them to a database or whatever it is that you want to do. Whilst this node right here, basically when we have a lot of information that is a lot of items, and we want to put them all together, smash them all together, to then send them through to the next steps.
Right? So, it's aggregating data, so it's not everywhere. It's not in different places. It's all within one place. Then, we get on to the logic, which is if. So, this is saying, "If this equals to this, then it's true. If not, it's false." So, if I say, in this case, let me just uh take this out. Uh there we go, right here. So, let me say, "If the name contains um contains Sarah, which it only be one name, then we send it through the true route." Right?
So, if I go here, I can now see that only one went through here, and the other ones went through here. Now, this is great because automation, again, is logic. So, if you want to send the automation in different ways based on whether something is true or false, then you can use the if node right here. Now, the switch node is a bit different because it gives you more flexibility. Right? Let me show you exactly what I mean.
Let me say right here, inside, I have options to basically root the automation. So, I can say, "If the name equals to Sarah Johnson, if the name equals David Smith, then we can rename the output to Sarah, rename the output to David." And what this will do is that it will run through every single one. And the ones that are Sarah, or Sarah Smith in this case, Sarah Smith, Sarah Johnson, it will send them through Sarah.
And if it's David Smith, then it will send it through David. So, if I run this, I can see that we only have one item and one item here because those are the only ones that applied to the logic. And so, how is this different from if? Well, if only gives you the opportunity to add conditions, but don't add more than true or false options. Whilst here, you can put as many options as you want. And this is great because you could have a use case where you have emails.
You can categorize the emails based on whether they're FAQ, whether they are uh promotional, whether they are just normal, whether they are something else. And an AI categorizes it, and then you can use a switch node to then say, "If the email is FAQ, then you send it this way. If it's something else, you send it this way. If it's something else as well." Because you can keep adding root rules. You can say, "If the this equals to whatever, just hello." You can rename it to FAQ.
And this will be another option, right? And you can do as many options as you want, which is amazing because that allows us to be able to root the automation based on [music] the type of input or the output that we get in the previous step. All right, then we have the code node. Now, the code node is amazing uh because it allows us to be able to do a lot of things at once. And code is one of the things that, again, a lot of no-code platforms don't have because in the name no code.
Uh but the fact that n8n added the code option here made it so much easier for us to be able to to transform information from unstructured to structured in the easiest way possible. And it's very, very fast. Yeah, so let's say we have the array here, which is the exact same as we had before, which are just a bunch of names that are all uh within the same array, and we can't process each one individually now. What we can do with the code node using code, and by the way, if you're asking, "How did you write the code?" I just said, "Split out the items from the array." And the array is this.
And then, if I run this, I can see that now, really quick, it uh split out the items in five different um separately. So, then we can go through five items individually. Now, this did the same function as this, so this wouldn't make a lot of sense. But, if you have something a lot more complex, and you need the data to be transformed in a way where it would take you seven or eight different nodes, then you can do it all within the code node.
Now, I'm not going to get into detail about this because, again, we're all here to not write code, right? Uh but just know that you have this option to be able to write code with n8n, and it makes it a lot easier to do more complex stuff. You won't really need them for most of the time, but just knowing that you have the option there to use gives us a lot more flexibility when we're building automations. And then, we have the merge node.
So, let me actually set this up. All right, so for the merge node, what I did is I put two different fields. One is hello, yo, and then the other one is hello, ciao. And when I run this automation, it will run this one first, and then it will run this one. And let's say I put a wait node here. I can put two 2 seconds just for it to wait 2 seconds. I can show you that this right here will run first, and then it will run this one.
Right? Now, let's say that we had an automation where we had to run this, and then we wanted to run this, and then we wanted to go, right? Without us having to go through here first and run your whole automation, and then run through here first. Now, let's say that we had an automation that we start here, and it goes to different ways, but then we want to aggregate the data. We want to send the data up in the same way as two different inputs, input one and input two, to then be able to take both pieces of information to then be able to go to the next steps.
So, that's exactly what the merge node does. If I go here, I can see also I can add more inputs. So, if I press four, it basically uh it can it can intake more inputs at the same time. In this case, I can do two. I can execute the step, and now we can see that we got two items. One is yo, and one is ciao. So, what is doing here? It's it's aggregating both of them together. Now, there are other options as well um to combine, to then SQL query, so you can query different things or different data points.
And then, we can also choose a branch. Now, honestly, the one that we're mostly going to use is going to be combine, and it's going to be append. Now, append in this case would be output each item individually, and combine is taking these two and just putting them all in the same sort of array that you can use for the next steps. Now, here's a system that I built that uses the merge nodes, three different ones. Uh and the way that with this works is that we have um the LinkedIn post, which is made, the Facebook post is made, and then we want to merge them.
So, we have the Facebook post and the LinkedIn post. And then, we have the Twitter post, which is made, the article, which is made, and then we're merging these two together as well to then finally merge all four things together so we can directly send to the Google Sheet. And the reason why we're merging them is because if we run each one individually, then we would have to set up a new automation for each row at a single time to add them to the Google Sheet, which we can actually just remove by just merging them all together in the same sort of structured way, different items, to then send them to the Google Sheet.
So, the next nodes right here are going to be connectivity and API. Now, API is the most important skill when it comes to automation. And if you haven't watched my video about fundamentals of API, just watch it up here. Um but it is the reason why apps get to talk to other apps. Right? It's the reason why this app right here can talk to n8n. But this app right here can talk to this one, right? Or we can just talk to each other um in different ways.
So, in this case, the first node that we have to learn is the HTTP request. Now, this is one of the most powerful nodes in n8n because when we go here, and I go to action app, so this is taking an action within a single app, we can see that we don't have an infinite amount of nodes. Right? Like we can stop here, and then what? What if you have a software that we want to use, but we can't find it here? What do we do then?
Well, in this case, we use the HTTP request. So, let's say I wanted to use a free weather API, which gave me the API of the weather. And if I go here to n8n, I can't see any app that's called free weather API. So, what I have to do is I have to set up the HTTP request all to the free weather API, which I can find in the documentation right here. By the way, I covered this in the API fundamentals video. So, if this makes no sense to you, please go watch that video cuz it will help a lot.
Um but this right here is the API documentation, which is essentially a documentation which allows you to see exactly what you can automate and what you cannot automate within a software, and also how to set up the automation. And so, by looking at this documentation here, I was able to set up the um the automation of the weather API, which looks at the temperature in London right now. And if I execute the step, I can see that now I'm still able to actually run the automation.
I was still able to use the software without having to use the softwares here, which are already pre-made by n8n. And you can see here we have the different outputs. So, London, [music] we have the temperature degrees in Celsius, Fahrenheit, and different other informations as well. Then, we have webhooks right here. Now, webhooks are a way for us to get notified when something happens. So, let's say someone fills out a form, well, it sends the data to the webhook.
You remember this right here, the Typeform trigger? Well, behind the Typeform trigger is actually a webhook, which allows us to be able to get notified when something happens. Well, in that case, it's whenever the form is being submitted, it sends the data to the webhook through an API. Right? So, right here we have the test URL, which is used for testing, and production URL, which is used when the automation is set to active.
And then, we have the different type of HTTP method, which, again, is very similar to here because we have post, we have all these options, and these are the same ones that we have here. And then, we have the path, which is just the way that we that we name the URL. And then, this right here is the thing that you would connect to the software itself to then be able to for us to get notified when something happens within a software.
And respond to webhook will be the thing that will then respond back to the server that we got the information from. Now, to show you exactly how it works, what I'm going to do is use a software called Postman API, which allows us to send example uh test data to the webhook, right? I'm going to go in here, copy this. Make sure you change this to post request, and then I'm going to paste this here. Make sure this is a post request as well.
And then the body will be what is the thing that we're sending the webhook. In this case, let's just do full name. My name. Let me run this here. I'm going to press send. This will now start the workflow, as you can see here. Now we started the workflow and we sent the full name here, which is the body, right? And this is how we send information from one server to another through a webhook. [music] Now let's say I had this connected.
Now all I have to do here is I have to change this to using respond webhook node. And here, um, what we can do is we can just respond with workflow has finished. And so when I run this I send this here. I can see that now we get the data, workflow has finished. Now this is amazing when we are sending data to a software or to a webhook in this case and we want to get something back. So let's say we send the sign-up link to a user in some sort of software.
He signs up, we get something back. Lastly, it would be the AI integration. So this is one of the ones that are most commonly used. First one is the AI node. So this is just to create something with AI. So in this case, we can say create a LinkedIn post about life. And here we have our OpenAI connected. The resource is text. The operation, which is the action that we're taking, is good. The model, it can be You have a list of models here.
You can use GPT-4 or latest, or you can use whatever you want. And then you have the prompts right here. The prompts, there are three different prompts that you can write. The first one is the system prompt. The system prompt is a prompt that you tell the AI you give it an identity. So here you are a helpful, intelligent XYZ assistant. Then you have user. So user is when you tell it to do something. So your task is to do XYZ.
An assistant [music] is when you give it some examples. In this case, let's keep it simple. I'm going to press execute step. And this will now create a LinkedIn post about life. As you can see, sure, here's a thoughtful and professional LinkedIn post about our life. And then it gives me a whole LinkedIn post that we can then use. Now this AI step is used whenever you want to have some sort of data or some sort of input sent to AI, just like we would on ChatGPT, automatically and then give us the output.
For content, for any structured data that you want structured, for anything pretty much that you can think of AI playing a role in the automation, just as a linear thing, for it to do just that task in specific, only that task. And then we have the AI agent. If you haven't watched my AI agent 101 video, make sure to watch it up here. It explained exactly how you can build your first AI agent from scratch using n8n. But the AI agent is the reason, probably the reason why n8n blew up so fast is because it had now the opportunity for us to use something that was connected to AI that could think through or that could remember the different conversation we had but that was also hooked up to different tools.
So in this case, if you scroll down we can see that we hook it up to Gmail. We can hook it up to Airtable. We can hook it up to or pretty much anything. We have all these different softwares that we can use to then be able to connect it to the AI agent for it to actually take action. And the good thing is that the Gmail tool can be connected and the Airtable tool can be connected and the let's say Notion tool can be connected and you can have as many connections as you want and this acts as a personal assistant that allow us to be able to take action on different things based on the input that we give it.
So in this case, what it would look like is we would have a trigger, which would be usually it would be an on chat message, which means that we're chatting with the AI agent itself. If I open chat, I can now see that I can speak to the actual AI agent, something that you can't do with the AI step. So I can say, "Hello." What this will do is that it will then talk to its AI. It will remember the conversation and then bring it back.
It's sort of like a person that we're talking to. And the good thing is that the person itself has access to our softwares. Which is amazing because now we can take action on our behalf based on the input that we give it. So if we say draft an email, it will then go to the Gmail tool and then do its thing. Same thing with Airtable and same thing with Notion. And the use case that you can think of this is pretty much anything, any task that you want a singular input data store.
So you basically have, let's say, one chat message, right? We have one place and through a series of inputs, so through a series of sending Gmail, sending Airtable or create a Notion task or whatever it is it takes actions in different softwares without us having to create a new automation for every single action that we want to take. In this video, I'm going to walk you through everything that you need to know about data transformation and using JSON within your automations.
Now I know this topic scares quite a few people and it scared me coming into automation as a beginner with no technical knowledge, but it actually is quite easy and very, very important to understand. All right, so JSON 101. JSON stands for JavaScript Object Notation. So if you see JavaScript here and there, it stands for JSON cuz it's JavaScript, so J S O N right here. What it is, it's a way for servers to store and transfer data.
Right, it looks like text, but it's structured so computers can read it. Now the best way that I can describe JSON is English for computers. It's the language that computers use to speak to each other. Right? And that's why it's very, very important for us to understand it because pretty much everything is built in JSON. Right? APIs, which I spoke about in another video up here. Config files, databases, but also your favorite platforms like make.com, n8n or Zapier, they're all built on JSON.
It's crazy to me that people still don't understand that cuz behind the nodes, the squares and the [music] the steps if you really look at it, it's all JSON. That's why it's very, very important to understand. Now we use a very basic structure in JavaScript. [music] When we write JSON, we use key-value pairs. So the keys are strings. They're always going to be in quotes. And the values can be string, can be my name, number, can be an age, boolean, which is true or false, null, when you get no data, it's going to be zero, zero data, object, which is basically a JSON inside the JSON, an array, which is a list of items, which I'll walk you through step by step.
So these are all the different types of values that you can get using the key. Here's an example of a basic key-value pair. We have the key, which is name. We have the value, which is Michele in quotes because it's a text string. The age, which is key, which again is in quotes because it's always a string. The age, which is not in quotation marks because it's an age, so it's a number. Then student and then true. Which is boolean, which is true or false, right?
So we have again name, key, key and key, and these are values, but they're different types of values. Now arrays are ordered in list inside of the brackets. Now let's say you go to the grocery store and you get the groceries. Right? The groceries isn't one thing. Groceries is a list of items inside the key, which is groceries. And so this is the same exact example when we have skills. So the key is skills and the value is automation, AI, Notion, which are my skills.
And so why do we use these? Well, we use this when we have the same key, like groceries or skills, but we want to add multiple items in the array, right? The array is just the the list of things, um, to to explain the key, right? To explain skills, to explain groceries, to explain whatever it is. We have nested objects, which are JSON inside the JSON. And for example, we have the key, which is person. The key is also name, but the name is inside the person, so it's JSON in JSON.
Um, and then we have contacts, which is email and phone number. So we have different pieces of information, but it follows a very clear hierarchy. Hierarchy just means what is the first thing that you should see and then what is the next thing and what is the next thing. Of course, the first thing is person. The next thing [music] is name. And we have contacts within the name and we have email and phone number. And then we close off with three curly brackets because we start with one, two and three.
Right? So nested objects is usually the thing that we always [music] use and that n8n, make.com usually uses when they want to show different types of data inside the data. Right? So you might have a Google Sheet and the Google Sheet might show the ID of the sheet. It might show the sheet name. It might show the row values. It might show different types of things. And so to show those things, it uses the nested objects.
And so JSON applying into APIs, and if you've never heard APIs, it's just basically how a software speaks to a software, how these softwares are actually able to work through APIs. This is a HTTP request, which is a request that we send to a server to do something. So in this case, we have a curl and a curl is just a bunch of JSON. Now don't worry about what this means, but this is a request. This is something that we send to the server saying, "Hey, can we get something?
Can we Can we do something?" Right? In case you want to get new rows or you want to add a row to a Google Sheet or you want to add a contact on ClickUp or do something else, this is what you use. And then the response, which is always going to be in JSON, looks like this. So let's say we're looking for users in a software, let's say. And the output that I get is the ID of the user, the name of the user, the email, whether the user is active or not and [music] the roles of the user, which is an array because there can be different roles within the same person.
And so we have the keys, which are all inside the quotation marks because they're all strings. >> [music] >> And we have the values. But the values can change based on whether it's a number, a string like this a boolean or just an array. So how does this now apply to n8n? So if I go to edit first step, I can add a manual trigger, which is just a first step of the automation manually. And let me add another node, which is edit fields.
Now this node right here is very, very important and is something that we typically use to transform data, which is getting an input, which can be a name, it can be a bunch of values, then putting it here right inside the edit fields node, which transforms the input and then gives us the output. So if I go here to mode, I can see that I can do manual mapping. Let me zoom in. Or I can actually write things in JSON. And this, again, is the key value pair, key value, which is the exact same as the thing we spoke about.
Now if I go to manual mapping, I can now start adding fields to set. So I can say my full name is Michele Sorti. Right? And I can see that this is a string. Why is it a string? It's because it's text. If I put number and I run this, this would be null because there is no number. It's just text. And it deletes it, right? And so, if you go back to string, put my name, what I can do here is execute the step, which will show me the output in schema, which is basically the way that we all look at it because it looks a bit messy in JSON, the table version, or JSON, right?
So, if you've never pressed on this button JSON, this is what it looks like. We have an object right here. We have the key and we have the value right here. Now, let's say I wanted to do age and we do um 20. If I execute the step, now you can see that the object right here is increasing in the size because there's a new key-value pair. And bear in mind that this is text right now. It's not a number. So, if I wanted to change this to a number, look at the color of this, it changes the actual type of output.
Right? So, it changes the type of output that comes here to 20. Let's say I wanted to do Boolean. This is true or false. I can say student false or you can do true. So, we're saying, "Hey, [music] his name is Michele Torti. He's 20 years old and he's a student, right?" And then you can also be adding an array, which in this case can be skills, like I mentioned before, and you do square bracket square bracket to end it.
Then you put skills. You say notion. You finish it off, then and then done. Then make and then you do something else, right? But we are adding items inside the array, which is here and here. Two items right here. Boom. Now, if I press execute step, this will now show the skills like this. It will show the full name, it will show the age, the student, and the skills right here, which are wrapped up in square brackets right here.
Notion, make, and so on. And finally, we have the object, right? And the object can be a summary. Let's call it summary and let's copy this full thing, this whole object, because this is an object again, from here to here. And I can paste this here. If I execute the step, this will now add the new object that we have, which is called summary, and we have it this again, which we just copied up here. Now, why am I showing you this?
It's because typically when we get inputs from the previous node, the previous step, we send it here to then be able to change the data. So, let me show you an example here. Let's say I have Let me delete this. Let's say I have the full name and I wanted to get just the first name. So, let's say I run this and I have the output, which is full name. Let's say I add another edit node right here. I can go here. I can remove [music] this.
And now, let's say I wanted to take the full name and I wanted to transform it into just the first name. What I do here is I press here. I can say first name. And if I go here to expression, I can put curly bracket curly bracket. And now inside here, it says anything inside the curly bracket curly bracket is JavaScript, which is JSON. Right? So, we're saying I can actually reference previous variables using this. So, I can say dollar sign JSON, which is the way that you start when you want to reference some sort of item here, dot full name, right?
Which you got right here, full name. And so, that is how you can reference these variables from the previous steps to the next steps. And that's how dynamic variables work, right? Because they are dynamic, they change every single time. Cuz right here, if I run this, I would also have the first name, which is Michele Torti. But if I go back here and change it to James, and I run this again, this will now be James, right?
Which is why it's dynamic, which is why automations are brilliant because they change data and you can automate the process so you don't have to do it yourself. So, okay. Let's say we have the full name here. Let me go full screen by pressing this button right here. And let's say I wanted to take this name. I just wanted to get James. Now, inside N 10 and the reason why I would say for a beginner it looks a bit technical uh because of this, because make.com doesn't actually show you this, but that's what it is in the back end.
I can, after the whole variable, so full name, which again is this, what I can do is actually use some formulas. So, I can put dot, which now allows me to see different things that I can do with this full name. I can split the first name, which we're going to do. I can check whether the um the name includes something, right? So, you can see here whether the team includes T and it says true. And so, these are all formulas that you can use within your um the full name.
Honestly, you'll probably use maybe five or six of these, so don't even worry about understanding each one. Um one of them that I use a lot is split because I usually want to split the full name so I can get the first name. So, in this case, what we're doing here is we're getting the full name, which is James Torti. What we're doing is saying, "Hey, let's split this name by the presence of a space so it gives me this, which is first name, and then last name.
And then we want to get the first, first one, which is James. And that's the way that this works because everything in JSON is logic. Everything in code is logic. Right? So, if you put logic here into this automation, or not automation, in this variable, then you're saying, "Hey, let's split this by the presence of a space." So, we do the apostrophe here and we actually put the space in our keyboard. So, now we can see that we have the first one and we have the second one.
And now, after we put split, then we want to put dot first because we're returning the first element of the array. Cuz you can see here, this is an array, right? Because it has this {comma} this {comma} that, right? So, let's say I had the full name being James Torti Arthur, it would then be James {comma} Torti {comma} Arthur. And so, after this, we want to put first >> [music] >> and this is how we get James. And that's how in emails you can turn the full name into a first name by using JSON and by using formulas within the JSON.
Now, you looking at this right now, it probably looks very overwhelming and it was very overwhelming for me at the start as well. But when you understand the ones that actually do matter, cuz yeah, let's be honest, you're not going to be using all these, they work very well, right? Like if you understand split, for example, and understand that this is the formula that you use every single time to split a full name from something else, then you're pretty much set.
That's it, right? And the good thing is that you have an AI on the right-hand side that you can ask any questions to, which can also help you. And so, that is how we can transform data. We can take some sort of full name, we can then use some formula, and then we can output the first name, right? From here to here. And that is data transformation. That's how we use JSON to be able to take an input and turn it into something that's an output.
And quick side note here, if you're wondering what's behind this, I mentioned it's JSON, let me show you what I mean. I can copy this. I can go here and if I paste this, this will be JSON because these are nodes that have parameters, that have different stuff, which are all JSON. And the reason why this N 10 make.com works very well is because we don't have to see this. But just know that behind this is this, right? So, it's all JSON.
That's why understanding JSON is very, very important because it gives you the understanding of how things actually work together and how the English language in computers actually works. Now that we have this, full name >> [music] >> and then going to the first name, now we can add some branching. So, we can add some some conditions. And we can add if. So, if is saying, "Hey, if this variable, which again we can get by doing curly bracket curly bracket, JSON dot first name.
So, JSON dot the variable that's here, right? JSON dot first name equals to James, this will say true, true branch. And if I go outside of here, I can see that this is a true branch. This is a thing that is true. Then we can now send the automation one way if that specific criteria or condition is true. And if it's false, then we go down this way. And for example, if I change the the name to Michele, execute the step, now this will be a false branch.
This will go down defaults. And again, behind this, what it does is that it uses this variable. It then says, "Hey, is this variable equal to this? If yes, [music] then it's true. If not, then it's false." Because again, everything lies on logic. Everything is logic in automations. Whether you have this or whether you have [music] this, conditioning into different paths. All right. So, right here I have an AI agent. So, we'll see how JSON actually applies within the AI agent.
I can open chat and I can say hello. And what it's doing now is it's is it sending the information here, JSON, which is session ID, action, and chat input, which is the thing that I just told it to do. So, these are different items that we get as an output from the actual thing. It's transferring data, so what you see here, the line is actually just transferring the data here, to this AI agent, which is giving the chat input as an example in JSON here.
Then, using the chat input, is then talking to the actual open AI by giving it JSON again, which is messages, right here. And then the output that we get using open AI is this. "Hello, how can I assist you today?" Which again is the output, which goes here. "Hello, how can I assist you today?" So, everything that you see within your automations, data here and data there, or some sort of variable going to the AI agent and then going to something else, it's all JSON.
That's how data flows within different automations. And so, let's say now I wanted to take action on my email. I can say send an email to michele.torti5@gmail.com saying we have uh football tomorrow. I can press go. This will now send the data here. It will then call the tool and then it will send the email, right? And if I go inside here, I can see that this is the input. The messages is the input, the subject line and email body.
And the output is the response, which is the email ID that I just made, the thread ID which is a thread of the email, and then the label ID telling us that this is sent. And this right here is an object. Right right here. The same way that it was person name, it was contact, it was whatever it is. All right, and lastly here we have a form that I just made. If I go to the form, I can see that I have the full name, the age, and the date.
So I say Michele Torti. The age will be let's say 20. The date, let's say the date is today. The 20th. I can press submit. What this will now do is it will send the data to our automation. And we get back the full name which is a key value. Key, as you can see here this is a value but it's not in quotation marks because it's a number. And then everything else is a key value pair with this because it's all a string. It's all text.
Now some fundamental rules to remember for JSON is that the keys must always be in double quotes. The keys right here, name, must always be in these two codes because it's always a string. If you don't put it that way, it'll break, right? The second thing is to understand the difference between string, number, boolean, null, object, and array, right? And how these sort of function because then you're able to understand JSON as a whole because it is just that.
It is just strings which are text, numbers [music] which are just numbers with no quotation marks, boolean true or false, null no data, object which is JSON inside the JSON, and array which is a list of values. Then we have the third rule which is separating pairs with commas. So we have the key which is name, the actual value, comma, the next thing, comma, the next thing, and then the last one doesn't have a comma, the one nearest to the actual curly bracket which finishes off the JSON structure.
And lastly is wrapping the whole thing in quotation mark if it's an object. And an object in this case is just a list of key value pairs, right? Key, value, key, value, key, value. And we wrap up the whole object using curly brackets here and curly brackets here to finish it off. And if you're someone who's serious about starting and scaling your AI agency, then you might want to check out the first link down below which is a video that walks you through our one-to-one mentorship program which is a program where we get to work with you one-to-one to help you start and scale your agency to 10K a month.
Webhooks are by far one of the most powerful thing within automation. Yet most people still have no idea how they work. So today I'm walking you through exactly what a webhook is, how you can use it in real life, and how you can set it up within your own N and so by the end of the video you'll be able to use it within your own automations even if you've never touched it before. So let's dive in. So what a webhook is is essentially a URL that allows us to get notified when something changes within an app.
So think of it as someone coming into your house and ringing your doorbell. As soon as they ring your doorbell, you instantly get notified, right? And we could usually refer to this as an instant trigger. That's exactly what a webhook is. As soon as something happens, we instantly get notified in the webhook. Now the business use case to this could be someone filling out a form. So as soon as the user fills out a form, whether it's in the website or something else, we instantly get notified so the webhook receives the data meaning receives the responses from the form and then starts the automation which is the one right here.
All right, so let's jump onto N and right here real quick and we can add the first step. So adding the first step just asking us what is the trigger? What is a thing that starts the automation? As I mentioned, when someone fills out a form, the first step will be the webhook because that's the thing that allows us to actually start the automation. Now the webhook can be found here. So on webhook call, we can obviously trigger manually an app event on a schedule, form submission.
We can do a bunch of stuff but the webhook itself is this one and it runs the flow on receiving an HTTP request. Now HTTP stands for hypertext transfer protocol, very fancy way of saying that data is passed from one app to another when we get notified, right? So when we tap on here, we get introduced to this page right here. On the left hand side is basically pulling in from the webhook so it's listening for new events.
So when we press this button, it now the webhook itself it's listening for notifications coming from some server, some sort of server. So let's stop listening. And in the middle, this is the configuration and on the right hand side is the output. So when we get notified, the notification will show up here. So right here the first thing that we see is the difference between a test URL and a production URL. Now this is quite misunderstood between what they are but a test URL so if you look at the the actual thing, the actual URL in this case, it says test but production doesn't have test.
Now when you want to deploy which means that you when you want to activate your automation, you typically want to use the production URLs. That's the main use case for this but you can use the test when you test and production is again when you want to activate your automation. Now right here you can see that you have a URL. So again, the webhook itself is URL that's accessible to anyone. It's literally it goes on the web.
It's just a normal link that you can use for anything that you do. So if I press here, I can easily copy it and I can go to to Google and actually search it. But again, this is a thing that allows us to actually get notified when something happens and we also get this this long string. So this is the the unique part which is 3826BB2D9056 and this is the path. This is what we call a path. Now the path can be changed to something else like hello.
Like hello Michele, whatever it is. Or we typically want to have a long string. It doesn't really matter. But again, this can be this can vary. This can change, right? And it doesn't really matter what you put here. Now when it comes to the webhook itself, we have different types of method. Now when you want to get notified from a server, you typically want to use one of these different HTTP methods. So the HTTP method can be a get which is getting information, head, patch, post, put, and delete.
Really the only ones that I've actually used after building hundreds of automation is get and post. So a server could say, "Hey, I'm sending you the notification but you need to be a put request or a post request or a get request." Right? So this is the thing that you put here. The path again I explained which is the last part of the webhook. Authentication is basically saying, "Do you want to add a password so only you only the people who know the username and password can actually access it." You can use it but I don't really use basic auth and header auth or JSON webhook token auth.
It doesn't really matter like the difference between doesn't really matter but just know that they're used as a way for us to say, "Hey, don't breach across this point. You need to have a password to actually use it." So that's what we use authentication for but typically I would have it as none. And then for the response we have immediately, we have when last node finishes. So immediately just means like when this happens, immediately send the data here.
We can have when last node finishes so return the data when the last node which means that the last step of the execution is finished, the last step of the automation, and then it sends the data back. And we can use a respond to webhook node which I'll show you in just a second, and then streaming as well which we don't really use uh so don't worry about it too much. And then we have different options. So for options, I would usually have the raw body so in case we need it.
But for most of the times because we're getting notified because we're getting something, we wouldn't use any options but you can have the option to basically have some different options here that you can use for the different types of requests that you're getting. But typically we wouldn't put anything here. So with that being said, if you go here to webhook, when I spoke about the respond to the webhook, we also get a webhook response.
Respond to webhook. So what this means is that when we get notified from the server, we can actually give it a response back to the server. So let me show you what I mean. So because this is accessible on the internet, I can copy this, I can listen for the test events. And let me just go like here. And then I can see that now the message says workflow has started. So if I go back here, I can see that [music] on here I get a bunch of output.
So I get the user agent, Mozilla which is basically telling everything about my browser, a bunch of codey stuff that you don't have to worry about but just know that because we opened it on the browser, it's basically giving us a bunch of information that we then can use for the automation. So let me show you exactly what I mean by a respond to webhook. So let's say we add this here and I go in here and I say all incoming items.
So we're basically saying, "Hey, I'm going to give you back everything that you gave me." So if I execute this workflow, I think I have to change this to yeah, you respond to webhook as well because this is the response. Execute the workflow and now I go here, I can see that I get a bunch of different text. So this is exactly what sent to us but because we're sending it back, we get everything here. So that's why it's sending us everything back.
All right, so you understand what a webhook is now. You understand sort of the different things, the different settings. Let's actually put it to work and see how it actually works in a business case scenario. If I go here, let me just put in production mode and let me copy this. Uh the workflow that we're going to basically make is starting from a Typeform which is someone filling out a form and then we can add it to let's say a Google Sheet and then we can send an email back to the person that filled out the form.
So let me go to Typeform. So this right here is the Typeform that we're going to use for this test right here. It all starts with full name, email, and what are you looking for? Very simple. You can obviously add more details like company name, budget, whatever it is that you have but let's start here. I want to show you exactly when we fill out this form, how does it send the information to N and N? So let me go to workflows.
Let me go to webhooks right here. So you can connect with any app to send responses or trigger actions which is exactly what we want. We want to add a webhook which will take us to this page. We can add a webhook and then here is where we go inside and we actually what is it? Production URL. Let's copy this and let's put it into here. And we can save the webhook. Now once this is done, we can we typically want to send a test request to make sure that it does work.
So let me go here. Go inside and listen for test events. I can send a test request [music] and now it's giving me an error. So let's see why it gives me an error. So below on the response, we can see the workflow must be active for a production URL to run successfully. You can't activate the workflow using toggle. Okay, so this is what I meant before. So if you go here, I just pasted the production URL. Let's do the test URL because again, the production URL only works when you activate the automation.
So let's do test URL. Let me copy this. Let me go here. Let me replace webhook. And now we can test it again. So let me listen for event. And I can test the [music] request. In this case it's giving me another error. So let's see the response. And now it's telling me the webhook is not registered for post request. Did you mean to make a get request? So now this is goes back to the fundamental where I told you some servers ask us to do a different request.
So in this case for the HTTP, they say, "Hey, this is not set up to do a post request." So all we have to do is set up to the to do a post request in this case. And then we can try again, go here and then send a test request and now it should be successful, right? 200, which means it's all good. The workflow has started. And if I go back to n8n, I can see that we have the output, which is successful, right? Which is everything.
Okay, cool. Now, now we know that this works and we know that we get a request whenever this is post and it's test just to test until we set it to active, we can then fill out the form and see the data that we get. Go here, listen for events, go back to Typeform, and then I can activate this cuz we want this to be on every single time. I can copy the link to the Typeform and then I can start filling it out. So let me do Michele Torti, my name, or my email.
And what are you looking for? I want to learn automations. And I can press submit and now this information will be sent to n8n right here with a different output. So we have headers, which is just a bunch of fancy stuff that you want to look at, but then what we actually care about is not the body, but the responses. Where is it? The answers. So Michele Torti, my name, the email is this, and the text, the third one, is this.
So these are the ones that we're going to use for the next steps. The form submitted is sent the data to the webhook. It's like, "Hey, we have this data. Someone just submitted the form. Now use it for whatever you want to use. Here's a notification." Okay, once we have this, what we can do now is we can add it to our Google Sheet. So let's make a Google Sheet right now. Let's name it new form request. Let's do full name.
These are the the variables that we had, email. Uh once. Let's just do once. So let's connect this to n8n. So I go here, I can press plus, I can go Google Sheets. And then what I need to do is append a row in a sheet. Connect it. All you have to do is go here, sign in with Google, very very simple. And then I can do sheet within a document, append a row, which means add a row. And the document will be new form request.
There we go, the first one. And then the sheet will be one. We want to map each column manually because we want to do this manually. And then the full name will be the one here. Where is it? There we go. Text. Because this is [music] the text that we got. And you know this because these are the answers, right? You wouldn't put it here if it wasn't the answers. And then email would be the one here, so you just drag it across.
And once will be the last thing, which is I want to learn automations. So it's always good to test because when you go here, how would you know this is the answers, right? I mean, it says answers right here, but it's much better if you test to get actual answers that you know you put, so you can just map them here. And this is all good, so I can just execute step, which means I'm just testing it. This is executing, so if I go here to the sheet, I can see that this is already added.
Let me add this to bold. And then I know this works, so I can go to the last step, which is sending an email. So email in this case will be Gmail. Uh create a message. No, send an email. Yes, send a message. All I have to do to connect to Gmail to to n8n is go here, sign in with Google, very very simple, like Google Sheets. And then here I have to put message send because we're sending the message. And in this case, who are we sending the email to?
We can either pull it from here or we can pull it from the actual form itself, which is the email, right? I can put it here. The subject line will be thanks for filling out the form. Then it's asking us for the email type. Now HTML is just the way that we make our emails fancy. We can leave this as text cuz we don't need to use HTML. We can go here, full screen. And then here I can say, "Hey, I can go down to my name." So hey Michele.
And obviously, ideally we want to have just the first name and that goes into formulas. I don't want to get into this uh just for this video cuz it's a bit more complex, but I can say, "Hey Michele, just saw our team will get back to you as soon as possible. Thanks." All right, cool. So we said, "Hey, webhook name", which is a variable that we're pulling in from the form because again we're using dynamic variables, it changes every single time.
We're also saying, "Hey, what do you want Who do you want to send an email to?" And that's about it for the step. So let me test it. Okay, I just realized that it was actually wrong. I put an extra O, so I I actually didn't send an email. Um but you should be getting the email when you send it through. I just had to put one O less, but that's how that's usually how it works. You just send it and you get this output right here.
So let's test it from the start until the end. Let's execute the workflow and let's do a new form. So let's refresh. Let me go here and say James Low. Let me do my actual email without the extra O. Automations for lead generation. Submit. We go here. It's talking to Google Sheets to actually add it, but we got the the output here. So if I go here, I can see that the answers in this case was James Low, was email, and then it was automations for lead generation, which rhymes.
Uh let me go to Google Sheet, which appends a row in the sheet, which means that it added. So if I go here, I can see that James Low was added. And obviously this would be a project management tool, it could be a CRM, whatever you have. Um but we added it here so you so you can keep track of all the different requests you're having. And lastly, we have the email, which was sent this time with the right email. So if I go to my email right here, I can see that I have an email from Michele which says, "Hey James Low, just saw you filled out the form on our website.
Our team will get back to you as soon as possible." Of course you want to add more. And then it actually sends this as well, which is which we don't want. So all we have to do is go here and then we can go to append n8n attribution. We can turn this off so that whenever it sends us an email, it
The words are the caption track's own and nothing is reworded or re-transcribed. Paragraph breaks are placed between sentences so the text reads as prose.
Free tools for your own script. No signup, no login.
Paste your draft and see where viewers are likely to drop off, with a rewrite for each weak line.
Paste the first 30 seconds of your own draft for a hook score and rewrites.
Check your draft against YouTube's advertiser-friendly guidelines before you record it.
Read this channel's public videos and transcripts, and download a writing brief for it.
| Average words per sentence |
| 15.6 |
| Longest sentence | 68 words |
| Questions asked | 162 |
| Sentences containing a number | 116 |
Most used terms
Filler phrases
337 in total: right? 104 · actually 72 · like 46 · um 28 · uh 25 · basically 22 · sort of 22 · you know 8 · I mean 6 · literally 3 · kind of 1.
A literal whole-word count of the same phrase list the Prepublish browser extension uses, so a phrase inside another word is not counted and a phrase used in its ordinary sense still is. It is a count and not a judgement.