Guidance for working across multiple connected Google accounts — managing email, calendar events, and files for personal and work accounts simultaneously.
When the user has connected multiple Google accounts (e.g. personal and work), you can operate across all of them simultaneously for read operations, or target a specific account for write operations.
At the start of each task the system prompt lists all connected accounts:
| Label | Email | Status |
|----------|--------------------------|-----------|
| Work | [email protected] | connected |
| Personal | [email protected] | connected |
| Operation type | When account is omitted | When account is specified |
|---|
| Read (list, search, get, free-time) | Queries all accounts | Queries only the specified account |
| Write (send, reply, create, update, delete, archive) | Ask the user which account to use | Uses the specified account |
Use either the label or the full email address:
google_gmail(command: "send ...", account: "Work")
google_gmail(command: "send ...", account: "[email protected]")
google_calendar(command: "create ...", account: "Personal")
google_gmail(command: "list --query 'is:unread'")
Returns results from all connected accounts, each labelled with its account.
google_calendar(command: "free-time --duration 60 --days 5")
Merges busy time from all connected accounts to find truly free slots.
Always confirm with the user which account to send from before calling:
google_gmail(command: "send --to '[email protected]' --subject 'Hi' --body 'Hello!'", account: "Work")
Read the email first to see which account received it, then reply from that same account:
google_gmail(command: "reply <messageId> --body 'Thanks!'", account: "Work")
account parameter and retry.expired, the user needs to reconnect it in Settings → Integrations → Google Accounts.