1. Overview
The Microsoft SharePoint tool in GoInsight lets you automate list records and document-library files through Microsoft Graph API. It is designed to cover the same core Microsoft SharePoint capabilities that n8n's official SharePoint node exposes, so you can read lists, read and maintain list items, and work with files in a site's default drive.
This tool currently supports three main resource areas:
- List: inspect a single SharePoint list or enumerate lists in a site
- Item: create, read, update, delete, paginate, and create-or-update list items
- File: upload, download, and replace file content in the site's default document library
2. Prerequisites
Before using the Microsoft SharePoint tool, make sure you have:
- A valid Microsoft 365 account with access to the target SharePoint site
- An OAuth2 access token for Microsoft Graph API
- Appropriate Microsoft Graph permissions such as Sites.Read.All, Sites.ReadWrite.All, Files.Read, or Files.ReadWrite, depending on the action
- The correct SharePoint site_id, plus list_id, item_id, or file item ID when required
3. Credentials
For credential setup instructions, please refer to our official documentation: Credential Configuration Guide.
4. Supported Operations
Summary
| Resource | Operation | Description |
|---|---|---|
| List | Get a List | Retrieves metadata for one SharePoint list by ID. |
| List | Get Many Lists | Lists SharePoint lists in a site with cursor-based pagination metadata. |
| Item | Get an Item | Retrieves one SharePoint list item by ID, including fields. |
| Item | Get Many Items | Lists items from a SharePoint list with cursor-based pagination. |
| Item | Create an Item | Creates a new SharePoint list item from a fields object. |
| Item | Create or Update an Item | Creates or updates a SharePoint list item by matching a field name and value. |
| Item | Update an Item | Partially updates one existing SharePoint list item. |
| Item | Delete an Item | Permanently deletes one SharePoint list item with a confirm safety gate. |
| File | Download a File | Retrieves a temporary download URL and metadata for a SharePoint file. |
| File | Upload a File | Uploads a file to the site's default drive or a target folder. |
| File | Update a File | Replaces the contents of an existing SharePoint file. |
Operation Details
Get a List
Retrieves metadata for a single SharePoint list.
Use when:
- You already know list_id and need to confirm the list exists
- You want the list template, visibility, description, or webUrl
Input:
- SiteId: SharePoint site identifier in Graph full-ID or path format
- ListId: SharePoint list GUID, usually obtained from Get Many Lists
Output:
- List: List metadata object
- Summary, Hint, Retryable, OriginalStatusCode, StatusCode, ErrorMessage
Get Many Lists
Lists SharePoint lists in the specified site.
Use when:
- You need to discover valid list_id values before reading or writing items
- You need pagination metadata for large sites
Input:
- SiteId: SharePoint site identifier in Graph full-ID or path format.
- Limit: Number of lists per page.
- PageToken: Cursor token from a previous response (NextPageToken).
Output:
- Lists: Array of list metadata objects
- HasMore, NextPageToken
- Summary, Hint, Retryable, OriginalStatusCode, StatusCode, ErrorMessage
Get an Item
Retrieves a single SharePoint list item, including all returned field values.
Use when:
- You already know item_id
- You want to verify the current item state before an update
Input:
- SiteId: SharePoint site identifier in Graph full-ID or path format.
- ListId: SharePoint list GUID, usually obtained from Get Many Lists.
- ItemId: Item ID inside the target list, usually obtained from Get Many Items.
Output:
- Item: Item object containing id, fields, timestamps, and webUrl
- Summary, Hint, Retryable, OriginalStatusCode, StatusCode, ErrorMessage
Get Many Items
Returns one page of SharePoint list items.
Use when:
- You need to inspect or export list contents
- You need to discover item_id values before update or delete actions
Input:
- SiteId: SharePoint site identifier in Graph full-ID or path format.
- ListId: SharePoint list GUID, usually obtained from Get Many Lists.
- Limit: Number of items per page.
- PageToken: Cursor token from a previous response (NextPageToken).
Output:
- Items: Array of item objects
- HasMore, NextPageToken
- Summary, Hint, Retryable, OriginalStatusCode, StatusCode, ErrorMessage
Create an Item
Creates a new item in a SharePoint list.
Use when:
- You want to insert a new list record and already know the list schema
Key points:
- Fields must be an object, not a JSON string
- Field names are case-sensitive and should use SharePoint internal names
Input:
- SiteId: SharePoint site identifier in Graph full-ID or path format.
- ListId: SharePoint list GUID, usually obtained from Get Many Lists.
- Fields: Object of field name/value pairs for the new item. Field names are case-sensitive and should use internal column names.
Output:
- Item: Created item object
- Summary, Hint, Retryable, OriginalStatusCode, StatusCode, ErrorMessage
Create or Update an Item
Creates a new SharePoint item or updates the first uniquely matched existing item.
Use when:
- You need create-or-update behavior based on a business key such as Title or another unique column
Key points:
- MatchFieldName should be selective enough to identify at most one item
- The action fails on ambiguous matches instead of updating an arbitrary record
- The lookup sends the Graph Prefer: HonorNonIndexedQueriesWarningMayFailRandomly header to support non-indexed match fields when allowed by SharePoint
- Update behavior is PATCH-style incremental update: only provided fields are changed and omitted fields remain unchanged
- MatchFieldName must use the SharePoint internal column name, not the display name
- Common mappings include Task Name -> Title, Assigned To -> AssignedTo, and Due Date -> DueDate
- ListId uses GUID format (Globally Unique Identifier), for example a1b2c3d4-1234-5678-abcd-ef0123456789
Input:
- SiteId: can often be copied from the SharePoint site URL in path format, for example contoso.sharepoint.com:/sites/marketing
- ListId: SharePoint list GUID, usually obtained from Get Many Lists.
- MatchFieldName: Internal column name used as the create-or-update match key (for example Title).
- MatchFieldValue: Value used to find an existing item by MatchFieldName.
- Fields: Object of field name/value pairs to create or patch.
Output:
- Operation: created or updated
- Item: The created or updated item object, including returned fields plus create-only metadata such as createdDateTime, lastModifiedDateTime, and webUrl
- Summary, Hint, Retryable, OriginalStatusCode, StatusCode, ErrorMessage
Update an Item
Partially updates one existing SharePoint list item.
Use when:
- You already know item_id and only want to change selected fields
Key points:
- Only fields included in Fields are changed
- Omitted fields remain unchanged
Input:
- SiteId: SharePoint site identifier in Graph full-ID or path format.
- ListId: SharePoint list GUID, usually obtained from Get Many Lists.
- ItemId: Target item ID, usually obtained from Get Many Items.
- Fields: Object of field name/value pairs to patch. Only provided fields are changed.
Output:
- UpdatedFields: Updated item fields returned by Graph
- Summary, Hint, Retryable, OriginalStatusCode, StatusCode, ErrorMessage
Delete an Item
Permanently deletes one SharePoint list item.
Use when:
- You intentionally want to remove a list record
Key points:
- Confirm must be explicitly set to true
- This is destructive and cannot be undone by the tool
Input:
- SiteId: SharePoint site identifier in Graph full-ID or path format.
- ListId: SharePoint list GUID, usually obtained from Get Many Lists.
- ItemId: Target item ID to delete, usually obtained from Get Many Items.
- Confirm: Must be true to execute permanent deletion.
Output:
- Deleted: Whether the item was deleted
- Summary, Hint, Retryable, OriginalStatusCode, StatusCode, ErrorMessage
Download a File
Retrieves file metadata and a temporary download URL for a SharePoint file.
Use when:
- You need to hand off a file download link to a downstream step
- You need the file name, size, MIME type, or browser URL
Input:
- SiteId: SharePoint site ID (full ID or path format). Obtain from site discovery or by confirming site context via Get Many Lists.
- ItemId: Drive item ID of the file. Obtain from Get Many Items.
Output:
- DownloadUrl, FileName, FileSize, MimeType, WebUrl
- Summary, Hint, Retryable, OriginalStatusCode, StatusCode, ErrorMessage
Gotchas:
- DownloadUrl is temporary (typically around 1 hour). Use it immediately.
Upload a File
Uploads a small file to the site's default drive.
Use when:
- You want to create a new file in the site's default document library or a known folder
Key points:
- FileContent must be pure Base64 without a data: prefix
- If the target path already exists, the content API may overwrite that file
Input:
- SiteId: SharePoint site ID (full ID or path format). Obtain from site discovery or by confirming site context via Get Many Lists.
- FileName: Target file name including extension, for example report.xlsx.
- FileContent: Base64 payload only (no data: prefix). You can generate it via shell base64.
- ParentFolderItemId (optional): Folder item ID. Obtain from Get Many Items.
Output:
- FileId, FileName, FileSize, WebUrl, DownloadUrl, CreatedDateTime
- Summary, Hint, Retryable, OriginalStatusCode, StatusCode, ErrorMessage
Update a File
Replaces the contents of an existing SharePoint file.
Use when:
- You already know the drive item_id and want to overwrite the file content
Key points:
- This updates file content, not list-item metadata
- This is a full overwrite operation and is irreversible
- FileContent must be Base64 encoded
Input:
- SiteId: SharePoint site ID (full ID or path format). Obtain from site discovery or by confirming site context via Get Many Lists.
- ItemId: Target file item ID. Obtain from Get Many Items.
- FileContent: Base64 payload only (no data: prefix). You can reuse content from Download a File or generate via shell base64.
Output:
- FileId, FileName, FileSize, WebUrl, DownloadUrl, CreatedDateTime
- Summary, Hint, Retryable, OriginalStatusCode, StatusCode, ErrorMessage
Leave a Reply.