Unlock 80% of n8n’s Power with These 17 Nodes

A 15-minute tutorial by Michael Elliott explaining how 17 core n8n nodes cover ~80% of real-world automations. He argues automation mastery is pattern-based (not memorizing nodes), then demonstrates triggers, storage nodes (Google Sheets, Airtable, n8n Data Tables), data-processing nodes (SplitOut, Aggregate, Set, Merge, Code), logic nodes (If, Switch), AI features (model node and AI agents), and integrations (HTTP Request, webhooks). Practical tips include testing with Execute Workflow, preferring native data tables for speed, using the Code node only when necessary, and using HTTP requests to connect any API.
Chapters
Most people think, especially newcomers, mastering NAN means learning hundreds of nodes, watching countless tutorials, and that is actually backwards. I've built over 2,000 automations for businesses and I've used effectively the same 17 nodes in about 80% of them. These are probably the only ones you will ever need. In the next 15 minutes, I'm going to show you exactly which ones they are and how to use them like a pro. If we've not met before, my name is Michael Elliot. I've built some of the most robust automation systems for some of the largest companies in the world. DirecTV, perfect draft, mercury Holidays. And I know more than most that people overcomplicate nan. They really do. They make it out to be something that it isn't. Here's what most tutorials won't tell you. Learning NAN isn't about memorizing every feature. It's about understanding patterns. Once you see how these 17 nodes work together and what they can do to manipulate data, you will be able to build almost anything. So the best part, by the end of this video, you'll understand the exact systems that we use at AI Train every single day. For clicking client work to master that 80%, let's dive in. Every automation in NAN starts with one thing and that's a trigger. Here's what nobody tells you about setting them up though. The trigger is what kicks off your automation. It's the ignition switch, right in. In nan, there's plenty of types of nodes, but some are native and some aren't. So if you look at the screen now, these three triggers are native. That means that NAN owns them and it's on the NAN platform. That's why they exist. Google Sheets. I'm sure you're all familiar with Google Sheets. This is a trigger that actually exists outside of nan and that is the difference between these. Now, when it comes down to executing workflows, right, this is your testing best friend. You click Execute workflow and it runs instantly. We and you will use this constantly. It's not for live automation, it's not for live flows and building, but to test every single workflow before it goes live. You execute it manually, see what breaks and fix it before it matters. Now the schedule trigger. Really nice and easy. This is time based automation. Okay? If you want to generate content every morning at 6:30am, this is the node for you. If you want to pull weekly reports on a Friday afternoon at 5pm, this node is for you as a visual, like a visual demo. You can go into it, you can have a look, you can see seconds, minutes, hours. You can set intervals literally any time that you want. Or you can use Cron for ultra specific timing like you know, every Tuesday at 2pm, first Friday of every month, whatever you needed. Like that's what you would use custom, custom chrome for a real use case of this content systems that generate posts automatically every morning. Like you wanted a post to go out on Facebook every morning, then you would schedule it to trigger and fire off zero manual work. It would just happen. Now when it comes down to the Google Sheets node, this is where it's interesting because this is not native to nan. This is using a trigger that is actually pulled from Google Sheets. So this fires whenever. This particular node that I've got fires whenever a row is updated. There are different options that you can choose. Look, trigger on row added, row added or updated. But I've got ROW updated as my, as my trigger for this example. And if I go into this now, right, if you, if I click into this, there's no output, there's nothing in there. If I look in the lead sheet though, that it's connected to, which I've used this ID for, which is in between the edit and the letter D, which is the, the id. If I look at that right and I come in here and execute this workflow now it's going to execute and it's going to pull through the information and it's going to spit out the information that was provided inside of it. Now if this was enabled because it's set to every minute mode, right, poll times, which is how many, how often it rolls over, it would have pulled. But because it's inactive, it wouldn't. All of this is inactive, which is why you're not going to see it. And then you have the chat trigger, which is, which is here. And the chat trigger is for AI agents. When you send a message to an agent, the trigger caches it and it starts a conversation flow. We'll dive deeper into that a little bit later on when we hit that section. Now, triggers get your automation started, but once the data flows in, you need somewhere to store it. And that's where most people hit their first bottleneck. Generally speaking, if you're not storing your data correctly, then your automation is basically useless, right? Storage nodes let you save information from automations, customer details, leads, responses, anything you need to reference or use later. The most common ones, Google Sheets is classic, everyone knows it. Airtable, more power, better structure. Again, that's something that's not native. So you can put them together. Airtable and notion on aren't native. But then we also have NAN data tables. So inside of here I've got two. I've got the Google sheets, which is the sheet that we've just been looking at, and data tables. And I've chose these two specifically. If you can use these two, you can use any of them. But the execute the flight, the node that I told you about earlier, which was execute workflow to test, this is a great example of where you would use it to test. So we execute. This should be spinning. This means it's working. It's that when it. Obviously as it's firing, it's going through its information and you can see it's added it there. If I execute again, it'll do it again. And if we watch it inside of the sheet, it will update the sheet. You can see the rows dropping in. Now, if we go inside of nan, and this is a little bit more technical, but I'm trying to give you a little bit more of a deeper understanding. And we click this, this little I here, it'll tell you how long it took. Execution time, 3.6 seconds, effectively. Now, when it comes down to appending the sheet, it was literally just the sheet ID from sheet leads, the leads list, it was called leads there at the bottom. There's nothing fancy going on when it comes down to the. When it comes down to the NAM flow. But the values to send were my name as my surname and my LinkedIn profile. Those were the ones. So the secret to data storage is basically that once you've learned one, you've learned them all. The logic is identical. So I've shown you the Google sheets one. So really there would be no need to show this. But data tables are relatively new. If you haven't used data tables before, then they're native inside of nan, which means that you can like use a storage solution that's based on the platform that you are using, which is actually quite handy. There's reasons why you wouldn't do it. I'm not going to dive into it in this. This is a sort of explanationary video. But you know, you execute the node, it's done. There's a new row added instantly. Well, if I execute this workflow now, here, and then go to the data table in NAN, let me refresh, you'll see Michael Elliott LinkedIn profile added but check this out. And this is why I wanted to show you this. Slightly more advanced, it took like 43 milliseconds. Did you see the difference in time between what it Took to append the row in in the Google sheet, which was 3.6 seconds to the data tables node. Now, when it comes down to that power, what you need to think of, it's exactly the same thing when it comes down to data tables. But the only thing is, is that data tables are native to nan, which means that you'll get the same outcome. There'll be a different storage location, right? Google lives in Google's drive. Data tables live in nan, but the logic is identical. However, the NAN data tables will do it significantly faster than what it will do using a third party. And if you think about growing as you grow as a, as a developer or as a no coder, whatever you want to call yourself or your AI agency, speed in production matters, that three and a half seconds a long time, especially when you get into technical things like rate limits, which I'm not going to go into right now, but you've just seen how we've updated two individual data storage and databases, which is, which is critical for any deployment of any flow. But storing the data is the only half the game. What happens when you need to manipulate that data, clean it, split it apart, restructure it, use it in ways that allow you to be able to do things with it later. That's where the real power kicks in. And this is often where the confusion comes in and why I'm simplifying it all down into this one individual section and you'll be able to see exactly what I mean. Right now this is where automation goes from basic to powerful. And I'm going to try and simplify it for you as much as possible. Data processing nodes take raw, messy data and turn it into something useful. The two most important ones, generally speaking, are split out and aggregate. The code node is the most powerful one. But I can hear you crying saying, I thought this was no code. It is no code. But the option that N8N allows you to have it make.com's got its own now is really important, but you can get around 99% without it. I'll explain to you as we go through this, but let's say we pull a list of five leads from a database. That's what we have in here. Inside of this array, right? We have inside of this, we have an array. Looks very messy. If I execute this step, you're going to see the five. The five leads. We have these individual five leads, right? They've come through as one single item. If I now want to add them to Google sheets or anything, I can't do it. I can't do it. I simply cannot do it because they are all underneath this individual leads array. They're all combined under it. So I couldn't be able to do it. I wouldn't be able to pull it through. Five people. Emma Johnson, Liam Smith, Olivia Brown, Noah Williams and Ava Ava Davis. So right now it's one item. When it comes down to the split out node, we execute the split out node. Look at the split out node. What does it look like to you? It looks like one thing comes in and multiple things come out. Well, that's exactly what happens and that's as simple as you should make it in your brain. Literally one node, one, one. It's, it takes one object in which is the array and it spits out five individual objects on the outside. So I run it through the split out targeting the leads the leads field. So that's what I targeted. Now it becomes five separate items. Each person processes individually through the rest of the workflow. So why does it matter? It matters because if you want to update to Google sheets notion anything like that, you won't be able to do it. But it also matters if you have certain flows where you want to send personalized each emails to each one. You need to split them out first. You can't just have them all in all in an array. So that's how we, we do that. Now what we can also do is we can do transformations in leads. So this is another set fields node. This is simply just combining their first and last name. There is no real use case for this in this, this scenario. But later down the road you may well find that there are use cases for you to use this. So this is a simple expression full name string manual mapping fields to set. It's obviously a set fields node. JSON.first name jason.last name if I execute this it's going to give me the individual 5 item output and it's going to give me the full name of Emma Johnson. So we can manipulate data as much as we want. It's not the expression wasn't complicated. You saw that we can manipulate data as easy as we, as we like. Now every lead has a combined name field. So I did show you that, didn't I? I'm just open making sure I did combine. Full name field has a full name field. You could do that with anything depending on the data that you've got. So now I'm going to execute this and what I'm going to do is I'm going to execute this as well because I want to jump to the aggregate node. Look at the aggregate node next to the split out node. Exactly the same thing, just a different color going the other way. Do you know why? Because it does exactly the same thing, just the opposite way around. This is the exact opposite of split out. You've got five separate items. Well, we had five separate items and I've used an if statement in here, which means there's three that's been put out as true and we want to smash them back into one array. So now if we look at this, we are back to where we started with an array, but that only has three. And I'll go through the logic nodes in a moment. That's why I've skipped ahead logic nodes so we can combine it. Look at what we've just done. Look at what you've just done. In the space of a few minutes you've taken data that was in the nested array, you've un nested it, you've set a custom variable, a full name and you've aggregated them into an array. So that is, you know, it's critical. Like why is it important? Well, if you're running five different AI processors generating social posts, articles, tweets and cold email, you want to combine everything before sending it to storage in one batch. So even though you need to split stuff out in your flow, you might need to aggregate it again later. And the aggregate node does exactly that. It takes multiple items, bundles. Takes multiple items, bundles them into one array, ready for the next step. Data processing gives you structure. But what happens when your automation needs to make decisions to route left or right depending on data? That's where logic nodes come in, right. And that is why I skipped over that if statement. Because automations without logics are just linear tasks. That logic is what makes them intelligent, it's what makes your flows actually work in the first place. Logic nodes let your automations make decisions based off of data. That is all you need to know. This is an if node. This is your basic decision maker. This is your, this is your go to. If you just want basically a yes or no, right? If the condition is true, go here. If it's false, go this way. That's why we only had three in the aggregate node, because two items went false, because we were filtering by JSON.email so their email emma.johnson.company.com the email had to contain obviously that's a variable so it wasn't this hard coded contains company.com and it pulled out all three of the individual inquiries in our list@company.com right. If the condition was true, they went that way and we aggregated them. If it was false, it went that way. Let's say I want to filter leads based on their email domain only Process leads with company.com emails. That's exactly what I did. If I set up the if node that if the email contains company.com true, pass every true path, everything else false path and wanted to do something additional with the false path, then that would be critical to next steps. I would be able to take the good leads, let's say like take the high value leads and do something with. But they're already qualified. But then I could push the ones that fell false through a data filtering system or triggering different actions based off of conditions. VIP customers get one email, regular customers get another. If node can handle that. Now what we haven't executed yet is the switch node which is this one down here. And the switch node is the if node on steroids. That's the way you should look at it. So as a if, as an if node on steroids, I'll show you exactly what this, what this does. So if I execute. Let me just plug this in and execute this workflow. So I want to execute the whole workflow. When you look inside of here, you can add an abundance of routing rules. Okay. As many as you wanted. I had rule 1. If email contains company.com then send it this way. And then I had JSON, email contains example.com and I would route it the other way and then I would have an extra fallback output in case it didn't match. And the reason for that is so that I could show you that it caught all three of the company.com emails. It caught the example email and it also caught the fallback item, meaning that you're in a position where you can always have feedback data. Like you might want to do something if something happens in your flow with information that doesn't match. So you don't just like lose it into the atmosphere. So that, that is how the switch node is like. It's exactly the same as the if not just on juice. Basically juiced up to the eyeballs and very, very powerful when it comes to manipulating data. Very, very powerful. If you think about the way that you could like qualify leads using something like that, an inbound lead system like that you could have built in, you know, they, they come through the, they come through the, the flow. You then like. Based off of email is probably not a good example. But based off of like budget. You could like use an email. Let's use this. Use an email triage system where AI categorizes, categorizes incoming support emails, support sales, FAQs, urgent. The switch node routes them to the right team. That's probably the best way of putting it. No manual sorting literally automatically does it. Logic gives your automation decision making power. But sometimes you need raw comp. Can I say the word computational speed. Like you need something that's just like boom. And in order to do that you need to have complex transformations in milliseconds and that is done by the code node. And I hear you all cry. Like I don't know if I mentioned this earlier, but when it comes down to the code node, most code node platforms avoid having a code node because when they have a code node they're no longer effectively a no code platform. Nan embraces it. Make.com have just embraced it and it is a game changer. So what we're going to do is this already has some code inside of it and if you look at the output, it's exactly the same as what the outcome of the split out is. It did exactly the same thing. But if I was to go in here and just, just delete all this for safety and then ask AI, please can you split out the previous nodes, array, generate the code and replace. You've just got code. I don't know how to write code. I know how to read it because that's important. Now obviously learning that 5 output exactly the same thing and all you have to do is type it in like you would in an LLM. Don't be scared of the code node, but only use the code node where the other nodes do not make sense. Really, really important teaching here actually. When it comes down to the code node, only use the code node when there's no other logical route. When there's no other logical route that makes complete sense with ease where you don't have to go and build 12 individual nodes out, that's where the code node comes in and it is, it is incredibly powerful. So moving on to the, to the next step. So if you've ever had two automation paths running in parallel that needs to come back together, you know the pain, right? The merge node fixes it. So this is going to be the last, the last example from a data processing point of view. I'm going to connect this execute workflow which I told you about for testing. Now what's really important to note here is watch what route they go. It takes the Top route first. So your flow should always be structured in that way if there's a reason to be, if there's a reason to be, for it to be. So, okay, we had, we had outbound leads, right? There was two people inside of here, we had inbound leads, there was three people inside of here. And what we did is we took them all together, combined them and it spat out five on the other side. So data manipulation was really easy. That's, you know, that should be understood effectively. We had them all five grouped together in here, in an array here we had two different arrays. But we, what we did is we split them out, we waited and then we combined them all together. And that's what the merge node is so powerful for. And I think that's it for data processing. Let's move on to the next step. Keep it moving. So then we jump straight into the AI section, right? This is the reason Nan exploded over the last year. And once you see it, see what it can do, you'll understand why. So Nan has two AI capabilities, the MESSENGER model node and the AI agent. Right? The AI agent is the biggest boom on the planet. Everybody's talking about AI agents. I'm not a huge fan of them because in production they don't work like, but they can be very useful. So I'm not trying to hammer them down too much. But when it comes down to like production standard, just be careful when you're using these. So for the MESSENGER model section, this is really straightforward. It gives the AI a one time task, right? Give it, give it a prompt, you get a result. It's as simple as that. So chat GPT 4.1 role user write a cold email for an AI automation business that offers CRM. Be concise, cut the fluff. Choosing GPT 4.1 subject Automate your maybe it can be clearer in Jason to see. Yeah, subject close more deals. Hi. Yeah, like just in a position where it can craft emails for you. You can have it then obviously do different things, format it in different ways. You could literally in here give it like you can add individual prompts like system, system instructions to, to make sure that it formatted properly. But this is what, this is what the model is, right? It's, it's quite simple. You can use it for image, audio, everything. There's a lot of power inside of it. I don't want to understate it, but that's what the AI agent AI model is, is for. It's like an input. You give it, you tell it what to do. And it just goes away and does it for you. Where things get a bit kinky right Is when it comes down to AI agents. So this is where the chat model that I mentioned to you previously comes in. So when it comes down to chat models we can now when a chat. When a chat message is triggered. Right. This is gonna. Is this is gonna fire. Now I've said you're a cold email expert copywriter who helps AI automation businesses sell through cold email. What I'm also going to say is you can also fetch information from Google Sheets and check most recent emails using the Gmail tool. Really poorly prompted using the Google Sheets tool. Let's see if that can handle it. Maybe it can, maybe it can't. But first thing we're going to do is we're going to connect an AI chat model to it. Cuz that's necessary. Please write me, let me have a look. Yeah I'll do Give me a cold email idea for email systems for marketing agencies. Hi first name. I know how crucial Steady client acquisition. I called email marketing. You name your company it could customize it further. It could and because it's got a simple memory which means that it's got memory context window of 10 it can read back 10 messages before. So if I just said you know my favorite color is blue this is just for use case this is just to showcase this to you how this happens. What is my favorite color? It knows my favorite color is blue and that's because of the simple memory which is assigned to it. So I just threw that one in as a bonus. But you can use the AI assistant to actually do a multitude of things including emails. This has got the send send email so the prompt was wrong. You can also and send emails using the Gmail tool. So if let's say I needed a cold email template I would literally just plug that in and ask it. But when it comes down to a few of the other nuances let's. Let's change this to get rows retrieve rows from leads list and that'll be the. Let's just use that example. Please can you give me let me save it first. Please can you give me all of the leads in my leads list in Google Sheets. You watch see the way that routed it went down there. OpenAI thought about it, it went to Google Sheets it came back and it pulled in all of the individual leads that we had. So you can see it's power. You can plug in an abundance of tools. They don't they're not all native but air TABLE Asana everything inside of here. You could use a lot of individual Google Calendar to settle calendar meetings. You could use it for, for a lot of individual things. But that covers like the basics of AI from an AI point of view. I, I use GPT 4.1 for that. I asked it to write me a cold email. I asked it to go and fetch me my, my recent data from what we'd already done together. So the phone call email was written, all of the information was given back. That's perfect for content generation or data extraction summarization. Any linear AI tasks where you need, where, where you need to get information is, is one thing but the AI agent isn't just a one off responder, it's conversational. So it can use every, all of the tools I mentioned notion Slack and take actions on your behalf as I've just shown you. So that covers that piece. Let's jump into the the final part now which is the integrations, API and custom integrations. The HTTP request node is the most powerful node that exists inside of NAN and it allows you to be able to pull from anywhere. Okay. It lets you connect to any API. It's why like data tables up here can speak to Google Sheets. It's why you can speak to HubSpot. It's why you can pull any information even if there's no pre built integration. So I've done a basic one here but sometimes you have to go through API documentation. I'll show you the API documentation I went through to get this API documentation. When it comes down to, to this to get in the ticker. But this is a bitcoin ticker for live pricing. This is their API documentation. I've simply gone there, I've added inside of here the get request to that URL and if I execute will fetch me the BTC USD and it will give me the price and it also tells me the changes. Let's execute again and let's execute one more time. See if anything if the numbers change, how quickly it updates. No, but so you can see that it's showing you the low, the high, the open rate, the price. Now one thing you can do is you can import curls. And when I say you can import curls, I mean like seriously, when you go to these individual sites like this here, there's a curl here, copy it. When you copy the curl go into the, the, into the import curl, import curl. You need to add the symbol for whatever you're trying to do. But you'd import that curl and you'd hit Execute and it'd work. I can't explain to you how simple the HTTP request nodes are, but it lets you communicate with the whole of the world. And the reason why they're so important is because if we look for apps in here, right, you're limited to the number of apps that you can, that you can see. Where are we action in app? We're limited to the amount of apps. There's only so many. Make.com has significantly more, but there are, there are obviously loads, but there aren't. Like Gemini doesn't have a live cryptocurrency integration with nan. And for a lot of other things that you're going to find, especially things that aren't really common, like when it comes down to, like Reddit, there's certain, certain things you can integrate directly with. But when you're looking for something specific, like what I've just showed you there, the, the bitcoin ticker, I just went to Gemini's documentation, grabbed the endpoint and then made it run from there. So HTTP requests allow you to be able to like their boom. Current bitcoin price, volume, bid, ask, whatever. All the data are needed, no pre built information required. This is how you unlock unlimited integrations. Every SAS tool has an API. If NAN doesn't have a node for it, you can just use a HTTP request and build it yourself, right? When it comes down to HTTP requests. Yeah. HTTP requests send data. So the way to think about this is HTTP requests are sending data and webhooks are receiving data. And instead of showing you, I actually had this set up and I was going to show you with these two basic nodes, but I'm not. I'm going to show you something that's, that's real. So this comes from an NAN flow that I've got, right? And I am going to have to show you that. So we have. This is the, this is my flow for blog creation. This is the HTTP request and this URL is a post method to this URL that has the title, the word count, primary keyword that matches the, the. The. The. The implementation into the form, right? So it has all of those things and it has my name at the bottom. But the key here is that it has a HTTP request. But where it makes that HTTP request, the URL of that HTTP request is, is a make.com flow right here that you can see. If I copy this copy address to clipboard, go to the NAM workflow, go inside of here, control F, you'll see that that's the request. So this is a full webhook and webhook response in one go across two platforms. And that's why I wanted to show it you. So I've pre filled the form. Please not have timed out. Your response has been recorded. If we go back here and we back out of here, we'll see that this scenario, I think it's timed out which is really frustrating. Let me pause it and let me, let me hit you with it. One sec. No, it hadn't. We just weren't patient enough. So you can see now that the scenario is running that there, that first node which we're going to go into once this is finished is a custom webhook node. So this is, this is like resending information. It's received information from the webhook and now it's using something from it, which is incredibly important when it comes down to the usage of webhooks. And this is why I wanted to show it you in this way. I didn't just want to show you it. This is a flow. It's creating markdown, it's creating different pieces of content. It's going to upload to a Google Drive folder. For me it's going to do everything. But what I really wanted to show you was the power that like off of one literally look at that for a flow. Have you ever seen a more basic flow? You haven't, but it's because it's connected to an even more powerful flow inside of make.com that allows us to be able to get content at scale. And yeah, that is the webhook in, in a, in a nutshell I'm not going to make you hang around and watch sort of the, the ending of the, of the, of the sort of the, the hub there. But when it comes down to the, when it comes down to the sort of the, the flows and what is actually being delivered. Now you understand the 70 nodes that power 80% of the automations we build. You're not just learning anymore. You're thinking like an automation strategist. Here's what to do next. If you want the full blueprint for this so you can reference it anytime, then just drop me in the comments and say, hey Mike, I love the overview, but could you put together some substantial documentation like a 101 course or something like I'm looking for inspiration of what people want me to create and if you're ready to start applying this to your actual business use cases like sales automation, lead generation or AI powered workflows, then hit me up in the calculator in the cal link below and have a chat with me for your business. My name's Michael. Thanks for watching. I'll catch you in the next one.










