gmail multi-comptes.
gmail piloté par agent : recherche avec la syntaxe gmail native, lecture complète des messages, envoi, réponse en thread, drafts, archivage, corbeille. plusieurs comptes google connectés par utilisateur — l'agent choisit le compte émetteur.
setup & usage
From this card, click connect: Google asks you to authorize Gmail only (scope gmail.modify) on the account you choose. The Google account itself (address, token) is carried by the Google Account connector — one account can authorize several services, one service at a time, without re-authorizing the others.
_account=<email> (the tools' account=<email> is the same choice — two different addresses are refused), otherwise the one the project pins, otherwise the default; an unknown address is refused, never replaced by another, and the response names the account that served (_account); google_accounts tells you which ones have authorized GmailTwo tools, under the chosen account: gmail(op=search|get|attachment|drafts|draft|accounts) reads or prepares a draft — nothing leaves, nothing is deleted; gmail_act(op=send|archive|trash) acts, and your client asks you to confirm it.
gmail(query="is:unread newer_than:7d"); "archive the newsletters" → gmail_act(op="archive", message_ids=[…])gmail(op="draft", reply_to="…", body="…"); "send it" → gmail_act(op="send", draft_id="…"), the draft as it standsgmail op=draft, or gmail_act op=send with a full message) appends the sending account's Gmail signature (after --), like the web client — the Gmail API never does it on its own. sign=False composes without it; the response reports signature: appended, none_configured or disabled.xlsx spreadsheet attached to this email, devis sheet" — an attachment (op=attachment) comes back as CSV per sheet, truncatedA {kind: "url"} attachment of a composed mail is read server-side: under a project with excluded_url_prefixes, a matching url is refused, naming the pattern (file_source seam). Details: docs/projects.md.
this connector accepts multiple comptes: connecting with another compte adds it alongside the others, named by its address; reconnecting with the same one replaces its own.
_account="<name>" on the tool; list them: oto_identity(op='list', connector='gmail')oto_identity(op='set', connector='gmail', identity_id='<name>')_account) and adding upoutils
utilisation
claude plugin marketplace add otomata-tech/oto-plugin — mcp + skill configurés.pipx install oto-cli puis oto gmail …