Skip to main content
Plugin ID: google-workspace | Auth: OAuth2 (provider id google, the Better Auth social provider) | Scopes: gmail.modify, calendar, drive.readonly
This plugin’s tool paths use service-specific prefixes (gmail.*, calendar.*) rather than the plugin ID google-workspace. This is intentional — tools are namespaced by the Google service they interact with.
Google Cloud APIs must be enabled. The OAuth client’s underlying Google Cloud project needs Gmail API and Google Calendar API enabled in the API Library before live calls succeed; otherwise responses come back as 403: API has not been used in project ... before or it is disabled.
Handlers call the public Google APIs at https://gmail.googleapis.com/gmail/v1/users/me/* and https://www.googleapis.com/calendar/v3/*. gmail.messages.list does a messages.list then a per-message metadata fetch (format=metadata with Subject/From/Date headers). gmail.messages.read fetches format=full, walks the MIME tree for the first text/plain part, and decodes from base64url. gmail.drafts.create builds an RFC-822 message, base64url-encodes the raw payload, and POSTs to users/me/drafts. calendar.events.list uses singleEvents=true and orderBy=startTime, defaulting timeMin to “now”.

Tools

gmail.messages.list

Name: List Gmail Messages Search and list Gmail messages matching a query. Output:

gmail.messages.read

Name: Read Gmail Message Read the full content of a Gmail message by ID. Output:

gmail.drafts.create

Name: Create Gmail Draft | Destructive: Yes Create a draft email in Gmail. Requires user approval. Output:

calendar.events.list

Name: List Calendar Events List upcoming Google Calendar events. Output: