Microsoft SharePoint Component
Interact with sites, drives, and items connected to your instance of Microsoft SharePoint.
Component key: ms-sharepointDescription
Microsoft SharePoint is a web-based collaborative platform that integrates with Microsoft Office. This component allows you to interact with your sites, drives, and items by making queries through the Microsoft Graph API.
Connections
Microsoft SharePoint OAuth 2.0
Once you have an instance of Microsoft SharePoint licensed to your account, you will need to create and configure a new "App Registration" within your Azure Active Directory tenant. When creating the application you will be prompted to select the 'Supported account types'. Under this section, be sure to select 'Accounts in any organizational directory (Any Azure AD directory - Multitenant)'.
You will need to go to "Platforms" and add the "Web" platform. In that section you should add Prismatic's OAuth 2.0 callback URL - https://oauth2.prismatic.io/callback - as a Redirect URI.
Next, go to "Certificates & Secrets" for the app and add a new Client Secret. Note this value as you will need to supply it to the connection within Prismatic.
You will also need the Application (client) ID from the "Overview" page.
The last step of configuring the "App Registration" is assigning "App Permissions". Click "Add Permission", click on the square labeled "SharePoint", and then "Delegated permissions". You should select all permissions that are required for your desired integration.
Now, configure the OAuth 2.0 connection in Prismatic. Add an MS SharePoint OAuth 2.0 connection config variable:
- Use the Application (client) ID value for the Client ID field.
- Use the Client Secret for the same named field.
- If you didn't select Multitenant when creating the Azure application, you will need to replace the Authorize URL and Token URL with ones specific to your tenant.
Save your integration and you should be able to authenticate a user through MS SharePoint with OAuth 2.0.
Triggers
Webhook
Trigger for handling webhooks from SharePoint | key: webhook
Data Sources
List Drives from Source
A picklist of files in a given directory | key: listDrives | type: picklist
List Folders from Source
A picklist of folders in a given directory | key: listFolders | type: picklist
List Sites from Sharepoint
A picklist of Sites | key: listSites | type: picklist
Actions
Create a Subscription
Create a Subscription to notify you of changes to a resource | key: createSubscription
Output Example Payload
{
"data": {
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#subscriptions/$entity",
"id": "38031b7d-16b1-448a-8e68-68b8aec62315",
"resource": "/me/drive/root",
"applicationId": "0fed8223-8c47-4c71-ba78-92c6f9448725",
"changeType": "updated",
"clientState": "client-specific string",
"notificationUrl": "https://hooks.prismatic.io/trigger/SW5z",
"notificationQueryOptions": null,
"lifecycleNotificationUrl": null,
"expirationDateTime": "2023-07-01T11:23:00Z",
"creatorId": "6219df3c-04d4-4b39-b2a4-ad162a5dcb8f",
"includeResourceData": null,
"latestSupportedTlsVersion": "v1_2",
"encryptionCertificate": null,
"encryptionCertificateId": null,
"notificationUrlAppId": null
}
}
Create Item in Site List
Create a new item inside the given site list | key: createItemInSite
Create Site List Subscription
Create a Site List subscription for Microsoft SharePoint | key: createSiteListSubscription
Output Example Payload
{
"data": {
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#subscriptions/$entity",
"id": "e9d5b726-4478-4412-bfba-268530484566",
"resource": "sites/example.sharepoint.com,17cd4ada-1a76-420e-a7ec-4adaa3327c86,87742bc7-2d2f-404c-8255-d3d9fa9a6561/lists/3a3c0f6a-86da-4567-94d4-3b939da63200",
"applicationId": "e76615c0-13e3-4cd2-8235-a2d628ad13de",
"changeType": "updated",
"clientState": null,
"notificationUrl": "https://example.com/webhook/",
"notificationQueryOptions": null,
"lifecycleNotificationUrl": null,
"expirationDateTime": "2022-11-22T23:32:10.231Z",
"creatorId": "c8edbeda-c453-446c-91ce-c6d5c7310a6c",
"includeResourceData": null,
"latestSupportedTlsVersion": "v1_2",
"encryptionCertificate": null,
"encryptionCertificateId": null,
"notificationUrlAppId": null
}
}
Delete a Subscription
Delete a Subscription by ID | key: deleteSubscription
Output Example Payload
{
"data": ""
}
Delete All Instance Subscriptions
Delete all subscriptions pointed at this instance | key: deleteAllInstanceSubscriptions
Output Example Payload
{
"data": {
"subscriptionsRemoved": [
"26ebd1e9-c54a-4bbe-9583-fc05974952a4",
"b9b27172-ee2e-4248-86df-fc98cb71d914"
]
}
}
Download File
Download a file from the specified drive | key: downloadFile
Get Current User
Get the information and metadata of the user that is currently logged in | key: getCurrentUser
Output Example Payload
{
"data": {
"businessPhones": [
"+1 555 555 5555"
],
"displayName": "exampleUser",
"givenName": "exampleUser",
"jobTitle": "Retail Manager",
"mail": "someoneV@example.onmicrosoft.com",
"mobilePhone": "+1 555 555 5555",
"officeLocation": "example",
"preferredLanguage": "en-US",
"surname": "Example",
"id": "3693-4789-a1c3-f4de565f"
}
}
Get Drive
Returns the information and metadata of a SharePoint drive | key: getDrive
Get File
Get a file from a Drive | key: getFile
Get Item from Site List
Returns the information and metadata of the given item | key: getItemInSite
Get Root Site
Returns the information and metadata of the root SharePoint site in your tenant | key: getRootSite
Output Example Payload
{
"data": {
"description": "Example description",
"id": "example.sharepoint.com,c45e332-a998-479d-aeb2-2a",
"name": "Example SharePoint Site",
"webUrl": "https://example.sharepoint.com",
"displayName": "Communication Site",
"siteCollection": {
"hostname": "https://example.sharepoint.com"
}
}
}
Get Site
Returns the information and metadata of the given SharePoint site | key: getSite
Output Example Payload
{
"data": {
"description": "Example description",
"id": "example.sharepoint.com,c45e332-a998-479d-aeb2-2a",
"name": "Example SharePoint Site",
"webUrl": "https://example.sharepoint.com",
"displayName": "Communication Site",
"siteCollection": {
"hostname": "https://example.sharepoint.com"
}
}
}
Get Site List
Returns the information and metadata of an existing site list | key: getList
List Changes
Track changes in a driveItem and its children over time. | key: listChanges
List Drives
List all drives within any given SharePoint site | key: listDrives
Output Example Payload
{
"data": {
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#drives",
"value": [
{
"createdDateTime": "2023-05-14T05:14:52Z",
"description": "",
"id": "b!o2UaIfdNxk-5091VjGz1sDVso2efo6RGrpVCkPpe547Qrf38sox_TYIFuj9QrJhv",
"lastModifiedDateTime": "2023-05-14T05:14:52Z",
"name": "Documents",
"webUrl": "https://example.sharepoint.com/Shared%20Documents",
"driveType": "documentLibrary",
"createdBy": {
"user": {
"displayName": "System Account"
}
},
"owner": {
"group": {
"id": "9705118a-6ce1-4fa3-adba-09f94b69d568",
"displayName": "9705118a-6ce1-4fa3-acda-09f94b69d446"
}
},
"quota": {
"deleted": 0,
"remaining": 27487789251101,
"state": "normal",
"total": 27487790694400,
"used": 1443299
}
}
]
}
}
List Files in Drive
List all the files from a Drive | key: getFilesFromDrive
List Folder Files in Drive
List all the files inside of a folder from a Drive | key: getFilesFromDriveFolder
List Followed Sites
List all Followed Sites | key: listFollowedSites
Output Example Payload
{
"data": {
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites",
"value": [
{
"displayName": "Example",
"id": "example.sharepoint.com,6c44888f-5883-4ef0-c542-d21a802cfea6,ed2d5d06-e192-4047-afa6-a5d7f25b3418",
"sharepointIds": {
"siteId": "6c44888f-5883-4ef0-c542-d21a802cfea6",
"webId": "ed2d5d06-e192-4047-afa6-a5d7f25b3418"
},
"siteCollection": {
"hostname": "example.sharepoint.com"
},
"webUrl": "https://example.sharepoint.com/sites/Example"
}
]
}
}
List Items in Site List
Return all items inside the given site list | key: getListItemsInSite
List Shared Documents
Lists documents shared with the user. | key: listSharedDocuments
List Site Lists
List all Site Lists | key: listSiteLists
List Sites
List all SharePoint sites | key: listSites
Output Example Payload
{
"data": {
"value": [
{
"description": "Example description",
"id": "example.sharepoint.com,c45e332-a998-479d-aeb2-2a",
"name": "Example SharePoint Site",
"webUrl": "https://example.sharepoint.com",
"displayName": "Communication Site",
"siteCollection": {
"hostname": "https://example.sharepoint.com"
}
}
]
}
}
List Subscriptions
List all available Subscriptions | key: listSubscriptions
Output Example Payload
{
"data": {
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#subscriptions",
"value": [
{
"id": "38031b7d-16b1-448a-8e68-68b8aec6df45",
"resource": "/me/drive/root",
"applicationId": "0fed8223-8c47-4c71-ba78-92c6f9441235",
"changeType": "updated",
"clientState": null,
"notificationUrl": "https://hooks.prismatic.io/trigger/SW5",
"notificationQueryOptions": null,
"lifecycleNotificationUrl": null,
"expirationDateTime": "2023-07-01T11:23:00Z",
"creatorId": "62162f3c-04d4-4b39-b2a4-ad891a5dcb8f",
"includeResourceData": null,
"latestSupportedTlsVersion": "v1_2",
"encryptionCertificate": null,
"encryptionCertificateId": null,
"notificationUrlAppId": null
}
]
}
}
Raw Request
Send a raw HTTP request to Microsoft Sharepoint's API | key: rawRequest
Update File
Update a file to the specified drive | key: updateFile
Update Site List Subscription Expiration
Update existing Site List subscription expiration for Microsoft SharePoint | key: updateSiteListSubscriptionExpiration
Subscriptions have an expiration date/time provided upon creation. This can also be modified with the update API. This action will default to adding 29 days (close to the maximum value for SharePoint resources) to the current date/time unless a value is specified. This is useful for "touching" the subscription to ensure its expiration is extended.
Output Example Payload
{
"data": {
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#subscriptions/$entity",
"id": "e9d5b726-4478-4412-bfba-268530484566",
"resource": "sites/example.sharepoint.com,17cd4ada-1a76-420e-a7ec-4adaa3327c86,87742bc7-2d2f-404c-8255-d3d9fa9a6561/lists/3a3c0f6a-86da-4567-94d4-3b939da63200",
"applicationId": "e76615c0-13e3-4cd2-8235-a2d628ad13de",
"changeType": "updated",
"clientState": null,
"notificationUrl": "https://example.com/webhook/",
"notificationQueryOptions": null,
"lifecycleNotificationUrl": null,
"expirationDateTime": "2022-11-22T23:32:10.231Z",
"creatorId": "c8edbeda-c453-446c-91ce-c6d5c7310a6c",
"includeResourceData": null,
"latestSupportedTlsVersion": "v1_2",
"encryptionCertificate": null,
"encryptionCertificateId": null,
"notificationUrlAppId": null
}
}
Upload File
Upload a file to the specified drive or folder's drive | key: uploadFile