SharePoint#
The SharePoint node stores a file in a SharePoint Online document library, or reads one out of it. It works through the Microsoft Graph API and signs in as an application, so nothing depends on a user being logged in.
The credentials come from the Microsoft SharePoint integration the node points at. A Flow never carries a client secret.
Settings:
- Integration*: system integration of type Microsoft SharePoint
- Operation: Upload stores a file, Download* reads one
- Drive ID: optional, overrides the library of the integration, so one integration can serve several libraries
- Site ID: optional, used when neither the node nor the integration names a drive
Upload#
- Target folder: for example
Reports/2026/Plant North. Missing folders are created. Leave it empty to store in the root of the library. - File name: for example
4711.pdf. Without one, the name of the file or the title of the document is used, and a missing extension is added from the file type. - File or Document: what to store. A photo, an upload or a signature from a UI node, or a document from the Document Generation node. Exactly one of the two.
- If the file already exists: Rename stores it under a numbered name and is the default, Replace overwrites it, Fail stops the node.
- SharePoint columns: optional. A JSON object whose fields are written to the columns of the new item, with Flow variables replaced the same way as in the body of the HTTP node.
{ "Auftragsnummer": "${Auftragsnummer}", "Standort": "${Standort}" }
The field names are the internal names of the columns in the library, not the display names.
Download#
- File path: the path inside the library, for example
Templates/Inspection.pdf - Item ID: an alternative to the path, for a file addressed by its id
The file is read into the platform and handed on as a normal file variable. It can go into an E-Mail node as an attachment, into a Business Object, or straight back into another SharePoint node.
Variables#
The node publishes the variables of the selected operation only.
| Variable | Operation | Content |
|---|---|---|
| Item ID | both | the id of the file in SharePoint |
| Link to the file | both | the SharePoint URL, useful in a following E-Mail node |
| File name | both | the name the file was actually stored or found under |
| Size in bytes | both | |
| Drive ID | both | the library that was written to or read from |
| Path in the library | Upload | where the file was stored |
| File | Download | the file itself, for use in any node that takes a file |
| Mime type | Download |
Several files at once#
The node handles one file per run. For several files, put it inside a Table Loop.
A camera or upload element publishes two variables: the first file, and a table of all files. Feed that table into the loop, and bind the loop's File column to the node. The node then runs once per photo.
Give the file name yourself in that case. Photos often arrive under the same name, and every run would otherwise hit the conflict behavior. The loop offers a Current index, so a name like ${Auftragsnummer}_${index}.jpg keeps them apart and in order.
Good to know#
Characters SharePoint does not allow in a name, a slash or a colon for instance, are replaced with an underscore. A Flow variable holding Plant/North therefore creates the folder Plant_North instead of an unintended extra level.
Transfers are limited to 100 MB per file, in both directions. On a download the size is checked before anything is fetched, so an oversized file fails the node instead of the run.
A failed transfer fails the node, so the Flow can branch on it with a Logic node and notify someone rather than losing the file quietly.
See Flow Designer