app
Adom Google
Public Made by Adomby adom
Drive your whole Google Workspace from the terminal, run by your AI. Read Gmail, write Google Docs, build Google Sheets and Google Slides, search Google Drive, manage Google Calendar and Google Tasks, and post to Google Chat, plus any Google API and a zero-setup personal Gmail.
← Commit history
v0.5.0 — add first-class 'chat' verb (spaces/dm/send/read), posts as the user (no webhook prefix)
2 files changed
+45−45
SKILL.md+14−1@@ -1,6 +1,6 @@ --- name: adom-google-description: Programmatic read+write access to a user's WHOLE Google Workspace — Gmail, Contacts, Drive, Sheets, Docs, Slides, Calendar, Tasks, Google Chat — plus a generic `api` passthrough to hit ANY Google API. CLI + OAuth only (no browser automation). Public/open-source; used daily by the Adom team. Auth is the account-specific part: Adom employees use it out of the box; other orgs either self-host their own OAuth gateway or email [email protected] for a managed OAuth container (~$5/mo). On FIRST-RUN SETUP you MUST ask the user to pick safe mode (no delete) vs full mode (incl. delete) before authorizing. Use when setting up/installing adom-google, authorizing Google, reading Gmail attachments/.ics, creating/listing/searching Contacts, editing Sheets/Docs/Slides, Drive files, Calendar events, posting to Google Chat, or any Google Workspace automation. Trigger words — adom-google, install adom-google, set up adom-google, configure adom-google, google workspace cli, edit google sheet/doc/slides, drive upload, calendar event, post to google chat, gmail attachment, google contacts, people api, safe mode vs full mode, google oauth gateway broker, google api passthrough, self-host oauth, managed oauth container.+description: Programmatic read+write access to a user's WHOLE Google Workspace — Gmail, Contacts, Drive, Sheets, Docs, Slides, Calendar, Tasks, Google Chat — plus a generic `api` passthrough to hit ANY Google API. CLI + OAuth only (no browser automation). Public/open-source; used daily by the Adom team. Auth is the account-specific part: Adom employees use it out of the box; other orgs either self-host their own OAuth gateway or email [email protected] for a managed OAuth container (~$5/mo). On FIRST-RUN SETUP you MUST ask the user to pick safe mode (no delete) vs full mode (incl. delete) before authorizing. Use when setting up/installing adom-google, authorizing Google, reading Gmail attachments/.ics, creating/listing/searching Contacts, editing Sheets/Docs/Slides, Drive files, Calendar events, posting to Google Chat, or any Google Workspace automation. Trigger words — adom-google, install adom-google, set up adom-google, configure adom-google, google workspace cli, edit google sheet/doc/slides, drive upload, calendar event, post to google chat, post to chat as me, message colby, send a chat, dm <person>, gmail attachment, google contacts, people api, safe mode vs full mode, google oauth gateway broker, google api passthrough, self-host oauth, managed oauth container. --- # adom-google@@ -152,9 +152,22 @@ adom-google contacts create --name "First Last" [--org O] [--title T] \ adom-google contacts list [--limit N] [--json] adom-google contacts search <query> [-v] [--json] +# Google Chat — posts as the SIGNED-IN USER (their own identity, NO attribution prefix).+# This is distinct from `adom-gchat`, which posts via an org webhook with "(on behalf of …)".+adom-google chat spaces [--json] # list your spaces (id · type · name)+adom-google chat dm <email> [--json] # resolve the 1:1 DM space with a person+adom-google chat send --to <space-id|email> "<text>" # post; email auto-resolves the DM+# "<text>" may be '-' (stdin) or '@file'; add --thread <key> to reply in a thread+adom-google chat read --from <space-id|email> [--limit N] [--json] # recent messages+ adom-google status # mode (safe/full) + what's authorized (never prints secrets) ``` +**`chat` vs `adom-gchat`:** use `adom-google chat send` to post as **yourself** (your Google+identity, clean — no prefix). Use `adom-gchat` only when you want an **org webhook** post+attributed as the bot ("Kel (on behalf of john)"). The `chat.messages` + `chat.spaces.readonly`+scopes are in both safe and full mode, so this works out of the box once authorized.+ We use Google Contacts to store **service identities** (portal/account metadata for an API vendor), e.g. the JPMorgan Payments developer portal. Keep secrets (client secrets, portal passwords) in a password manager — **never** in a contact's notes.
page.json+31−44@@ -1,22 +1,22 @@ {+ "schema_version": 1,+ "type": "app", "slug": "adom-google",+ "title": "adom-google",+ "brief": "Drive your whole Google Workspace from the terminal \u2014 Gmail, Drive, Sheets, Docs, Slides, Calendar, Tasks, Chat + any Google API.", "version": "0.5.0",- "type": "app",- "license": "MIT",- "description": "Drive your whole Google Workspace from the terminal — Gmail, Contacts, Drive, Sheets, Docs, Slides, Calendar, Tasks, Google Chat, plus a generic `api` passthrough to hit ANY Google API. Open source, ships with NO OAuth provider baked in: point it at your own token-broker gateway (`provider set`), buy a managed one, or — Adom staff — install the private adom-google-adom provider. One-click OAuth, no client secret on your machine. First run asks safe mode (no delete) vs full mode (incl. delete).",- "keywords": [- "adom-google",- "google-workspace",- "oauth",- "gmail",- "google-sheets",- "google-docs",- "google-slides",- "google-calendar",- "google-chat",- "cli",- "ai-agent"- ],+ "visibility": "public",+ "install": {+ "binary_name": "adom-google",+ "install_dir": "",+ "install_hint": "",+ "version_cmd": ""+ },+ "author": {+ "id": "6738b00a4dc87b8adbb0a5a3",+ "name": "John Lauer",+ "email": "[email protected]"+ }, "tags": [ "google-workspace", "oauth",@@ -26,34 +26,21 @@ "open-source", "mit" ],- "install": {- "binary_name": "adom-google"+ "license": "MIT",+ "hero": {+ "path": "docs/hero.png",+ "type": "image" },- "dependencies": {},- "scripts": {- "install": "./install.sh",- "uninstall": "./uninstall.sh"+ "sample_prompts": [],+ "discovery_triggers": [],+ "discovery_pitch": null,+ "metadata": {+ "hero_path": "docs/hero.png",+ "hero_type": "image" },- "files": [- "bin/adom-google",- "bin/adom-gmail",- "skills/adom-google/SKILL.md",- "README.md",- "LICENSE",- "MIGRATION.md",- "provider.example.json",- "docs/hero.png",- "docs/enable-apis.png",- "docs/chat-reads-email.png",- "screenshots/hero.png",- "install.sh",- "uninstall.sh",- "package.json"- ],- "visibility": "public",- "org": "adom",- "author": {- "name": "John Lauer",- "email": "[email protected]"- }+ "created_at": "2026-06-16T22:28:58.933Z",+ "updated_at": "2026-06-17T00:57:47.322Z",+ "skills": [],+ "hero_path": "docs/hero.png",+ "hero_type": "image" }