SharePoint · files

SharePoint integration: files and steering groups

SharePoint integration means documents for a case land in a known site and library in the customer’s tenant, with the rights they already govern in 365. Your database owns the case. SharePoint owns the file. You store site id, library id, item id. You do not mirror bytes back and forth every night. The team’s case files belong in SharePoint. The user’s drafts belong in [OneDrive](/articles/integrations/onedrive-integration). Traps: every file in one library with no folder convention, the app has Sites.ReadWrite.All on the whole tenant, and you invent versioning on top of SharePoint’s own. The hub is [Microsoft 365](/articles/integrations/microsoft-365-integration).

You do not build a new file monster. You show the right folder and put the file where the steering group already has access. Automation of the document on the case.

The right model

  • Your database owns the case
  • SharePoint owns the file
  • You store site id, library id, item id
  • You do not mirror bytes every night
Graph · scopes
User.Readok
Calendars.ReadWriteok
Files.ReadWrite.Allforklar
Sites.Selected beats Files.ReadWrite.All in a security review.

SharePoint

  • The team’s case files
  • Steering group and known rights
  • A library per case or per customer

OneDrive

  • The user’s drafts
  • Before the document is lifted onto the case
  • Five people must see it? Then it is SharePoint
SharePoint is shared. OneDrive is personal.

Traps

  • Every file in one library with no folder convention
  • The app has Sites.ReadWrite.All on the whole tenant
  • You invent versioning on top of SharePoint’s own

What to do now

Point to the site and library the case should land in. If you have no convention, that is the first job — before the API. Send the site name.

FAQ about SharePoint integration

SharePoint or OneDrive?

The team’s case files: SharePoint. The user’s drafts: OneDrive.

Must we sync the files home?

No. Store ids. Do not mirror bytes every night.

Which scope should we ask for?

Sites.Selected or one known site. Not ReadWrite.All “to be safe”.

Who governs access?

The tenant. You inherit SharePoint’s rights. Do not invent a parallel ACL in your app.