Skip to content

feat: route assistant email reading to native Gmail instead of Composio#628

Open
hrsvrn wants to merge 1 commit into
rowboatlabs:devfrom
hrsvrn:feat/native-gmail-assistant-tools
Open

feat: route assistant email reading to native Gmail instead of Composio#628
hrsvrn wants to merge 1 commit into
rowboatlabs:devfrom
hrsvrn:feat/native-gmail-assistant-tools

Conversation

@hrsvrn

@hrsvrn hrsvrn commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

Expose the native Gmail stack (sync engine + cached per-thread LLM summaries) to the Copilot as builtin tools, and reroute prompts/skills so email reading, checking, searching, and summarizing no longer go through Composio:

  • New gmail-* builtin tools (gmail-checkConnection, gmail-listThreads, gmail-readThread, gmail-searchEmails) backed by sync_gmail snapshots, with LLM-friendly trimmed payloads and a connect-in-Settings payload (+ composioFallback flag) when native Google isn't connected.
  • sync_gmail: export getThreadSnapshot, searchThreadsLive, and fetchThreadLive for uncached threads surfaced by live search.
  • New read-emails skill: compose inbox overviews from cached summary/importance instead of re-reading bodies; Gmail q-operator search guidance; sync:true for freshness.
  • Instructions: nativeGmailConnected flag splits Gmail out of the Composio routing blocks; gmail tools line added; read-emails skill excluded from the catalog when not connected.
  • Invalidate the copilot instructions cache on Google connect, disconnect, and stale-scope invalidation so routing updates mid-session (Composio handler already did this).
  • composio-integration skill demoted for Gmail: fallback-only, GMAIL_FETCH_EMAILS example replaced with a Notion one. The gmail toolkit stays in CURATED_TOOLKITS for un-migrated users.

Expose the native Gmail stack (sync engine + cached per-thread LLM
summaries) to the Copilot as builtin tools, and reroute prompts/skills
so email reading, checking, searching, and summarizing no longer go
through Composio:

- New gmail-* builtin tools (gmail-checkConnection, gmail-listThreads,
  gmail-readThread, gmail-searchEmails) backed by sync_gmail snapshots,
  with LLM-friendly trimmed payloads and a connect-in-Settings payload
  (+ composioFallback flag) when native Google isn't connected.
- sync_gmail: export getThreadSnapshot, searchThreadsLive, and
  fetchThreadLive for uncached threads surfaced by live search.
- New read-emails skill: compose inbox overviews from cached
  summary/importance instead of re-reading bodies; Gmail q-operator
  search guidance; sync:true for freshness.
- Instructions: nativeGmailConnected flag splits Gmail out of the
  Composio routing blocks; gmail tools line added; read-emails skill
  excluded from the catalog when not connected.
- Invalidate the copilot instructions cache on Google connect,
  disconnect, and stale-scope invalidation so routing updates
  mid-session (Composio handler already did this).
- composio-integration skill demoted for Gmail: fallback-only,
  GMAIL_FETCH_EMAILS example replaced with a Notion one. The gmail
  toolkit stays in CURATED_TOOLKITS for un-migrated users.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@hrsvrn hrsvrn requested a review from arkml June 18, 2026 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant