CtrlK
BlogDocsLog inGet started
Tessl Logo

gws-multi-account

Guidance for working across multiple connected Google accounts — managing email, calendar events, and files for personal and work accounts simultaneously.

65

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./apps/desktop/bundled-skills/gws-multi-account/SKILL.md
SKILL.md
Quality
Evals
Security

Google Workspace Multi-Account Skill

Overview

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.

Account Discovery

At the start of each task the system prompt lists all connected accounts:

| Label    | Email                    | Status    |
|----------|--------------------------|-----------|
| Work     | alice@company.com        | connected |
| Personal | alice@gmail.com          | connected |

Core Routing Rules

Operation typeWhen account is omittedWhen account is specified
Read (list, search, get, free-time)Queries all accountsQueries only the specified account
Write (send, reply, create, update, delete, archive)Ask the user which account to useUses the specified account

How to Specify an Account

Use either the label or the full email address:

google_gmail(command: "send ...", account: "Work")
google_gmail(command: "send ...", account: "alice@company.com")
google_calendar(command: "create ...", account: "Personal")

Common Multi-Account Workflows

Check all unread emails

google_gmail(command: "list --query 'is:unread'")

Returns results from all connected accounts, each labelled with its account.

Find free time across all calendars

google_calendar(command: "free-time --duration 60 --days 5")

Merges busy time from all connected accounts to find truly free slots.

Send from a specific account

Always confirm with the user which account to send from before calling:

google_gmail(command: "send --to 'bob@example.com' --subject 'Hi' --body 'Hello!'", account: "Work")

Reply to an email (correct account is important)

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")

Error Cases

  • Account not found: If the specified label/email doesn't match any connected account, the tool returns the list of available accounts. Update the account parameter and retry.
  • No accounts connected: Direct the user to Settings → Integrations → Google Accounts to connect an account.
  • Token expired: If an account shows status expired, the user needs to reconnect it in Settings → Integrations → Google Accounts.
Repository
accomplish-ai/coworker
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.