English
Data Connections
Gmail

Gmail

Sync Gmail emails into the Context File System so agents can query and analyze your email data.

DirectionPull (Gmail → PuppyOne)
TriggerScheduled poll
AuthGoogle OAuth
OutputJSON

Data structure

After Gmail emails are synced, they are stored in a single JSON node that contains all email data in a structured format:

{
  "emails": [
    {
      "id": "18b2c3d4e5f6",
      "subject": "Q4 Product Planning Meeting",
      "from": "[email protected]",
      "to": ["[email protected]"],
      "date": "2026-02-20T10:30:00Z",
      "snippet": "We have a meeting next Wednesday. Agenda below...",
      "body": "...",
      "labels": ["INBOX", "IMPORTANT"],
      "thread_id": "18b2c3d4e5f6"
    }
  ],
  "total": 150,
  "synced_at": "2026-02-26T08:00:00Z"
}

Setup steps

Step 1: Authorize your Google account

  1. Open Project → ConnectionsAdd ConnectionGmail
  2. Click Connect with Google and complete OAuth authorization
  3. Return to PuppyOne after authorization completes

Step 2: Configure sync scope

OptionDescriptionExample
Label filterOnly sync emails with specific labelsINBOX, IMPORTANT
Date rangeWhich date to start syncing fromLast 90 days
Maximum countMaximum number of emails per sync500

Step 3: Start sync

Click Start Sync. The first sync pulls historical emails, and later syncs apply incremental updates on a schedule.


Agent usage example

User: Find all emails from @acme.com from last week and summarize the main points

Agent: [calls query_data]
       Found 8 emails from acme.com:
       1. "Partnership Proposal" - 2026-02-20, Alice Chen
       2. "Quote Confirmation" - 2026-02-21, Bob Wang
       ...

Notes

  • Gmail sync pulls only email metadata and message bodies. Attachments are not included
  • HTML is automatically removed from email bodies and converted to plain text
  • The default sync interval is 1 hour and can be adjusted in settings