## Что это
Gmail integration через REST source с push-уведомлениями. Пользователь в Sources → «Add Gmail» → OAuth flow → выбирает labels для watch. ROX регистрирует Gmail Push Watch (через Pub/Sub topic в Google), получает уведомления о новых message-id в режиме реального времени. TTL watch у Gmail — 7 дней, поэтому фоновый cron-job ROX обновляет subscription каждые 6 дней. При revoke OAuth — watch автоматически удаляется.
Messages забираются лениво через message-id: ROX хранит inbox-index в SQLite, тело сообщения — только при явном чтении агентом/пользователем. Attachments по запросу. Все запросы помечены `X-Application-Identifier: ROX.ONE/v1`.
Компоненты: `@rox-one/shared/sources/Gmail`, OAuth через `@rox-one/shared/auth`. PII не пишется в логах: subject, from, to помечены `sensitive=true`.
## Зачем
Email — №1 source профессионального контекста. Push watch вместо polling даёт latency ≤ 3s от прихода письма до доступности агенту, без сжигания quota и без false-positive notifications.
## Источники вдохновения
- [Mail-0/Zero](https://github.com/Mail-0/Zero) — privacy-first email client с AI и Gmail-адаптером
- [fatbobman/mail-mcp-bridge](https://github.com/fatbobman/mail-mcp-bridge) — MCP bridge для macOS Mail и Gmail
- [wasp-lang/open-saas](https://github.com/wasp-lang/open-saas) — multi-provider OAuth с background jobs
## 🔗 Linear
- [PZD-442](https://linear.app/kuhjie/issue/PZD-442) — backing ticket