Praxis Gws
Google Workspace CLI for Gmail, Calendar, and Drive.
- Rating
- 4.6 (157 reviews)
- Downloads
- 15,493 downloads
- Version
- 1.0.0
Overview
Google Workspace CLI for Gmail, Calendar, and Drive.
Complete Documentation
View Source →
Praxis Google Workspace CLI
Official Google APIs wrapper for Gmail, Calendar, and Drive. Direct connection to Google — no third-party proxy.
Setup
1. Create Google Cloud Project
- Go to https://console.cloud.google.com
- Create a new project
- Enable these APIs:
- Gmail API
- Google Calendar API
- Google Drive API
2. Create OAuth Credentials
- Go to APIs & Services → Credentials
- Click Create Credentials → OAuth client ID
- Application type: Desktop app
- Download the JSON file
3. Configure the CLI
praxis-gws auth credentials /path/to/client_secret.json
4. Authenticate
praxis-gws gmail labels
This will output a Google OAuth URL. Open it in your browser, authorize the app, and paste the authorization code back.
Usage
Gmail Commands
Search messages:
praxis-gws gmail search "is:unread from:example.com"
praxis-gws gmail search "subject:meeting has:attachment" --max 20
Get message:
praxis-gws gmail get <messageId>
Send email:
praxis-gws gmail send "[email protected]" "Subject" "Body text"
Create draft:
praxis-gws gmail draft "[email protected]" "Subject" "Draft body"
List labels:
praxis-gws gmail labels
Modify labels:
praxis-gws gmail modify <messageId> --add STARRED --remove UNREAD
Calendar Commands
List events:
praxis-gws calendar list primary --max 10
praxis-gws calendar list primary --from "2026-02-22T00:00:00" --to "2026-03-01T23:59:59"
Create event:
praxis-gws calendar create primary "Meeting Title" \
--from "2026-02-25T14:00:00" \
--to "2026-02-25T15:00:00"
Drive Commands
Search files:
praxis-gws drive search "name contains 'project'"
praxis-gws drive search "mimeType = 'application/vnd.google-apps.document'"
Get file metadata:
praxis-gws drive get <fileId>
Gmail Search Operators
is:unread- Unread messagesis:starred- Starred messagesfrom:[email protected]- From specific senderto:[email protected]- To specific recipientsubject:keyword- Subject contains keywordafter:2026/01/01- After datebefore:2026/12/31- Before datehas:attachment- Has attachmentsin:inbox- In inboxlabel:important- With specific label
Common Labels
INBOX- InboxSENT- Sent mailDRAFT- DraftsSTARRED- StarredUNREAD- UnreadIMPORTANT- ImportantTRASH- TrashSPAM- Spam
Security
- OAuth tokens stored locally in
~/.config/praxis-gws/ - Direct API connection to Google (no proxy)
- Uses official
googleapisNode.js library - Required scopes:
https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/drive.readonly
Troubleshooting
Error: credentials.json not found
→ Run praxis-gws auth credentials /path/to/client_secret.json
Error: Invalid grant / Token expired
→ Delete ~/.config/praxis-gws/token.json and re-run to trigger new OAuth flow
"Google hasn't verified this app" warning → Click Advanced → Go to [project name] (unsafe) to proceed
CLI Script
The CLI is available at:
scripts/praxis-gws.js
Requires Node.js and the googleapis npm package:
npm install -g googleapis
Installation
openclaw install praxis-gws
💻Code Examples
praxis-gws gmail labels
This will output a Google OAuth URL. Open it in your browser, authorize the app, and paste the authorization code back.
## Usage
### Gmail Commands
**Search messages:**praxis-gws gmail modify <messageId> --add STARRED --remove UNREAD
### Calendar Commands
**List events:**--to "2026-02-25T15:00:00"
### Drive Commands
**Search files:**praxis-gws drive get <fileId>
## Gmail Search Operators
- `is:unread` - Unread messages
- `is:starred` - Starred messages
- `from:[email protected]` - From specific sender
- `to:[email protected]` - To specific recipient
- `subject:keyword` - Subject contains keyword
- `after:2026/01/01` - After date
- `before:2026/12/31` - Before date
- `has:attachment` - Has attachments
- `in:inbox` - In inbox
- `label:important` - With specific label
## Common Labels
- `INBOX` - Inbox
- `SENT` - Sent mail
- `DRAFT` - Drafts
- `STARRED` - Starred
- `UNREAD` - Unread
- `IMPORTANT` - Important
- `TRASH` - Trash
- `SPAM` - Spam
## Security
- OAuth tokens stored locally in `~/.config/praxis-gws/`
- Direct API connection to Google (no proxy)
- Uses official `googleapis` Node.js library
- Required scopes:
- `https://www.googleapis.com/auth/gmail.modify`
- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/drive.readonly`
## Troubleshooting
**Error: credentials.json not found**
→ Run `praxis-gws auth credentials /path/to/client_secret.json`
**Error: Invalid grant / Token expired**
→ Delete `~/.config/praxis-gws/token.json` and re-run to trigger new OAuth flow
**"Google hasn't verified this app" warning**
→ Click **Advanced → Go to [project name] (unsafe)** to proceed
## CLI Script
The CLI is available at:praxis-gws calendar create primary "Meeting Title" \
--from "2026-02-25T14:00:00" \
--to "2026-02-25T15:00:00"Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.