nopal

July 6, 2026 · View on GitHub

English | 한국어 | 中文 | 日本語 | Español

nopal

nopal

Google Workspace orchestration, powered by natural language.

Turn a plain sentence into a coordinated action across Gmail, Calendar, Drive, Docs, Sheets, Slides, Meet, Tasks, and Chat — all without leaving Claude Code.

Quick StartWhy nopal?How it worksServicesRequirements


Quick Start

1. Add the marketplace (once)

/plugin marketplace add https://github.com/fivetaku/gptaku_plugins.git

2. Install nopal

/plugin install nopal

Restart Claude Code after installation.

3. Set up gws CLI (once)

nopal uses gws CLI to talk to Google Workspace. Install it first:

npm install -g @googleworkspace/cli

Then run the one-time OAuth setup in your terminal:

gws auth setup

This walks you through creating a GCP project, enabling the 9 Workspace APIs, and authorizing your Google account. After setup, log in:

gws auth login

After login, export credentials so Claude Code can use gws in headless mode:

gws auth export --unmasked 2>/dev/null | grep -v '^Using keyring' > ~/.config/gws/credentials.json
chmod 600 ~/.config/gws/credentials.json   # plaintext tokens — keep private, never commit

4. Run

/nopal

No arguments needed — nopal asks what you want. Or go directly:

/nopal schedule a team standup for tomorrow at 10am and email the attendees the agenda
/nopal check my unread emails and summarize the important ones
/nopal create a meeting notes doc and share it with last week's attendees
/nopal pull the Q1 sales data from Sheets and send a summary to the team chat

Why nopal?

  • One command, any service — describe what you want in plain language; nopal figures out which services to invoke and in what order
  • Dynamic composition — not a fixed workflow library; services are selected and chained based on each request
  • Interview-driven — if information is missing, nopal asks before acting (not after)
  • Read vs. write distinction — read-only queries execute immediately; write and modify actions always get your confirmation first
  • Lives in Claude Code — no new app, no browser tab, no context switch
  • Credentials stay in gws — the gws CLI owns the OAuth flow. For headless use it exports tokens to a local ~/.config/gws/credentials.json (keep it chmod 600, never commit it); nopal never embeds credentials in Claude itself

How it works

You: "schedule a team meeting tomorrow at 2pm and email attendees"


/nopal

     ├─ gws not installed? → auto-install attempt / setup guidance

     └─ gws ready → orchestration begins

          ├─ 1. Parse intent      — which services are needed?
          ├─ 2. Interview         — fetch live data, ask only what's missing
          ├─ 3. Plan              — confirm write actions, skip read-only ones
          ├─ 4. Execute           — run gws commands sequentially
          └─ 5. Report            — summarize results + suggest next steps

Multi-service requests resolve naturally:

  • "add attendees to tomorrow's meeting and send them the doc" → Calendar + Drive + Gmail
  • "create a newsletter from the Sheets data and send it" → Sheets + Gmail
  • "write meeting notes and post them to the team Chat space" → Docs + Chat

Services

ServiceWhat nopal can doHelper commands
GmailSend, read, triage, watch+send, +triage, +watch
CalendarCreate events, check agenda+insert, +agenda
DriveUpload files, manage sharing+upload
SheetsRead/append spreadsheet data+read, +append
DocsRead and write documents+write
SlidesCreate and edit presentations
ChatSend messages to spaces+send
TasksManage to-do lists
MeetCreate meeting links, get participants and transcripts

Known Issues

IssueStatusWorkaround
Gmail trash 411 errorFixed in gws 0.6.1+Use latest version
+send Korean encodinggws CLI bugRaw API encoding applied automatically
gws auth export log pollutionUsing keyring backend mixed into JSON2>/dev/null | grep -v '^Using keyring' filter applied

Requirements

  • Claude Code
  • gws CLInpm install -g @googleworkspace/cli
  • Google Workspace account + OAuth setup (gws auth setup + gws auth login)
  • Node.js 18+

When you run /nopal for the first time, it checks for gws and guides you through setup automatically.


License

MIT


No Opal needed.