SharePoint
Type ID: microsoftSharepoint · Kind: Action · Trace: TOOL
Work with Microsoft SharePoint through Microsoft Graph: enumerate sites and lists, and read/create/update/delete list items using dynamically loaded site, list, and column metadata.
Credentials
microsoftOAuth2
Resources & operations
- Item (
sharepointItem)- Get Many Items (
getMany) — Return many items from a list. - Get One Item (
getOne) — Return a single item by ID. - Create Item (
create) — Create a list item from mapped fields. - Update Item (
update) — Update an item's fields by ID. - Delete Item (
delete) — Delete an item by ID.
- Get Many Items (
- List (
sharepointList)- Get Many Lists (
getMany) — Return many lists in a site.
- Get Many Lists (
Properties
Common
| Property | Key | Type | Required | Default | Possible values | Shown when |
|---|---|---|---|---|---|---|
| Resource | resource | options | Yes | sharepointItem | Item (sharepointItem), List (sharepointList) | — |
Item (sharepointItem)
| Property | Key | Type | Required | Default | Possible values | Shown when |
|---|---|---|---|---|---|---|
| Operation | operation | options | Yes | getMany | Get Many Items (getMany), Get One Item (getOne), Create Item (create), Update Item (update), Delete Item (delete) | resource = sharepointItem |
| Site | siteId | options | Yes | '' | Loaded dynamically at runtime (getSites, searchable) | resource = sharepointItem |
| List | listId | options | Yes | '' | Loaded dynamically at runtime (getLists, depends on siteId) | resource = sharepointItem |
| Limit | limit | number | No | 50 | Max number of items to return | resource = sharepointItem, operation = getMany |
| Return Fields | returnFields | string | No | '' | Comma-separated internal field names (optional) | resource = sharepointItem, operation = getMany or getOne |
| Item ID | itemId | string | Yes | '' | List item ID | resource = sharepointItem, operation = getOne, update, or delete |
| Content Type | contentTypeId | options | Yes | {} | Loaded dynamically at runtime (getMappingColumns, depends on siteId, listId) | resource = sharepointItem, operation = create or update |
| Fields | fields | resourceMapper | Yes | {} | Loaded dynamically at runtime (getListColumns, depends on siteId, listId, contentTypeId) | resource = sharepointItem, operation = create or update |
List (sharepointList) → Get Many Lists
| Property | Key | Type | Required | Default | Possible values | Shown when |
|---|---|---|---|---|---|---|
| Operation | operation | options | Yes | getMany | Get Many Lists (getMany) | resource = sharepointList |
| Site | siteId | options | Yes | '' | Loaded dynamically at runtime (getSites, searchable) | resource = sharepointList |
Notes
- Requires a microsoftOAuth2 credential; the credential ID is read from
credentials.idand resolved to a bearer token. A missing token raisesWorkflow error, credentials missing. The dynamic option loaders also requirecredentialId, otherwise they throwSharePoint requires OAuth2 credentials. - All requests target Microsoft Graph at
https://graph.microsoft.com/v1.0<resource>withAuthorization: Bearer <token>. - The node's
executeswitch only dispatchesresource = sharepointItem(toitem.execute); any other resource (includingsharepointList) throws<node> has invalid value. The List resource'sexecute(getMany→GET /sites/{siteId}/lists) is defined but is not reachable through the node's top-level switch.
Item operation behavior (item.execute):
- Validates
siteId,listId, andcontentTypeIdas non-empty for all operations (throwsMissing siteId/Missing listId/Missing contentTypeId). Base path is/sites/{siteId}/lists/{listId}. - getMany —
GET {base}/items?$expand=fields&$top={limit}(default 50). Maps results to{ id, fields }. WhenreturnFieldsis set, only those fields plusTitleare kept. Output:{ count, items }. - getOne —
GET {base}/items/{itemId}?$expand=fields(requiresitemId). SamereturnFieldsfiltering (plusTitle). Output:{ id, fields }. - create —
POST {base}/itemswith body{ fields }(from the resourceMapper). Output:{ success: true, created }. - update —
PATCH {base}/items/{itemId}/fieldswith the mappedfields(requiresitemId). Output:{ success: true, updated }. - delete —
DELETE {base}/items/{itemId}(requiresitemId). Output:{ success: true, deletedId }.
Dynamic option loaders (methods.loadOptions):
getSites—GET /sites?search=<query|*>; returns{ siteName, siteId }options.getLists—GET /sites/{siteId}/lists; returns{ listName, listId }options, filtered by search term.getMappingColumns—GET /sites/{siteId}/lists/{listId}/contentTypes; returns a resourceMapper field set (skips hidden/readOnly columns).getListColumns—GET /sites/{siteId}/lists/{listId}/contentTypes/{contentTypeId}/columns; returns resourceMapper fields. Column types map: choice→options, dateTime→dateTime, boolean→boolean, number/currency→number, text→string, else json.- On error the API handler throws
Microsoft API request failed (<status>): <message>.