✓ Verified 💻 Development ✓ Enhanced Data

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

bash
praxis-gws auth credentials /path/to/client_secret.json

4. Authenticate

bash
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:

bash
praxis-gws gmail search "is:unread from:example.com"
praxis-gws gmail search "subject:meeting has:attachment" --max 20

Get message:

bash
praxis-gws gmail get <messageId>

Send email:

bash
praxis-gws gmail send "[email protected]" "Subject" "Body text"

Create draft:

bash
praxis-gws gmail draft "[email protected]" "Subject" "Draft body"

List labels:

bash
praxis-gws gmail labels

Modify labels:

bash
praxis-gws gmail modify <messageId> --add STARRED --remove UNREAD

Calendar Commands

List events:

bash
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:

bash
praxis-gws calendar create primary "Meeting Title" \
  --from "2026-02-25T14:00:00" \
  --to "2026-02-25T15:00:00"

Drive Commands

Search files:

bash
praxis-gws drive search "name contains 'project'"
praxis-gws drive search "mimeType = 'application/vnd.google-apps.document'"

Get file metadata:

bash
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:

text
scripts/praxis-gws.js

Requires Node.js and the googleapis npm package:

bash
npm install -g googleapis

Installation

Terminal bash

openclaw install praxis-gws
    
Copied!

💻Code Examples

praxis-gws gmail labels

praxis-gws-gmail-labels.txt
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

praxis-gws-gmail-modify-messageid---add-starred---remove-unread.txt
### Calendar Commands

**List events:**

--to "2026-02-25T15:00:00"

---to-2026-02-25t150000.txt
### Drive Commands

**Search files:**

praxis-gws drive get <fileId>

praxis-gws-drive-get-fileid.txt
## 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:
example.sh
praxis-gws calendar create primary "Meeting Title" \
  --from "2026-02-25T14:00:00" \
  --to "2026-02-25T15:00:00"

Tags

#web_and-frontend-development #cli

Quick Info

Category Development
Model Gemini 2.0
Complexity One-Click
Author jfab68
Last Updated 3/10/2026
🚀
Optimized for
Gemini 2.0
💎

Ready to Install?

Get started with this skill in seconds

openclaw install praxis-gws