This document outlines the functionality and characteristics of the Gmail Reader node, which enables automated email processing from Gmail accounts.

Node Inputs

The Gmail Reader node accepts the following inputs:
  • Label: The Gmail label to read from (default: ‘INBOX’)
  • Number of Emails: Maximum number of emails to process. Leave blank to read all emails.

Optional Settings

  • Search Query: Optional Gmail search syntax to filter emails
  • Mark as Read: Whether to mark processed emails as read (default: False)
  • Ignore Read Status: If checked, this will include both unread and previously read emails in your search. By default, only unread emails are processed
  • Read Full Thread: If checked, the full message chain will be read for each email thread (default: False)

Date Range Filtering

Filter emails by a specific time period, this option is available under Show More Options
  • Use Dates?: Enable this toggle to filter emails by time period
  • Date Range: Choose from preset ranges for quick filtering:
    • Last 24 Hours
    • Last Week
    • Last Month
    • Last 3 Months
    • Last 6 Months
  • Use Exact Dates?: Toggle this option to specify custom date ranges
    • When enabled, you can set precise Start and End dates
    • When disabled, the preset Date Range selection is used
  • Start Date (UTC): The beginning of your custom date range (only available when Use Exact Dates is enabled)
  • End Date (UTC): The end of your custom date range (only available when Use Exact Dates is enabled)
Date filtering is useful for:
  • Historical email analysis
  • Periodic reporting
  • Retrieving emails from specific events or timeframes
  • Automating regular email processing batches
Note: When “Use Exact Dates?” is enabled, you can expose the Start Date and End Date parameters through “Configure Inputs” and connect them directly to the Datetime node for dynamic date ranges.

Node Output

The Gmail Reader node produces the following outputs (all in list format):
  • Email Bodies: Content of the email messages
  • Attached File Names: Attached file object
Note that multiple attachments are separated by a comma, eg: PDF1, PDF2. You can use the Split Text node here to output a list with each file.
  • Message ID: Unique ID of each individual email
  • Thread ID: Unique ID of the entire conversation thread that can contain multiple emails
  • Sender Addresses: Email addresses of senders
  • Recipient Addresses: All recipients (including CC/BCC)
  • Subjects: Email subject lines
  • Dates: Date & timestamp of emails (in UTC)
  • Sender Display Names: Names of the email sender

Understanding Attachment Handling

The “Attached File Names” output provides the actual file objects from email attachments. These files can be connected directly to file operation nodes like PDF Reader, CSV Reader, or File Reader for immediate processing.
Gmail Reader connected to PDF Reader

Multiple Attachments per Email

When a single email contains multiple attachments, they are combined into one output separated by commas:
Example output: "document1.pdf, spreadsheet.xlsx, image.png"
To process multiple attachments individually, use the Split Text node:
Gmail Reader → Split Text (separator: ", ") → PDF Reader (Loop Mode)
This converts the comma-separated attachments into a list, allowing each file to be processed separately. Here’s a workflow example that reads attachments and processes them through a PDF reader node

Node Functionality

The Gmail Reader node provides automated access to Gmail inbox content and email data. Key features include:
  • Support for Gmail search syntax filtering
  • Date-based email filtering
  • Attachment handling
  • Customizable email processing options
  • Secure authentication with Gumloop

Trigger Functionality

This node can also function as a trigger to start your flow when new emails arrive in Gmail. Learn more about triggers in our Triggers documentation.
Alt text

Important Limitations: Multiple Gmail Accounts & Email Filtering

Due to Google watch response API restrictions, there are two key limitations when using Gmail triggers:
  1. Multiple Accounts: Google only supports monitoring one Gmail account per credential at a time. This is a limitation of Google’s watch response system, not Gumloop.
  2. Email Classification: Emails must be classified into the target label directly via a Gmail filter to be recognized by the trigger. Emails manually moved to labels may not trigger the flow reliably.
If you encounter either of these limitations, we recommend using a scheduled trigger approach instead: Recommended Workaround: Time-Based Polling
  1. Use a Time Trigger instead of the Gmail trigger
Alt text
  1. Set up scheduled polling (e.g., every 5-15 minutes)
  2. Configure the Gmail Reader to:
    • Process only unread emails in your target label
      • You can do this by keeping the Ignore Read Status toggle disabled
    • Mark emails as read after processing
      • You can do this by enabling the Mark as Read toggle
    • Use Error Shield to handle any failed items gracefully
Alt text
Example Scheduled Gmail Processing Flow:
Time Trigger (Every 10 minutes) → Gmail Reader → [Your Processing Nodes]
Gmail Reader Settings:
- Label: INBOX (or your target label)
- Ignore Read Status: No (only unread emails)
- Mark as Read: Yes (prevents reprocessing)
This approach provides reliable email processing across multiple accounts while minimizing credit usage, as flows with no new emails will only consume 1 credit per run.

When To Use

The Gmail Reader node is particularly valuable in scenarios requiring automated email processing. Common use cases include:
  • Customer Support: Automatically process incoming support emails
  • Data Extraction: Extract information from scheduled reports
  • Email Monitoring: Track important communications
  • Attachment Processing: Handle incoming file attachments
Some specific examples:
  • Processing order confirmations
  • Collecting daily reports
  • Monitoring support tickets
  • Archiving attachments

Example Workflows

1. Weekly Email Report Processing

Current DateTime → Gmail Reader → Ask AI → Google Sheets Writer
Setup:
- Use Dates?: Yes
- Use Exact Dates?: Yes
- Start Date: Connected to Current DateTime with -7 days modifier
- End Date: Connected to Current DateTime
Purpose: Generate weekly summary of important emails

2. Monthly Invoice Collection

Gmail Reader → PDF Reader → Extract Data → Airtable Writer
Setup:
- Label: Invoices
- Date Range: Last Month
- Search Query: has:attachment filename:pdf
Purpose: Extract and store monthly invoice data

3. Daily Support Email Categorization

Gmail Reader [Trigger] → Categorizer → Slack Message Sender
Setup:
- Label: Support
- Date Range: Last 24 Hours
- Ignore Read Status: False
Purpose: Classify and route incoming support requests

Important Considerations:

  1. Requires Authentication with Gmail - Set up in the Credentials page
  2. By default, only processes unread emails. You can ignore read status under Show More Options
  3. Output types change to single string if reading just one email
  4. Date filtering in UTC timezone may not match your local time
In summary, the Gmail Reader node streamlines email processing tasks by providing automated access to Gmail content, with flexible filtering options, date range controls, and comprehensive data extraction capabilities.