Creating a simple n8n workflow involves three main steps: setting up a trigger node that starts the automation, adding action nodes to perform tasks, and connecting them to pass data. For beginners, a great first workflow is triggering on a new Google Sheets row, using that data to populate an email, and sending it automatically. This process teaches you about nodes, credentials, and mapping data—the foundational skills for any n8n automation.
Diving Into Your First n8n Workflow
So, you’ve heard about the magic of automation and you’re ready to build your first simple n8n workflow. It can feel a little intimidating at first, staring at a blank canvas. I’ve been there. But let me tell you a secret: if you can connect dots, you can build an n8n workflow. It’s like playing with digital LEGOs; you just need to know what the first few blocks do.
In this tutorial, we’re not going to build a complex, multi-headed AI beast. Instead, we’ll create something practical, instantly useful, and easy to understand. Ready to get your hands dirty? Let’s go.
The Building Blocks: A Quick Tour of the n8n Canvas
Before we start building, let’s quickly get familiar with our tools. Think of the n8n canvas as your digital workshop. Everything you need is right here.
Component | What It Is | Analogy |
---|---|---|
Canvas | The blank, grid-like space where you build. | Your workbench or playground. |
Nodes | The individual steps or apps in your workflow. | The LEGO bricks of your creation. |
Trigger Node | A special node that starts your workflow. | The “Go” button on a race car. |
Connections | The lines you draw between nodes. | The wires that pass electricity (data). |
Credentials | The secure login info for your apps (like Google, Slack, etc.). | The keys to your different apps. |
Understanding these five things is 80% of the battle. The rest is just creativity and a little bit of trial and error (which is the fun part!).
Let’s Build! A Real-World n8n Workflow Example
Alright, theory’s over. Let’s build something. Our goal is a classic but incredibly useful automation:
The Goal: When a new row is added to a Google Sheet (like a new contact signs up), automatically send a personalized welcome email.
This simple n8n workflow is perfect because it covers the essentials: a trigger, an action, and passing data between them.
Step 1: The Trigger – Watching for New Google Sheet Rows
Every workflow needs to start somewhere. Our starting pistol is a new row in a Google Sheet.
- Add a Trigger: On your blank canvas, click the
+
button to open the nodes panel. Search for “Google Sheets” and select the Google Sheets Trigger. - Configure the Trigger: The node settings will open. For the Event, choose “On Row Added”.
- Connect Your Credentials: Now, you need to give n8n the keys to your Google account. In the Credential dropdown, click “Create New”. You’ll be prompted to sign in with Google and grant n8n permission. This is a one-time setup; you can reuse these credentials for any other Google node.
- Specify Your Sheet: Once connected, paste in your Sheet ID (you can find this in the URL of your Google Sheet) and the name of the specific sheet, like
Sheet1
. - Test the Trigger: Click “Fetch Test Event”. n8n will pull in the last row from your sheet. This is crucial! You need this sample data for the next step. If it works, you’ll see the data from your sheet’s columns.
See? Not so bad. Your workflow now knows how to watch for new information.
Step 2: The Action – Sending the Welcome Email
Now that we have the data, what do we do with it? Let’s send an email.
- Add an Action Node: Click the
+
on your Google Sheets node to add the next step. Search for “Gmail” (or “Send Email” if you want to use a different SMTP service) and add it to the canvas. - Connect Credentials: Just like before, you’ll need to connect your Gmail account credentials.
- Craft Your Email: This is where the magic happens. In the To Address field, we need to tell n8n who to send the email to. We’ll use the data from our first node.
Step 3: Connecting the Dots (and the Data)
This is the part that makes n8n so powerful.
- Click in the To Address field. You’ll see a small
+
icon for adding expressions. - Navigate to Nodes > Google Sheets Trigger > Output Data > JSON. You’ll see the columns from your test data.
- Click on the column that contains the email address. n8n will insert a little snippet that looks something like this:
{{ $json["Email"] }}
.
This snippet is an expression. It’s a placeholder that says, “Hey n8n, when you run this for real, grab the value from the ‘Email’ column of the Google Sheet and put it here.”
Go ahead and do the same for the email body. You could write something like: “Hi {{ $json["FirstName"] }}
, welcome aboard!” This makes every email personal.
Step 4: Testing and Activating Your Workflow
You’re almost done! Before we set it loose, let’s make sure it works.
- Test: Click the “Test Step” button on the Gmail node. It will use your sample data from Step 1 and send a real email. Check your inbox to confirm it arrived and looks correct.
- Activate: Once you’re happy, toggle the “Active” switch at the top left of the screen. That’s it! Your workflow is now live. It will check for new rows in your Google Sheet according to the trigger’s schedule and send emails all by itself.
You’ve Built Your First Automation!
And just like that, you’ve created your first simple n8n workflow. You’ve tasted the power of connecting apps and moving data without writing a single line of code. From here, the possibilities are endless. What if you also sent a Slack message? Or added the contact to a CRM? You just add another node.
Let’s be honest, you might hit a snag now and then—a credential that won’t connect or an expression that’s not quite right. Don’t worry. The n8n community is fantastic, and debugging is part of the learning process. Welcome to the world of automation!