Skip to main content

MS Graph SharePoint Connector

Beta

This connector is currently in beta and will be available in the 3.1.1 release. It is currently available as part of the 3.1.1-SNAPSHOT, available for download on Simflofy Launch


Authentication Connection

This connector requires a standard Microsoft Graph Authentication Connection.

The application will require the following permissions:

  • Repository: Sites.Read.All
  • Output: Sites.Manage.All

Discovery Connector

Discovery Connection Configuration

  • Tenant Name: The name of the tenant. All O365 SharePoint instances use the structure [tenant].sharepoint.com. We use this to construct urls and gather siteIds.
  • Sites to Crawl: The base sites to crawl. Root will crawl your Team site.
  • Crawl Subsites: If the site has any subsites, crawl them as well. For example, if you leave the list above as root, but there is a subsite ([tenant].sharepoint.com/mySite), it will not be crawled unless this box is checked.

Integration Connector

Running Errors

As of the 3.1.1 release, MSGraph connectors cannot rerun errored documents. We are aware of the issue, and it will be addressed in the next release.

warning

The Microsoft Graph apis throttle connections that make what it considers excessive api calls. They have not shared these metrics, and they are determined dynamically based on previous usage and presumably account type. See this link for more details

Due to how SharePoint handles metadata, the document and its metadata will be uploaded separately.

Documents with Metadata: This process is done by batching the document with its metadata, with the metadata write contingent on the success of the upload. In this case a document is complete if both the metadata and document successfully upload. If either fails due to a 429 (throttling) response, the missing piece will be attempted a number of times after waiting.

Documents without Metadata: If a document has no metadata (no mappings), a non- batch upload will be performed. The same retry logic will take place but only for the file content.

Recommended Settings to avoid Throttling: Details Tab Advanced Options Max Queue Size = 500 Output Threads = 5 Output Specification Number of retries = 10


Job Configuration

  • Site List: Comma delimited list of tenants sites to crawl for content types. Use 'root' for main site.
  • Library List: Libraries to Crawl. List names do not require their parent sites (ex. 'Documents' not 'sites/Test/Documents')
  • Crawl Subsites: If the site has any subsites, crawl them as well. For example, if you leave the list above as root, but there is a subsite ([tenant].sharepoint.com/mySite), it will not be crawled unless this box is checked.
  • Process Folders: Process folders as well as documents.
  • Get Versions: Retrieve document versions.
Case Sensitivity

Site and Library names are case-sensitive. If the case is wrong, the job will complete successfully, but no documents will be picked up


Content Service Connector

Configuration

  • Tenant Name: The name of the tenant. All O365 SharePoint instances use the structure [tenant].sharepoint.com. We use this to construct urls and gather site IDs.
  • Site Name: The path to the target site as it would appear in the sharepoint url.
  • List Name: The name of the library, as seen on the sites' sidebar.
  • SiteId: After configuring the connection the first time this can be populated using the REST apis. See the Root Folder example below.

Examples

Document and folder ids will look like this.

01WNAC6ZYYYWDZOWH2DFH3LRHT7MWF5L2R

As SharePoint is actually backed by OneDrive, all the ids are actually OneDrive Ids as well.

Routing document

Following are simple examples of routing documents of different file types to different locations within your tenant.

These examples assume you are using the default override field names.

Routing Example

Content Services

Assume the connector ID in these examples will be graph

Root Folder

GET /simflofy-admin/api/repo/graph/rootfolderid

You should receive the following:

{  
"success": true,
"results": {
"folderPath": "/Shared Documents",
"additionalInfo": {
"siteId": "simflofy.sharepoint.com,bfc93f6e-6eed-4f27-8aa8-72509a410d3b,a357fae5-24f9-464c-8087-cc1594eed1d4"
},
"folderName": "Shared Documents",
"folderId": "b!bj_Jv-1uJ0-KqHJQmkENO-X6V6P5JExGgIfMFZTu0dSZbZes5ncJT7CQyPGcAqVS"
}
}

It should be noted that this is not the common form a folder Id will take. MSGraph treats the root folder of each Library as a drive, so this is actually a Drive ID.