Bring Gmail and Google Calendar into Sero.
With this plugin, you can:
- read and search your email from the Google app in Sero
- view your calendar and upcoming events
- ask the agent to work with your inbox or schedule
- use
sero google ...in the terminal when you want direct command-line control
Under the hood, the plugin uses gogcli, but you do not need to learn its internals to use the app.
Before installing the plugin, make sure you have:
- Sero installed
- gogcli installed on your Mac
- Google OAuth credentials for Gmail + Calendar access
brew install steipete/tap/gogcliThat installs the gog command the plugin uses to talk to Google.
In Sero → Admin → Plugins, install:
git:https://github.com/monobyte/sero-google-plugin.git
Sero will clone the repo, install dependencies, build it, and add Google to your sidebar.
If you try to install this plugin on an older Sero build that does not provide the generic app-tool bridge or plugin-owned CLI bridging, Sero should now block the install cleanly instead of letting the plugin fail later at runtime.
In Google Cloud Console:
- Create a project at https://console.cloud.google.com/
- Enable the Gmail API
- Enable the Google Calendar API
- Create an OAuth 2.0 Client ID for a Desktop app
You’ll get:
- a Client ID
- a Client Secret
The easiest path is inside the app itself:
- Open the Google app in Sero
- If Google isn’t configured yet, you’ll see a setup form
- Paste your Client ID and Client Secret
- Save
Then click Sign in with Google and complete the browser flow.
That’s the recommended setup for most users.
If you prefer, you can provide the same credentials through environment vars:
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secretOnce you’re signed in, you can use Google in three ways.
The plugin adds a Google app with:
- Mail for inbox and thread reading
- Calendar for events and schedule browsing
This is the best place to:
- connect or reconnect your Google account
- browse email threads
- check your schedule
- refresh Gmail and Calendar state
Once authenticated, you can ask Sero things like:
- “Show me recent unread emails from Alex”
- “Summarize today’s calendar”
- “Draft a reply to the latest thread from Finance”
- “What meetings do I have this afternoon?”
The plugin keeps the app UI and agent-driven Google actions in sync, so what you do in chat and what you see in the UI stay aligned.
The plugin preserves the public Google CLI in Sero:
sero google gmail search 'newer_than:1d'
sero google gmail thread <thread-id>
sero google calendar events primary --today
sero google calendar create primary --summary "Standup" --from 9:00 --to 9:30If you like terminal workflows, this gives you direct control while still using the same authenticated Google account as the app.
sero google gmail search 'from:boss newer_than:3d'
sero google gmail thread <thread-id>
sero google gmail send --to user@example.com --subject "Hi" --body "Hello"sero google calendar calendars
sero google calendar events primary --today
sero google calendar search "dentist"Most people should use the in-app Sign in with Google flow.
The plugin also supports terminal auth management commands for setup, inspection, or recovery:
sero google auth status
sero google auth list
sero google auth add you@example.com
sero google auth credentials /path/to/credentials.jsonThese commands are mainly for operators / power users. In normal agent chat flows, auth-management commands are intentionally treated as operator-facing, while Gmail and Calendar actions remain agent-friendly.
Google sign-in is profile-scoped in Sero.
That means if you use multiple Sero profiles, each profile keeps its own Google account context. Your work profile and personal profile stay isolated.
In normal use, you usually do not need to pass --account. The plugin will
resolve the active authenticated account automatically for Gmail and Calendar
commands.
If you use container-backed workspaces, Google commands still work.
Current behavior:
- the plugin tries the workspace container first
- if
gogis not available in the shipped container image, it falls back to the host automatically
So in practice, the important requirement is simple:
Install gogcli on the host machine.
After signing in, these should work in both normal and container-backed workspaces:
sero google gmail search 'newer_than:1d'
sero google calendar events primary --todayYou haven’t added your Client ID and Client Secret yet.
Fix:
- open the Google app in Sero
- paste your OAuth credentials into the setup form
- save and try again
The plugin can’t find gogcli.
Fix:
brew install steipete/tap/gogcliTry these in order:
- Open the Google app and sign in again
- Run
sero google auth status - If needed, re-import credentials or add the account again from the terminal
You can also install this as a Pi package:
pi install git:https://github.com/monobyte/sero-google-plugin.gitThat exposes these tools:
googlegmailgcal
And these slash commands:
/gmail/gcal
The plugin keeps Google app state in a file-backed store so the Sero UI and agent stay in sync.
In Sero, that state lives under:
$SERO_HOME/apps/google/state.json
You usually do not need to touch this file manually.
If you need to change Gmail background notifications or unread-state handling, start here:
That note points at the canonical runtime, state-mapping, and host-bridge files so future debugging is faster.