

How to Log incoming emails by label with Power Automate
Automatically capture sender, subject, date, and snippet from labeled Gmail emails into a Google Sheet archive.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Teams that need searchable email archives without upgrading to Google Workspace Enterprise
Not ideal for
High-volume support teams processing 500+ emails daily need dedicated helpdesk software instead
Sync type
scheduledUse case type
backupReal-World Example
A 12-person consulting firm uses this to archive all Client Inquiries emails in a searchable Google Sheet. Before automation, junior staff spent 20 minutes daily copying email details manually. Now they have a searchable database with sender patterns and response times tracked automatically.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Import this workflow directly into Power Automate
Copy the pre-built Power Automate blueprint and paste it straight into Power Automate. All modules, filters, and field mappings are already configured — you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Sender | ||
| Subject | ||
| Date Received | ||
| Message ID | ||
2 optional fields▸ show
| Snippet | |
| Label Name |
Step-by-Step Setup
My flows > New flow > Automated cloud flow
Create new automated flow
Open make.powerautomate.com and sign in with your Microsoft account. Click 'My flows' in the left sidebar, then the blue 'New flow' button. Select 'Automated cloud flow' from the dropdown menu. Name your flow 'Gmail Label Logger' and click Create without selecting a trigger.
- 1Click 'My flows' in the left navigation
- 2Click the blue 'New flow' button
- 3Select 'Automated cloud flow'
- 4Type 'Gmail Label Logger' as the flow name
- 5Click 'Create' button
Flow designer > Choose trigger > Gmail
Add Gmail trigger
In the trigger box, search for 'Gmail' and select the Gmail connector. Choose 'When a new email arrives (V3)' trigger. This polls Gmail every few minutes for new messages. Click 'Sign in' to authenticate your Gmail account when prompted.
- 1Type 'Gmail' in the connector search box
- 2Click the Gmail connector icon
- 3Select 'When a new email arrives (V3)'
- 4Click 'Sign in' and authenticate with Google
- 5Grant Power Automate access to your Gmail
Gmail trigger > Show advanced options > Label
Configure label filter
In the Gmail trigger settings, click 'Show advanced options' to reveal additional filters. In the 'Label' field, type the exact name of your Gmail label like 'Client Inquiries'. Leave other fields blank to capture all emails with this label regardless of sender or subject.
- 1Click 'Show advanced options' in the Gmail trigger
- 2Click in the 'Label' field
- 3Type your exact label name (case sensitive)
- 4Leave 'From', 'To', and 'Subject' fields empty
- 5Set 'Include attachments' to No
Flow designer > New step > Excel Online
Add Google Sheets action
Click the '+ New step' button below the Gmail trigger. Search for 'Excel' and select 'Excel Online (Business)' connector, then choose 'Add a row into a table' action. Power Automate uses Excel connector for Google Sheets integration. You'll authenticate with your Google account next.
- 1Click the blue '+ New step' button
- 2Type 'Excel' in the connector search
- 3Click 'Excel Online (Business)' connector
- 4Select 'Add a row into a table' action
- 5Click 'Sign in' for Google authentication
Excel action > Location > Google Drive > File selection
Select your spreadsheet
In the Excel action, click the folder icon next to 'Location' and select 'Google Drive'. Browse to find your target Google Sheet or create a new one. Select the specific worksheet tab where you want email data logged. The sheet must have column headers already set up.
- 1Click the folder icon next to 'Location'
- 2Select 'Google Drive' from the dropdown
- 3Browse and select your Google Sheet file
- 4Choose the correct worksheet tab
- 5Click 'Done' to confirm selection
Google Sheets > Row 1 > Column headers
Create sheet headers
Open your Google Sheet in a new browser tab and add column headers in row 1: Sender, Subject, Date Received, Snippet, Message ID. These headers must exist before Power Automate can map fields. Save the sheet and return to the Power Automate designer.
- 1Open your Google Sheet in new tab
- 2Click cell A1 and type 'Sender'
- 3Add 'Subject', 'Date Received', 'Snippet', 'Message ID' in B1-E1
- 4Press Ctrl+S to save the sheet
- 5Return to Power Automate tab
Excel action > Sender field > Dynamic content > Gmail > From
Map sender field
Click in the 'Sender' field in the Excel action. From the dynamic content popup, select 'From' under the Gmail section. This captures the sender's email address. If you want just the name portion, you'll need to add a compose action later to parse it.
- 1Click in the 'Sender' field
- 2Click 'Dynamic content' tab in the popup
- 3Expand the Gmail section
- 4Click 'From' to insert the dynamic value
- 5The field shows 'From' with Gmail icon
Excel action > Field mapping > Dynamic content > Gmail
Map remaining fields
Click in the Subject field and select 'Subject' from Gmail dynamic content. For Date Received, choose 'Date Time Received'. Map Snippet to 'Body Preview' which gives you the first 255 characters. Finally, map Message ID to 'Id' for unique identification and duplicate prevention.
- 1Click 'Subject' field and select Gmail 'Subject'
- 2Click 'Date Received' and select 'Date Time Received'
- 3Click 'Snippet' field and select 'Body Preview'
- 4Click 'Message ID' and select 'Id' from Gmail
- 5Verify all fields show Gmail dynamic content
Flow designer > Save > Test > Manually
Test the flow
Click 'Save' in the top right, then 'Test' to run your flow. Choose 'Manually' and send a test email to yourself with your target label applied. Wait 2-3 minutes for the polling trigger to fire. Check your Google Sheet for the new row with email details.
- 1Click 'Save' button in top right corner
- 2Click 'Test' next to the Save button
- 3Select 'Manually' as test option
- 4Click 'Test' to start the flow test
- 5Send yourself an email with the target label
Flow header > Turn on
Enable the flow
After successful testing, click 'Turn on' in the flow header to activate continuous monitoring. The flow will now check your Gmail every 2-3 minutes for new emails with the specified label and automatically log them to your Google Sheet. Monitor the run history for any failures.
- 1Click the toggle switch in flow header to 'On'
- 2Verify status shows 'On' with green indicator
- 3Click 'Run history' to monitor future executions
- 4Set up email notifications for failures if desired
- 5Test with a few more labeled emails
Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use Power Automate for this if you're already in the Microsoft ecosystem and need basic email logging without coding. The Gmail connector is reliable and the Excel integration with Google Sheets works despite the confusing naming. Setup takes about 15 minutes once you understand the authentication flow. Skip this if you need real-time processing — Zapier's webhook triggers fire within 30 seconds versus Power Automate's 2-3 minute polling.
Cost breakdown is simple: most flows stay under the 750-run monthly limit on free plans. At 50 emails per day, you'll use roughly 1,500 runs per month, pushing you to the $15 Power Automate per user plan. Zapier charges $20 for the same volume but includes webhook triggers. Make costs $9 monthly and handles this volume easily with better Gmail integration.
Zapier wins on trigger speed with webhook support and cleaner Gmail field mapping. Make has superior error handling and lets you transform date formats without expressions. N8n gives you full email body content and attachment handling that Power Automate's Gmail connector lacks. Pipedream offers free webhook triggers up to 100k executions monthly. But Power Automate wins if you're already paying for Microsoft 365 and want everything in one admin panel.
You'll hit OAuth renewal headaches every 60 days when Google tokens expire and your flows start failing silently. The Excel connector's date formatting outputs timestamp numbers instead of readable dates unless you add formatDateTime expressions. Gmail's polling delay means urgent emails won't log immediately, and there's no way to speed it up. Test your label names carefully — case sensitivity breaks the trigger with no clear error messages.
Ideas for what to build next
- →Add email priority detection — Include a column that flags high-priority emails based on sender domain or subject keywords for faster triage.
- →Create automated follow-up reminders — Build a second flow that monitors your sheet and sends Slack notifications for emails older than 24 hours without responses.
- →Build response time tracking — Add columns to track when you replied to each logged email and calculate average response times by label type.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup