Skip to main content

SharePoint Node Documentation

The SharePoint node allows you to access list data, files, and pages in your Microsoft SharePoint site from SkyStudio workflows. You can read, create, and update list items; upload and download files; and run AI-powered content queries. The connection is established using Azure App Registration.


Connection Setup and Management

To use the SharePoint node, you must create an App Registration in the Azure Portal and enter the Tenant ID, Client ID, and Client Secret information into SkyStudio together with your SharePoint Site URL.

🎬 Click to watch the video → []

Note: The Azure setup process for this node is exactly the same as Microsoft Teams and Outlook Calendar nodes. If you have already created an App Registration for one of these nodes, you can use the same information for SharePoint as well.

Creating an Azure App Registration

1. Register a New Application

  1. Sign in to portal.azure.com.
  2. Type App registrations in the search bar and go to the related service.
  3. Click the + New registration button.
  4. Give the application a name, such as SkyStudio.
  5. Select Accounts in this organizational directory only (Single tenant).
  6. Click the Register button.

2. Copy Client ID and Tenant ID

After the application is created, go to the Overview page:

  • Application (client) ID → Your Client ID
  • Directory (tenant) ID → Your Tenant ID

3. Create a Client Secret

  1. Go to Certificates & secrets from the left menu.
  2. Click the + New client secret button.
  3. Add a Description and Expiration Date, then click Add.
  4. Immediately copy the generated secret’s Value field.

Critical Note: The Client Secret value is displayed only at the time it is created. After you close the page, you will not be able to access the full value again.

4. Add API Permissions

  1. Go to API permissions from the left menu.
  2. Select + Add a permission → Microsoft Graph → Application permissions.
  3. Add the required permissions for SharePoint:
PermissionDescription
Sites.Read.AllUsed to read SharePoint sites and lists
Sites.ReadWrite.AllUsed to create and update list items and upload files
Files.Read.AllUsed to read and download files
Files.ReadWrite.AllUsed to upload files
  1. Click Grant admin consent to approve the permissions.

Adding the Connection to SkyStudio

  1. Go to Application Connections from the left menu in SkyStudio.
  2. Click the Add New Connection button.
  3. Select SharePoint as the provider.
  4. Fill in the following fields:
FieldDescription
Connection NameA descriptive name, such as Company SharePoint
Tenant IDThe Directory (tenant) ID copied from Azure
Client IDThe Application (client) ID copied from Azure
Client SecretThe secret value copied from Azure
Site URLThe full URL of your SharePoint site, such as https://yourcompany.sharepoint.com/sites/mysite
  1. Click the Save button.

Assigning the Connection to the Node

After adding the SharePoint node to the canvas, select the saved connection from the Application Connections dropdown in the right panel.

Tip: You can define separate connections for different SharePoint sites. You can use the same Tenant and Client information for each connection and only change the Site URL.


Operations

The SharePoint node provides 11 operations:

OperationCategoryDescription
Get List ItemsFeaturedRetrieves items from a SharePoint list with filters
List FilesFeaturedLists files in a specific library or folder
SearchFeaturedSearches content across the site
SharePoint AI AssistantFeaturedQueries SharePoint data using natural language
List SitesStandardLists SharePoint sites in the organization
Get List ItemStandardRetrieves the details of a specific list item
Create List ItemStandardAdds a new item to a list
Update List ItemStandardUpdates an existing list item
Download / Read FileStandardDownloads a file or reads its content
Upload FileStandardUploads a file to a library
Read Page ContentStandardReads the content of a SharePoint page

Get List Items

Queries items in a SharePoint list using an OData filter. It is used in workflows such as project tracking, task management, or data reporting.

Parameters

ParameterRequiredDescription
ConnectionYesThe SharePoint connection to use
List NameYesThe name of the list to query, such as Tasks or Projects
Filter (OData)NoOData filter expression, such as Status eq 'Active'
Select FieldsNoField names to return, separated by commas, such as Title,Status,AssignedTo
Order ByNoSorting field, such as Created desc
LimitNoMaximum number of items to return
Get All (Auto Paginate)NoIf enabled, automatically retrieves items from all pages

OData Filter Examples

FilterDescription
Status eq 'Completed'Items where the Status field is “Completed”
Priority eq 'High'Items with high priority
Created ge '2024-01-01T00:00:00Z'Items created after 2024
contains(Title, 'project')Items with “project” in the title

List Files

Lists files in a specific document library or folder.

Parameters

ParameterRequiredDescription
ConnectionYesThe SharePoint connection to use
Library NameYesThe name of the document library, such as Documents or Belgeler
Folder PathNoSubfolder path, such as 2024/Reports. If left empty, the root directory of the library is listed
LimitNoMaximum number of files to return

Search

Searches content in the SharePoint site by keyword. It can search across all content, including list items, files, and pages.

Parameters

ParameterRequiredDescription
ConnectionYesThe SharePoint connection to use
Search QueryYesKeyword or phrase to search for
Search InNoSearch scope selected from the dropdown menu
LimitNoMaximum number of results to return

SharePoint AI Assistant

Queries SharePoint content using natural language. As shown in the video, you can write natural language queries such as “get folder names”.

Parameters

ParameterRequiredDescription
ConnectionYesThe SharePoint connection to use
QueryYesNatural language SharePoint query
System PromptNoSystem instruction that customizes the AI assistant’s behavior

Usage Example

