Microsoft Teams

Ingests Teams, channels, channel messages, replies, and attachments through Microsoft Graph. Per-channel access is mapped onto workspace access groups.

variant=info text="Chat" variant=success text="OAuth" variant=success text="Maps ACLs"

What gets ingested

Element Mapped to
Team _Team
Channel (standard / private / shared) _Channel
Channel members _User, linked by _HasMember
Channel message _Message
Reply _Message with _RepliesTo
Attached file _FileEntry + _Blob (resolves the SharePoint/OneDrive backing store)

Authentication

  • Type: OAuth against Microsoft Graph (per-user, tenant scoped).
  • Requested scopes: the connector requests the default identity scope (openid profile email offline_access) at sign-in. Unlike Microsoft SharePoint, there's no hardcoded required/optional Graph permission list for Teams — the effective permissions (team, channel, and chat access) come from whatever the Azure AD app registration has been granted admin consent for.

Access control mapping

Source Carried into the graph?
Per-team membership Yes — each team is an access group; members are added.
Per-channel membership (private channels) Yes — separate access group per private channel.
Cross-tenant shared channels Members from both tenants are added to the channel's access group.

Sync cadence

  • Default cron: every 15 minutes.
  • Incremental sync: Microsoft Graph delta links per team + per channel. The connector versions its schema (v0 → v1 → v2 → v3); the workspace runs a migration task when a new version ships.

Notable

  • Attachment URLs are resolved through SharePoint/OneDrive on demand so files are stored as proper _FileEntry nodes (not just URLs).
  • Includes a one-shot RemoveMicrosoftTeamsDataTask administrators can run to wipe a previously ingested team cleanly.
© 2026 Curiosity. All rights reserved.