Your First Workflow: Schedule + Google Sheets + Gmail
- Build a complete three-node workflow from scratch using Schedule, Google Sheets, and Gmail
- Use the Test Step button to verify each node output before proceeding
- Activate a workflow so it runs automatically on a schedule
What You Will Build
In this lesson you will build a complete, working workflow entirely from scratch. The workflow does three things: runs every morning at 8am, reads a list of tasks from a Google Sheet, and sends you a Gmail summary of the day's tasks. By the end, you will have activated your first automation.
This workflow uses three nodes: a Schedule Trigger, a Google Sheets node, and a Gmail node. It is simple enough to follow in one sitting but real enough to actually be useful.
Step 1 — Add a Schedule Trigger
Click the canvas, press +, and search for "Schedule". Select the Schedule Trigger node. In its settings panel, set the trigger interval to "Days" and set the time to 08:00. This node fires once daily at 8am and starts the workflow.
At this point, click Test Step on the trigger node. n8n executes just this node and shows you the output — a single JSON item confirming the trigger fired. This is how you verify each node as you build.
Step 2 — Read from Google Sheets
Click the + on the right side of the Schedule node. Search "Google Sheets" and add it. Set the operation to Get Many Rows, select (or create) your Google credential, choose your spreadsheet and the sheet tab containing your task list.
Click Test Step again. n8n reads your sheet and shows you each row as a separate JSON item in the output panel on the right. If your sheet has 5 rows, you see 5 items. Each item contains the column values as keys — so a "Task" column becomes {{ $json.Task }} in later nodes.
Step 3 — Send a Gmail Summary
Add a Gmail node after the Google Sheets node. Set the operation to Send Email. Enter your email address in the To field. For the Subject, type: Daily Tasks. For the Body, click the expression toggle (the lightning bolt icon) and enter:
{{ $json.Task }} — {{ $json.Due }}
This expression pulls the Task and Due column values from each row. n8n will send one email per item (per row) unless you use the Aggregate node to combine them first — which you will learn in Lesson 10.
Step 4 — Activate the Workflow
Click Save, then toggle the Active switch in the top bar from grey to orange. The workflow is now live. Every morning at 8am, n8n will read your sheet and send your task emails without you doing anything.
You can check the Executions tab (left sidebar) after the first run to see the full execution log — every node, every item, every output value. If something goes wrong, the execution log shows you exactly where and why.
What Just Happened
You just built an automation that would take about 5 minutes of manual work each morning and reduced it to zero. That is the core loop in n8n: identify a repetitive process, map it to nodes, connect them, activate. Congratulations — you are an n8n user.
- Every workflow starts with a trigger node — the Schedule Trigger fires at times you define
- Test Step executes individual nodes during building so you can see real output before activating
- Activating a workflow (toggle to orange) makes it run automatically; the Executions tab shows every run's full log