Voltar ao índice
IA e agentes Fonte oficial

Monitoramento de novos e-mails do Gmail

Observa novas mensagens do Gmail via gws e Pub/Sub, com filtros por labels, formatos de mensagem e saída em NDJSON ou arquivos JSON.

Ver código no GitHub Instala diretamente do repositório-fonte.

O que esta skill faz

Esta skill executa gws gmail +watch para receber novas mensagens e transmiti-las como NDJSON. É possível usar recursos Pub/Sub existentes ou informar um projeto GCP, filtrar labels e controlar lote, intervalo e formato.

Quando usar

  • Monitorar mensagens novas da caixa de entrada
  • Receber apenas e-mails não lidos por label
  • Executar uma única coleta e encerrar
  • Salvar cada mensagem em um arquivo JSON
  • Reutilizar uma subscription Pub/Sub existente

Como usar

  1. Leia as regras compartilhadas de autenticação e segurança
  2. Confirme a configuração do gws e do projeto ou subscription
  3. Execute gws gmail +watch com os filtros necessários
  4. Escolha full, metadata, minimal ou raw em --msg-format
  5. Interrompa com Ctrl-C e decida se usará --cleanup

O que revisar antes de instalar

  • O watch do Gmail expira após sete dias e precisa ser renovado
  • Sem --cleanup, os recursos Pub/Sub criados permanecem ativos
  • A configuração depende de autenticação e permissões adequadas
  • O formato raw pode exigir processamento adicional

SKILL.md

---
name: gws-gmail-watch
description: "Gmail: Watch for new emails and stream them as NDJSON."
metadata:
  version: 0.22.5
  openclaw:
    category: "productivity"
    requires:
      bins:
        - gws
    cliHelp: "gws gmail +watch --help"
---

# gmail +watch

> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.

Watch for new emails and stream them as NDJSON

## Usage

```bash
gws gmail +watch
```

## Flags

| Flag | Required | Default | Description |
|------|----------|---------|-------------|
| `--project` | — | — | GCP project ID for Pub/Sub resources |
| `--subscription` | — | — | Existing Pub/Sub subscription name (skip setup) |
| `--topic` | — | — | Existing Pub/Sub topic with Gmail push permission already granted |
| `--label-ids` | — | — | Comma-separated Gmail label IDs to filter (e.g., INBOX,UNREAD) |
| `--max-messages` | — | 10 | Max messages per pull batch |
| `--poll-interval` | — | 5 | Seconds between pulls |
| `--msg-format` | — | full | Gmail message format: full, metadata, minimal, raw |
| `--once` | — | — | Pull once and exit |
| `--cleanup` | — | — | Delete created Pub/Sub resources on exit |
| `--output-dir` | — | — | Write each message to a separate JSON file in this directory |

## Examples

```bash
gws gmail +watch --project my-gcp-project
gws gmail +watch --project my-project --label-ids INBOX --once
gws gmail +watch --subscription projects/p/subscriptions/my-sub
gws gmail +watch --project my-project --cleanup --output-dir ./emails
```

## Tips

- Gmail watch expires after 7 days — re-run to renew.
- Without --cleanup, Pub/Sub resources persist for reconnection.
- Press Ctrl-C to stop gracefully.

## See Also

- [gws-shared](../gws-shared/SKILL.md) — Global flags and auth
- [gws-gmail](../gws-gmail/SKILL.md) — All send, read, and manage email commands