Zapier: Gmail → Google Sheets
Automate lead capture, support tickets & data entry – no code required
Day 1: LLMs & Prompt engineering
You learned to craft precise instructions
Day 2: Zapier Gmail→Sheets
Apply structured thinking to automate real workflows
📘 What is Zapier & why Gmail → Sheets?
📌 Definition
Zapier is a no-code automation tool that connects two or more apps — it moves information between them automatically. A “Zap” is your automated workflow. In this lesson, you build a Zap that listens for incoming Gmail messages (or specific labels) and instantly adds a row to Google Sheets with details like sender, subject, and date.
1. Trigger
New email in Gmail (inbox / label)
2. Action
Create row in Google Sheets
💼 Real-world use cases
Lead capture
Contact form emails → sheet for sales follow-up
Support tickets
emails to support@ → log priority, description
Invoice tracker
invoices sent to finance → spreadsheet with amounts, due dates
Each scenario saves hours of manual copy-paste and reduces errors.
⚙️ Build your first Zap: Gmail → Sheets
We'll create a Zap that adds a row every time an email arrives with the label “Leads”.
Prepare your accounts & spreadsheet
Make sure you have:
- A Gmail account (free / workspace)
- A Google Sheets document with headers:
Timestamp, Sender, Subject, Body snippet - Zapier account (free tier works for this Zap)
Create a new Zap & choose Gmail trigger
In Zapier dashboard: Create Zap → search for Gmail → select "New Email" or "New Email Matching Search" (if you want a label/filter).
Pro tip: Use “New Email Matching Search” and set query label:leads to only process specific emails.
Connect Gmail account & test trigger
Authorize Zapier to access your Gmail (read-only). Click Test trigger – Zapier will fetch a recent email sample.
This sample is used to map fields later.
Set up Google Sheets action
Add a new step: search for Google Sheets → choose "Create Spreadsheet Row".
Connect your Google Drive account and select the exact spreadsheet and worksheet you prepared.
Map email data to columns
For each column header, insert the corresponding field from Gmail:
Sender → From [email]
Subject → Subject
Body snippet → Body plain (first 100 chars)
Tip: Use "Formatted Text" if you need to combine fields – similar to prompt engineering (Day 1).
Test & publish
Send a test email to the watched label, then click Test & Continue. Zapier will show you the row that would be created. If it looks correct, Publish the Zap.
Field mapping example
{{received_at}}{{from_email}}{{subject}}{{body_plain|truncate(100)}}🛠️ Pro tips & troubleshooting
- Using "New Email" trigger without label → every email fills sheet (spam too!)
- Not testing with a real email sample → mapping errors
- Column headers with spaces → mismatch in mapping
- Use search trigger:
label:leads OR subject:"Order"(reuses Day1 prompt logic!) - Always perform trigger test & action test before publish
- Keep headers simple:
timestamp, sender
Practice makes permanent
Lead logger
Create a Zap that watches for emails from "[email protected]" and logs them into a sheet named "Website leads".
Support triage
Add a second action (e.g., send Slack message) when high-urgency subject contains "URGENT".
Enrichment
Use Formatter by Zapier to extract domain from email and store it in separate column (advanced).
Each exercise reinforces trigger selection, mapping, and multi-step Zaps.
📚 External resources & further reading
Day 2: you've automated Gmail → Sheets
✔ Understood Zapier's trigger → action logic
✔ Built a real Zap with Gmail and Google Sheets
✔ Mapped fields correctly
✔ Connected search query thinking (Day 1) to Zapier filters
You need to be logged in to participate in this discussion.