
Microsoft SharePoint Download
CertifiedDownload SharePoint file to storage
Microsoft SharePoint Download
Download SharePoint file to storage
Downloads a file by ID or path from a document library and stores it in Kestra internal storage (kestra:///). Requires Microsoft Graph permissions Files.Read.All and Sites.Read.All.
type: io.kestra.plugin.microsoft365.sharepoint.DownloadExamples
Download a file from SharePoint
id: microsoft365_sharepoint_download
namespace: company.team
tasks:
- id: download
type: io.kestra.plugin.microsoft365.sharepoint.Download
tenantId: "{{ secret('AZURE_TENANT_ID') }}"
clientId: "{{ secret('AZURE_CLIENT_ID') }}"
clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
siteId: "contoso.sharepoint.com,2C712604-1370-44E7-A1F5-426573FDA80A,2D2244C3-251A-49EA-93A8-39E1C3A060FE"
driveId: "b!BCTBCKSP50iysCOFPU"
itemId: "01BYE5RZ6QN3ZWBTURF3F43DSUNZYRZD5Q"
Download a file by path
id: microsoft365_sharepoint_download_by_path
namespace: company.team
tasks:
- id: download
type: io.kestra.plugin.microsoft365.sharepoint.Download
tenantId: "{{ secret('AZURE_TENANT_ID') }}"
clientId: "{{ secret('AZURE_CLIENT_ID') }}"
clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
siteId: "contoso.sharepoint.com,2C712604-1370-44E7-A1F5-426573FDA80A,2D2244C3-251A-49EA-93A8-39E1C3A060FE"
driveId: "b!BCTBCKSP50iysCOFPU"
itemPath: "/Documents/report.pdf"
Installation
Our standard Docker images already include this plugin. If you use a -slim image or another setup, install it with the following command:
kestractl plugins get io.kestra.plugin:plugin-microsoft365 --compatible-for $KESTRA_VERSION For kestractl, use your Kestra version with --compatible-for, or specify an exact plugin version.
For Kestra CLI, replace LATEST with a specific version or version range to pin the plugin version.
Properties
clientId *string
Azure client ID
Application (client) ID of the registered Entra ID app
clientSecret *string
Azure client secret
Client secret for the app registration; required for client-credentials flow
siteId *string
SharePoint site ID
Site identifier in Graph format hostname,siteId,webId
tenantId *string
Azure tenant ID
Azure AD (Entra ID) tenant GUID used for Graph authentication
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150driveId string
Drive ID
Document library ID; if omitted the first drive returned for the site is used
itemId string
Item ID
ID of the file to download; either itemId or itemPath is required
itemPath string
Item path
Path relative to the drive root (e.g., '/Documents/file.txt'); either itemPath or itemId is required
Outputs
itemId string
ID of the downloaded item
name string
Name of the downloaded file
size integer
Size of the downloaded file in bytes
uri string
URI of the file in Kestra internal storage
webUrl string
Web URL of the file in SharePoint