Skip to main content
Technical Preview

Overview

A client-mode connector for a curated storage slice of Microsoft Graph OneDrive / SharePoint under https://graph.microsoft.com/v1.0: Default BASE_ADDRESS is https://graph.microsoft.com/v1.0 (no trailing slash). Topics use storage/sharepoint-and-onedrive/<object>/<verb>. See the base guide: REST API Connectors.
Path encoding: item_path is the path under the drive root without a leading slash (e.g. FolderA/telemetry.csv). URL-encode path segments in the publisher if they contain spaces or reserved characters. LoT ENDPOINT uses /drives/{value.json.drive_id}/root:/{value.json.item_path}:/content.
Large upload sessions: createUploadSession returns an uploadUrl that is not on graph.microsoft.com. When calling Putuploadchunk, set connector BASE_ADDRESS to that URL’s origin (scheme + host + port) and put path + query in upload_path. Do not send a Graph Authorization header — the session URL embeds auth. Same pattern as Teams Workflows webhooks and S3 presigned PUT.
Prefer Hub secrets for Entra access tokens (GET SECRET "GRAPH_ACCESS_TOKEN" or "SHAREPOINT_GRAPH_TOKEN"). Typical scopes: Files.ReadWrite.All, Sites.ReadWrite.All, and offline_access for refresh. This template has not been verified against a live Microsoft 365 tenant. Status remains blocked until an authenticated live smoke succeeds.

Basic Syntax

Auth

  1. Graph events: pass Entra ID access_token on each MQTT payload → Authorization: Bearer {value.json.access_token}. Prefer Hub secrets / GET SECRET "GRAPH_ACCESS_TOKEN" or "SHAREPOINT_GRAPH_TOKEN". Never commit real tokens.
  2. Scopes: Files.ReadWrite.All (drive content), Sites.ReadWrite.All (list items), offline_access (refresh). Application (client credentials) or delegated depending on your Entra app registration.
  3. Upload chunk: no Authorization header. Split uploadUrl into origin → BASE_ADDRESS and path+query → upload_path. Send Content-Range / Content-Length as placeholders.

MQTT topics

Example payloads

List drive children (BASE_ADDRESS = https://graph.microsoft.com/v1.0):
Upload small file content:
Publish the file bytes (or text) as the MQTT payload body that {payload} forwards. Ensure content_type matches the body. Path/header placeholders come from value.json.*. Create list item (device register):
Create upload session (large file):
Then Putuploadchunk with BASE_ADDRESS = uploadUrl origin:

Sources

Last modified on October 21, 2026