SharePoint integration
In short
Find sites, read and upload documents, and work with lists. Connect it on the Integrations page; your app then calls SharePoint through Sapilon without ever holding a Microsoft credential.
Lets your app find SharePoint sites the connected account can open, browse and upload files in their document libraries, and read and add items in SharePoint lists.
Connecting
On the Integrations page choose Connect on SharePoint, sign in to Microsoft and allow access. Under Advanced you can use your own Microsoft OAuth app instead of Sapilon’s.
- Your app can reach every site the connecting account can.
- Many Microsoft 365 organisations only let an admin approve new apps: if you see “Need admin approval”, ask your Microsoft 365 admin to consent once for the whole organisation.
- Sapilon’s Microsoft app is being registered. Until it is, Advanced → Bring your own OAuth app (an Entra app registration) connects today.
What your app can do
Only these requests are available; anything else is refused.
GET /sitesGET /sites/*GET /sites/*/drivesGET /sites/*/driveGET /sites/*/listsGET|POST /sites/*/lists/*/itemsGET|PATCH /sites/*/lists/*/items/*GET /drives/*/root/childrenGET|POST /drives/*/items/*/childrenGET|PUT /drives/*/items/*/contentGET|PUT /drives/*/root:/**
How the agent uses it
Use integrations.request('sharepoint', …); paths are relative to https://graph.microsoft.com/v1.0.
GET /siteswithquery: { search: 'Finance' }— find sites.GET /sites/acme.sharepoint.com:/sites/finance— one by path (the path is one segment: keep the colon).GET /sites/{siteId}.GET /sites/{siteId}/drives,GET /sites/{siteId}/drive— document libraries.GET /drives/{driveId}/root/children,GET|POST /drives/{driveId}/items/{id}/children,GET|PUT /drives/{driveId}/items/{id}/content,GET|PUT /drives/{driveId}/root:/Folder/file.docx:/content— as in OneDrive.GET /sites/{siteId}/lists,GET|POST /sites/{siteId}/lists/{listId}/items— Example:{ method: 'POST', path: '/sites/{siteId}/lists/{listId}/items', body: { fields: { Title: 'New supplier', Status: 'Open' } } }. Addquery: { expand: 'fields' }to read columns.GET|PATCH /sites/{siteId}/lists/{listId}/items/{id}— PATCH…/items/{id}/fieldsis not allowed; sendbody: { fields: {…} }to the item.
Deleting is not allowed.
More from Microsoft: https://learn.microsoft.com/graph/api/resources/sharepoint