| name | google-workspace-cli |
| description | Administração do Google Workspace via CLI gws. Instale, autentique e automatize Gmail, Drive, Sheets, Calendar, Docs, Chat e Tasks. Execute auditorias de segurança, use 43 receitas integradas e 10 pacotes de persona. Use para administração do Google Workspace, configuração da CLI gws, automação do Gmail, gerenciamento do Drive ou agendamento de Calendar. |
| agents | ["claude-code"] |
Google Workspace CLI
Orientação especializada e automação para administração do Google Workspace usando a CLI gws de código aberto. Cobre instalação, autenticação, 18+ APIs de serviço, 43 receitas integradas e 10 pacotes de persona para fluxos de trabalho baseados em papel.
Início Rápido
Verificar Instalação
python3 scripts/gws_doctor.py
Enviar um E-mail
gws gmail users.messages send me --to "team@company.com" \
--subject "Weekly Update" --body "Here's this week's summary..."
Listar Arquivos do Drive
gws drive files list --json --limit 20 | python3 scripts/output_analyzer.py --select "name,mimeType,modifiedTime" --format table
Instalação
npm (recomendado)
npm install -g @anthropic/gws
gws --version
Cargo (do código-fonte)
cargo install gws-cli
gws --version
Binários Pré-construídos
Baixe de github.com/googleworkspace/cli/releases para macOS, Linux ou Windows.
Verificar Instalação
python3 scripts/gws_doctor.py
Autenticação
Configuração OAuth (Interativa)
python3 scripts/auth_setup_guide.py --guide oauth
gws auth setup
gws auth status --json
Conta de Serviço (Headless/CI)
python3 scripts/auth_setup_guide.py --guide service-account
export GWS_SERVICE_ACCOUNT_KEY=/path/to/key.json
export GWS_DELEGATED_USER=admin@company.com
gws auth status
Variáveis de Ambiente
python3 scripts/auth_setup_guide.py --generate-env
| Variável | Propósito |
|---|
GWS_CLIENT_ID | ID de cliente OAuth |
GWS_CLIENT_SECRET | Segredo de cliente OAuth |
GWS_TOKEN_PATH | Caminho personalizado de armazenamento de token |
GWS_SERVICE_ACCOUNT_KEY | Caminho da chave JSON da conta de serviço |
GWS_DELEGATED_USER | Usuário a ser representado (contas de serviço) |
GWS_DEFAULT_FORMAT | Formato de saída padrão (json/ndjson/table) |
Validar Autenticação
python3 scripts/auth_setup_guide.py --validate --json
Fluxo de Trabalho 1: Automação do Gmail
Objetivo: Automatizar operações de e-mail — enviar, pesquisar, rotular e gerenciar filtros.
Enviar e Responder
gws gmail users.messages send me --to "client@example.com" \
--subject "Proposal" --body "Please find attached..." \
--attachment proposal.pdf
gws gmail users.messages reply me --thread-id <THREAD_ID> \
--body "Thanks for your feedback..."
gws gmail users.messages forward me --message-id <MSG_ID> \
--to "manager@company.com"
Pesquisar e Filtrar
gws gmail users.messages list me --query "from:client@example.com after:2025/01/01" --json \
| python3 scripts/output_analyzer.py --count
gws gmail users.labels list me --json
gws gmail users.settings.filters create me \
--criteria '{"from":"notifications@service.com"}' \
--action '{"addLabelIds":["Label_123"],"removeLabelIds":["INBOX"]}'
Operações em Massa
gws gmail users.messages list me --query "is:read older_than:30d" --json \
| python3 scripts/output_analyzer.py --select "id" --format json \
| xargs -I {} gws gmail users.messages modify me {} --removeLabelIds INBOX
Fluxo de Trabalho 2: Drive e Sheets
Objetivo: Gerenciar arquivos, criar planilhas, configurar compartilhamento e exportar dados.
Operações de Arquivo
gws drive files list --json --limit 50 \
| python3 scripts/output_analyzer.py --select "name,mimeType,size" --format table
gws drive files create --name "Q1 Report" --upload report.pdf \
--parents <FOLDER_ID>
gws sheets spreadsheets create --title "Budget 2026" --json
gws drive files export <FILE_ID> --mime "application/pdf" --output report.pdf
Compartilhamento
gws drive permissions create <FILE_ID> \
--type user --role writer --emailAddress "colleague@company.com"
gws drive permissions create <FILE_ID> \
--type domain --role reader --domain "company.com"
gws drive permissions list <FILE_ID> --json
Dados do Sheets
gws sheets spreadsheets.values get <SHEET_ID> --range "Sheet1!A1:D10" --json
gws sheets spreadsheets.values update <SHEET_ID> --range "Sheet1!A1" \
--values '[["Name","Score"],["Alice",95],["Bob",87]]'
gws sheets spreadsheets.values append <SHEET_ID> --range "Sheet1!A1" \
--values '[["Charlie",92]]'
Fluxo de Trabalho 3: Calendar e Reuniões
Objetivo: Agendar eventos, encontrar horários disponíveis e gerar relatórios de standup.
Gerenciamento de Eventos
gws calendar events insert primary \
--summary "Sprint Planning" \
--start "2026-03-15T10:00:00" --end "2026-03-15T11:00:00" \
--attendees "team@company.com" \
--location "Conference Room A"
gws calendar events list primary --timeMin "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
--maxResults 10 --json
gws helpers quick-event "Lunch with Sarah tomorrow at noon"
Encontrar Horário Disponível
gws helpers find-time \
--attendees "alice@co.com,bob@co.com,charlie@co.com" \
--duration 60 --within "2026-03-15,2026-03-19" --json
Relatório de Standup
gws recipes standup-report --json \
| python3 scripts/output_analyzer.py --format table
gws recipes meeting-prep --event-id <EVENT_ID>
Fluxo de Trabalho 4: Auditoria de Segurança
Objetivo: Auditar configuração de segurança do Google Workspace e gerar comandos de remediação.
Executar Auditoria Completa
python3 scripts/workspace_audit.py --json
python3 scripts/workspace_audit.py --services gmail,drive,calendar
python3 scripts/workspace_audit.py --demo
Verificações de Auditoria
| Área | Verificação | Risco |
|---|
| Drive | Compartilhamento externo habilitado | Exfiltração de dados |
| Gmail | Regras de encaminhamento automático | Exfiltração de dados |
| Gmail | Registros DMARC/SPF/DKIM | Spoofing de e-mail |
| Calendar | Visibilidade de compartilhamento padrão | Vazamento de informações |
| OAuth | Concessões de apps de terceiros | Acesso não autorizado |
| Admin | Contagem de super administradores | Escalada de privilégio |
| Admin | Aplicação de verificação em 2 etapas | Tomada de conta |
Revisar e Remediar
python3 scripts/workspace_audit.py --json | python3 scripts/output_analyzer.py \
--filter "status=FAIL" --select "area,check,remediation"
gws drive about get --json
Ferramentas Python
| Script | Propósito | Uso |
|---|
gws_doctor.py | Diagnósticos pré-voo | python3 scripts/gws_doctor.py [--json] [--services gmail,drive] |
auth_setup_guide.py | Configuração guiada de auth | python3 scripts/auth_setup_guide.py --guide oauth |
gws_recipe_runner.py | Catálogo e executor de receitas | python3 scripts/gws_recipe_runner.py --list [--persona pm] |
workspace_audit.py | Auditoria de segurança/config | python3 scripts/workspace_audit.py [--json] [--demo] |
output_analyzer.py | Análise JSON/NDJSON | gws ... --json | python3 scripts/output_analyzer.py --count |
Todos os scripts são somente stdlib, suportam saída --json e incluem modo demo com dados de amostra embutidos.
Melhores Práticas
Segurança
- Use OAuth com escopos mínimos — solicite apenas o que cada fluxo de trabalho precisa
- Armazene tokens no chaveiro do sistema, nunca em arquivos de texto simples
- Rotacione chaves de conta de serviço a cada 90 dias
- Audite concessões de apps OAuth de terceiros trimestralmente
- Use
--dry-run antes de operações destrutivas em massa
Automação
- Canalize a saída
--json por output_analyzer.py para filtragem e agregação
- Use receitas para operações em múltiplas etapas em vez de encadear comandos brutos
- Selecione um pacote de persona para escopo de receitas ao seu papel
- Use NDformato JSON (
--format ndjson) para streaming de grandes conjuntos de resultados
- Defina
GWS_DEFAULT_FORMAT=json no perfil do shell para scripts
Desempenho
- Use
--fields para solicitar apenas os campos necessários (reduz o tamanho do payload)
- Use
--limit para limitar resultados ao navegar
- Use
--page-all apenas quando precisar de datasets completos
- Agrupe operações com receitas em vez de chamadas de API individuais
- Armazene em cache dados frequentemente acessados (ex.: IDs de rótulo, IDs de pasta) em variáveis
Limitações
| Restrição | Impacto |
|---|
| Tokens OAuth expiram após 1 hora | Re-auth necessária para scripts de longa duração |
| Limites de taxa de API (por usuário, por serviço) | Operações em massa podem atingir erros 429 |
| Requisitos de escopo variam por serviço | Deve solicitar escopos corretos durante auth |
| Status de CLI pré-v1.0 | Mudanças incompatíveis possíveis entre lançamentos |
| Projeto Google Cloud necessário | Gratuito, mas requer configuração no Cloud Console |
| Admin API precisa de privilégios de administrador | Algumas verificações de auditoria requerem papel de Admin do Workspace |
Escopos Obrigatórios por Serviço
python3 scripts/auth_setup_guide.py --scopes gmail,drive,calendar,sheets
| Serviço | Escopos Principais |
|---|
| Gmail | gmail.modify, gmail.send, gmail.labels |
| Drive | drive.file, drive.metadata.readonly |
| Sheets | spreadsheets |
| Calendar | calendar, calendar.events |
| Admin | admin.directory.user.readonly, admin.directory.group |
| Tasks | tasks |