Curiosity

Microsoft OneDrive

Ingests files, folders, and OneNote notebooks from OneDrive (personal or business). Built on Microsoft Graph delta links for efficient incremental sync, including across shared drives.

variant=info text="Cloud storage" variant=success text="OAuth" variant=success text="Maps ACLs"

What gets ingested

Element Mapped to
OneDrive files _FileEntry + _Blob
Folders (incl. shared with me) _Folder linked via _HasChild
OneNote notebooks / sections / pages _OneNoteNotebook, _OneNoteSection, _OneNotePage nodes; page URLs are resolved through FetchOneNotePageUrlsGraphTask
File metadata (id, ETag, modified, sharing info) Properties on _FileEntry

Authentication

  • Type: OAuth 2.0 against Microsoft Graph (per-user).
  • Tenant + client credentials are configured by the workspace administrator; the user only sees the standard Microsoft consent screen.

Access control mapping

Source Carried into the graph?
Per-user drive access Yes — separate access group per user.
permissions on each drive item Yes — mapped to access groups using the Microsoft Graph helpers.
Shared drives Yes — tracked with their own delta link.

Sync cadence

  • Default cron: every 15 minutes.
  • Incremental sync: Microsoft Graph delta per drive (My Drive + each Shared Drive). The connector persists the delta link after each run.
flowchart LR Conn[Connector] -->|delta?token=...| MyDrive[(My Drive)] Conn -->|delta?token=...| Shared1[(Shared Drive)] MyDrive -->|deltaLink| State[(Persisted delta tokens)] Shared1 -->|deltaLink| State State --> NextRun[Next run resumes from deltaLink]

Notable

  • Concurrent multi-user sync uses per-user locks so two parallel runs of the same user can't double-write to the graph.
  • OneNote page URLs are fetched in a follow-up batch (FetchOneNotePageUrlsGraphTask) to keep the main sync fast.