M365 source: Outlook + Teams + OneDrive через Graph API

## Что это Microsoft 365 integration через единый OAuth flow (Azure AD) с scopes `Mail.Read`, `Calendars.Read`, `Files.ReadWrite`, `ChatMessage.Read`. Один OAuth — три source-адаптера: Outlook (mail+calendar), OneDrive (files), Teams (chats+channels). Webhook subscription через Graph subscriptions с auto-renewal каждые 3 дня (TTL 4230 мин max). Graph throttling honor: при HTTP 429 экспоненциальный backoff с jitter, max 60s. Batch API для bulk reads (до 20 requests/batch). All requests labeled `User-Agent: ROX.ONE/v1`. Компоненты: `@rox-one/shared/sources/M365`, общая Graph-client библиотека. Token refresh через `@rox-one/shared/auth`. ## Зачем Для enterprise-customers M365 — стандартный stack. Полный охват Outlook+Teams+OneDrive через один OAuth снижает onboarding-friction до одного клика и закрывает 80% контекста knowledge worker'а в большой организации. ## Источники вдохновения - [wasp-lang/open-saas](https://github.com/wasp-lang/open-saas) — multi-provider OAuth (Google, Slack, MS) - [anomalyco/openauth](https://github.com/anomalyco/openauth) — OAuth2/OIDC provider с token-refresh patterns - [InsForge/InsForge](https://github.com/InsForge/InsForge) — all-in-one backend с multi-tenant auth ## 🔗 Linear - [PZD-438](https://linear.app/kuhjie/issue/PZD-438) — backing ticket

Please authenticate to join the conversation.

Upvoters
Status

In Review

Board
🧑‍🤝‍🧑

Compounding & Collaboration

Date

About 19 hours ago

Author

agi

Subscribe to post

Get notified by email when there are changes.