Microsoft SharePoint

SharePoint is a content and collaboration platform used to manage sites, lists, document libraries, files, and structured business content across Microsoft 365 environments.

The Flowgear Microsoft SharePoint Node lets a Workflow resolve sites, read lists and document libraries, create lists and list items, and upload or download files through Microsoft Graph when you need to automate SharePoint content operations.

Revision History

0.1.0.0 - Added eager startup and lazy continuation for collection invokes.
0.0.0.17 - Aligned the V2 connector contract and public help article.
0.0.0.10 - Added deterministic non-recursive file download behavior.
0.0.0.11 - Added create-folder and upload-file support.
0.0.0.12 - Updated project package and build metadata.
0.0.0.13 - Added support for populating list items.
0.0.0.14 - Refined helper structure and connection/auth handling.
0.0.0.15 - Improved Graph error parsing and debug-gated tenant-dependent diagnostics.
0.0.0.16 - Reused delegated access tokens until expiry and moved token provider into its own file.

Connection

This Connection stores Microsoft Entra OAuth settings and optional default SharePoint targeting values used by methods when site or drive inputs are omitted.

Property Type Description
Tenant ID String Microsoft Entra tenant identifier for the app registration.
Client ID String Microsoft Entra application client ID.
Client Secret Masked Microsoft Entra application secret used for token acquisition and refresh.
SharePoint Hostname String Optional hostname hint such as contoso.sharepoint.com used when resolving sites by relative path.
Default Site Path String Optional default site path such as /sites/Finance used by templates and method calls when no explicit site is supplied.
Default Document Library String Optional default document library name used when no explicit drive identifier is supplied.
Scopes String Delegated OAuth scopes used for authorization and refresh.
Access Token Masked Delegated OAuth access token.
Refresh Token Masked Delegated OAuth refresh token.

Setup Notes

  • Configure a Microsoft Entra app registration with delegated permissions for SharePoint Graph operations.
  • The Node validates Tenant ID, Client ID, and Client Secret; these are required.
  • Delegated token refresh requires runtime-provided connection lock and update delegates. Without them, token refresh fails.
  • Delegated access tokens are reused until close to expiry and then refreshed through the connection delegates.
  • Connection test performs token acquisition and then calls Microsoft Graph to verify access.

Methods

The Node exposes methods for site resolution, list and list item operations, and document library file and folder operations.

GetSite

Gets a SharePoint site by Graph site ID, absolute site URL, or relative site path.

Parameter Type Description
Connection Connection SharePoint connection details including auth and defaults.
SiteID String Graph site identifier. Optional when SiteURL or SitePath is supplied.
SiteURL String Absolute SharePoint site URL.
SitePath String Relative site path such as /sites/Finance.
Return Type Description
Site Object Microsoft Graph site payload. Query results do not include mutation-style default fields.

ListLists

Lists SharePoint lists in the selected site.

Parameter Type Description
Connection Connection SharePoint connection details including auth and defaults.
SiteID String Graph site identifier. Optional when SiteURL or SitePath is supplied.
SiteURL String Absolute SharePoint site URL.
SitePath String Relative site path.
Return Type Description
Lists Array List entries for the resolved site. Query rows do not include mutation-style default fields.

ListListItems

Lists items from a SharePoint list and returns normalized item rows.

Parameter Type Description
Connection Connection SharePoint connection details including auth and defaults.
ListID String Graph list identifier. Optional when ListName is supplied.
ListName String Display name of the list.
SiteID String Graph site identifier. Optional when SiteURL or SitePath is supplied.
SiteURL String Absolute SharePoint site URL.
SitePath String Relative site path.
Return Type Description
ListItems Array Normalized list items including fields, data, and raw payloads. Query rows do not include mutation-style default fields.

CreateList

Creates a SharePoint list in the resolved site by using the selected Microsoft Graph list template.

Parameter Type Description
Connection Connection SharePoint connection details including auth and defaults.
ListName String Display name for the new list.
Template String Graph list template such as genericList or documentLibrary.
SiteID String Graph site identifier. Optional when SiteURL or SitePath is supplied.
SiteURL String Absolute SharePoint site URL.
SitePath String Relative site path.
Return Type Description
List Object Created list data plus the Flowgear object. Flowgear contains the default mutation metadata fields IsSuccess and Message.

PopulateList

Creates a SharePoint list item by using field values keyed by SharePoint internal column names.