Query: "Which files were uploaded to the Documents library this month?"

System Prompt: "Show only content created within the last 30 days. Respond in Turkish."


List Sites

Lists SharePoint sites in the organization based on a search query. It is used to discover Site URLs.

Parameters

ParameterRequiredDescription
ConnectionYesThe SharePoint connection to use
Search QueryNoSearch filter by site name

Get List Item

Retrieves all details of a specific list item using its Item ID.

Parameters

ParameterRequiredDescription
ConnectionYesThe SharePoint connection to use
List NameYesThe name of the list
Item IDYesThe numeric ID of the item to retrieve
Select FieldsNoField names to return, separated by commas

Create List Item

Adds a new item to the specified SharePoint list.

Parameters

ParameterRequiredDescription
ConnectionYesThe SharePoint connection to use
List NameYesThe name of the list where the item will be added
Fields (JSON)YesFields of the item to be created in JSON format

Fields (JSON) Example

{
"Title": "New Project Task",
"Status": "Not Started",
"Priority": "High",
"AssignedTo": "ahmet@company.com"
}

Update List Item

Updates the fields of an existing list item.

Parameters

ParameterRequiredDescription
ConnectionYesThe SharePoint connection to use
List NameYesThe name of the list
Item IDYesThe ID of the item to update
Fields (JSON)YesFields to update in JSON format. Enter only the fields that will be changed

Download / Read File

Downloads a file from SharePoint or reads its content as text. It is used in AI-powered content analysis scenarios.

Parameters

ParameterRequiredDescription
ConnectionYesThe SharePoint connection to use
Item ID (preferred)NoThe SharePoint Item ID of the file. This is the preferred method
File Path (fallback)NoThe relative path of the file inside the library, such as Documents/report.pdf
After DownloadNoAction to perform after download, selected from the dropdown menu
AI Prompt (if extracting)NoAI instruction for extracting content, such as "Summarize"

Upload File

Uploads a file to a document library.

Parameters

ParameterRequiredDescription
ConnectionYesThe SharePoint connection to use
Library NameYesThe name of the library where the file will be uploaded, such as Documents
Folder PathNoSubfolder path where the file will be uploaded, such as 2024/Reports
File NameYesFile name and extension, such as weekly-report.pdf
Content (base64 or text)YesFile content. Use base64 for binary files and plain text for text files

Read Page Content

Reads the content of the specified SharePoint page. It is used in knowledge base and content management workflows.

Parameters

ParameterRequiredDescription
ConnectionYesThe SharePoint connection to use
Page PathYesThe relative path of the page within the site, such as /sites/mysite/SitePages/About.aspx

Quick Start Examples

Example 1: Task List Tracking

A workflow that queries open tasks in SharePoint and sends them to a Teams channel:

Schedule (Every morning) → Get List Items → LLM (summarize) → Send Channel Message (Teams)

Get List Items settings:

  • List Name: Tasks
  • Filter (OData): Status ne 'Completed'
  • Select Fields: Title,Status,Priority,AssignedTo
  • Order By: Priority desc

Example 2: Automatic Report Archiving

A workflow that uploads the generated weekly report to SharePoint:

Schedule (Every Friday) → Artifact (create report) → Upload File

Upload File settings:

  • Library Name: Documents
  • Folder Path: Reports/2024
  • File Name: weekly-report-{{date}}.html
  • Content (base64 or text): {{artifact.output}}

Example 3: SharePoint AI Chatbot

A chatbot that allows users to query SharePoint content using natural language:

Text Input → SharePoint AI Assistant → Text Output

SharePoint AI Assistant settings:

  • Query: {{input.text}}
  • System Prompt: "You are the company’s SharePoint knowledge assistant. Use only SharePoint data. Respond in Turkish."

Example 4: Form → SharePoint List

A workflow that automatically saves a submitted form to a SharePoint list:

Form Builder → Create List Item

Create List Item settings:

  • List Name: Applications
  • Fields (JSON):
{
"Title": "{{form.full_name}}",
"Email": "{{form.email}}",
"Department": "{{form.department}}",
"Date": "{{today}}"
}

Common Errors

ErrorPossible CauseSolution
401 UnauthorizedClient Secret has expiredCreate a new Client Secret from the Azure Portal
403 ForbiddenSites.ReadWrite.All permission is missingAdd the required permission from Azure → API Permissions and grant admin consent
List not foundIncorrect List NameCheck the exact list name in SharePoint. It is case-sensitive
Item not foundInvalid Item IDFind the correct Item ID using Get List Items
Site URL errorSite URL is incorrect or inaccessibleVerify that the Site URL in the connection follows the format https://company.sharepoint.com/sites/yoursite
Empty resultNo item matches the filter conditionCheck the OData filter expression and field names

Notes

  • The Site URL field is entered once during connection setup and applies to all operations using that connection. Define separate connections to access different sites.
  • The List Name field is case-sensitive. Use the exact list name in SharePoint, such as Documents or Belgeler.
  • In the Fields (JSON) field, enter only the fields you want to update. Other fields remain unchanged.
  • In the Download / Read File operation, if Item ID is not available, File Path can be used as a relative path. If both are entered, Item ID takes priority.
  • For OData filter syntax, make sure you use SharePoint internal field names. The display name may be different.
  • When the Client Secret of the Azure App Registration expires, the connection stops working. It is recommended to renew it before it expires.