Create SharePoint Feed

User Intent

"How do I sync files from Microsoft SharePoint? Show me SharePoint feed configuration."

Operation

SDK Method: createFeed() with FeedTypes.Site Feed Service: Microsoft SharePoint OAuth: Required via Developer Portal


Code Example (TypeScript)

import { Graphlit } from 'graphlit-client';
import {
  FeedTypes,
  FeedServiceTypes,
  SharePointLibrariesInput,
  SharePointFoldersInput,
} from 'graphlit-client/dist/generated/graphql-types';

const graphlit = new Graphlit();

const authorizationId = process.env.GRAPHLIT_SHAREPOINT_AUTH_ID!;

const sharePointAuth: SharePointLibrariesInput = {
  authorizationId,
};

// Enumerate SharePoint document libraries first
const librariesResponse = await graphlit.querySharePointLibraries(sharePointAuth);
const libraries = librariesResponse.sharePointLibraries?.results ?? [];

if (libraries.length === 0) {
  throw new Error('No SharePoint libraries available for the authorized account');
}

const { libraryId, libraryName } = libraries[0]!;
console.log(`Using SharePoint library: ${libraryName} (${libraryId})`);

// Optionally enumerate folders inside the library
const foldersResponse = await graphlit.querySharePointFolders(
  { authorizationId },
  libraryId!,
);

const folders = foldersResponse.sharePointFolders?.results ?? [];
const targetFolderId = folders[0]?.folderId ?? undefined;
console.log(`Using SharePoint folder: ${folders[0]?.folderName ?? 'Root'} (${targetFolderId ?? 'root'})`);

const feed = await graphlit.createFeed({
  name: 'Engineering SharePoint',
  type: FeedTypes.Site,
  site: {
    type: FeedServiceTypes.SharePoint,
    authorizationId,
    libraryId: libraryId!,
    folderId: targetFolderId,
    includeSubfolders: true,
    fileTypes: ['pdf', 'docx', 'xlsx'],
    readLimit: 500,
  },
  // Optional: add workflow for content processing
  // workflow: { id: workflow.createWorkflow.id }
});

console.log(`Created SharePoint feed: ${feed.createFeed.id}`);

Configuration

authorizationId: Stored credential identifier from Developer Portal OAuth flow libraryId: Document library to sync (use querySharePointLibraries) folderId: Optional folder within the library (use querySharePointFolders) fileTypes: File extensions to sync includeSubfolders: Recursive sync readLimit: Max items per sync poll


OAuth Setup

  1. Developer Portal → Connectors → SharePoint

  2. Complete Microsoft OAuth flow and store resulting credential (authorizationId)

  3. Grant access to the target SharePoint sites and libraries

  4. Use helper queries to discover libraryId and folderId


What Gets Synced

  • Documents from libraries

  • Office files

  • PDFs and images

  • File metadata and versions

  • Shared files


Last updated

Was this helpful?