Parameter Type Description
Connection Connection SharePoint connection details including auth and defaults.
Fields Object Field values keyed by internal SharePoint column names.
ListID String Graph list identifier. Optional when ListName is supplied.
ListName String Display name of the list.
SiteID String Graph site identifier. Optional when SiteURL or SitePath is supplied.
SiteURL String Absolute SharePoint site URL.
SitePath String Relative site path.
Return Type Description
ListItem Object Created list item data plus the Flowgear object. Flowgear contains the default mutation metadata fields IsSuccess and Message.

ListDrives

Lists document libraries represented as drives for the resolved site.

Parameter Type Description
Connection Connection SharePoint connection details including auth and defaults.
SiteID String Graph site identifier. Optional when SiteURL or SitePath is supplied.
SiteURL String Absolute SharePoint site URL.
SitePath String Relative site path.
Return Type Description
Drives Array Normalized drive rows for the selected site. Query rows do not include mutation-style default fields.

ListDriveItems

Lists files and folders in a document library root or in an optional parent folder.

Parameter Type Description
Connection Connection SharePoint connection details including auth and defaults.
DriveID String Graph drive identifier. Optional when DriveName is supplied.
DriveName String Document library name.
ParentItemID String Optional parent folder item ID. Root is used when omitted.
SiteID String Graph site identifier. Optional when SiteURL or SitePath is supplied.
SiteURL String Absolute SharePoint site URL.
SitePath String Relative site path.
Return Type Description
DriveItems Array Normalized file and folder rows including file and folder flags and the raw payload. Query rows do not include mutation-style default fields.

DownloadFile

Downloads file content from a document library item.

Parameter Type Description
Connection Connection SharePoint connection details including auth and defaults.
ItemID String Drive item ID. Optional when ItemName is supplied.
ItemName String File name resolved within ParentItemID or drive root.
DriveID String Graph drive identifier. Optional when DriveName is supplied.
DriveName String Document library name.
ParentItemID String Optional parent folder item ID for name-based resolution.
SiteID String Graph site identifier. Optional when SiteURL or SitePath is supplied.
SiteURL String Absolute SharePoint site URL.
SitePath String Relative site path.
Return Type Description
File Stream Binary file content stream.

CreateFolder

Creates a folder in a document library at root or under an optional parent folder.

Parameter Type Description
Connection Connection SharePoint connection details including auth and defaults.
FolderName String Folder name to create.
DriveID String Graph drive identifier. Optional when DriveName is supplied.
DriveName String Document library name.
ParentItemID String Optional parent folder item ID. Root is used when omitted.
SiteID String Graph site identifier. Optional when SiteURL or SitePath is supplied.
SiteURL String Absolute SharePoint site URL.
SitePath String Relative site path.
Return Type Description
Folder Object Created folder data plus the Flowgear object. Flowgear contains the default mutation metadata fields IsSuccess and Message.

UploadFile

Uploads a file stream into a document library at root or under an optional parent folder.

Parameter Type Description
Connection Connection SharePoint connection details including auth and defaults.
File Stream Binary content stream to upload.
FileName String Name for the uploaded file.
DriveID String Graph drive identifier. Optional when DriveName is supplied.
DriveName String Document library name.
ParentItemID String Optional parent folder item ID. Root is used when omitted.
SiteID String Graph site identifier. Optional when SiteURL or SitePath is supplied.
SiteURL String Absolute SharePoint site URL.
SitePath String Relative site path.
Return Type Description
DriveItem Object Uploaded drive item data plus the Flowgear object. Flowgear contains the default mutation metadata fields IsSuccess and Message.

Usage Notes

  • Site targeting can come from explicit method inputs such as SiteID, SiteURL, or SitePath, or from Connection defaults.
  • Drive targeting can come from explicit DriveID or DriveName, or from the Connection default document library.
  • Collection methods retrieve their first Microsoft Graph page while the Node invoke is awaited. They follow @odata.nextLink only as the Workflow consumes later rows.
  • Query methods return zero rows for valid no-match outcomes and do not synthesize mutation-style default fields.
  • If the first provider call for a query method fails, that Microsoft Graph error surfaces to the Workflow instead of being normalized into an empty success result.
  • Name-based file resolution in DownloadFile is intentionally non-recursive and only searches the selected parent scope or drive root.
  • Mutation responses use the Flowgear object for default success and failure metadata.

Known Issues

  • Name-based drive item resolution relies on exact matches within the selected scope. Use explicit IDs when duplicate names are possible.