Skip to main content
Gmail is gated during private beta. Same Google verification timeline as Drive. Click Request access on the Gmail card → we’ll email you when you’re cleared as a Google Cloud test user → Connect works after that.

What’s ingested

  • Message headers (From, To, Cc, Subject, Date)
  • Message bodies (text/plain preferred, text/html stripped of tags)
  • Thread structure (message IDs link replies to their parent threads)
  • Labels (Inbox, Sent, custom labels)

What’s NOT ingested

  • Attachments (only filename + metadata)
  • Drafts
  • Spam and Trash folders
  • Embedded images

OAuth scopes

  • https://www.googleapis.com/auth/gmail.readonly (restricted — requires Google verification)
  • https://www.googleapis.com/auth/userinfo.email
  • https://www.googleapis.com/auth/userinfo.profile

Sync cadence

Auto-sync every 15 minutes. The Gmail connector uses an incremental cursor based on after:YYYY/MM/DD queries — only messages newer than the last sync are fetched.

Per-sync cap

Each sync run caps at 200 messages to avoid hammering the Gmail API on first connect for heavy mailboxes. If you have a 10,000-message backlog, expect ~50 sync cycles to catch up (about 12 hours at the default 15-minute schedule). To accelerate, run fullResync runs manually from the console.

Access model

Gmail’s access model is per-mailbox — when a user authorizes Repo against their Gmail, Repo can read everything that user can read in that mailbox. The ingested source items carry accessPolicy: { mode: "provider_scope", accountEmail: "owner@example.com" } so downstream retrieval can be scoped by the connecting account. There’s no “this email is visible to user X” granularity inside a mailbox — Repo treats the entire mailbox as belonging to the authorized account.

Limitations

  • Same Google verification + test-user constraints as Drive
  • Sent items show up but From headers are the sender’s address, not “me” — your prompt should be aware of this when filtering
  • Vacation responder messages, calendar invites, and other auto-generated emails are ingested as regular messages (no special filtering yet)

Where this gets cited

[1] Brand colors v2 — From: Sam Rivera <sam@brand.example> (3 hours ago)
    https://mail.google.com/mail/u/0/#inbox/THREAD_ID
Repo links directly to the Gmail thread URL so the user can verify the source. The URL works only when the user is logged into the correct Google account.