mcpField
A
add-onedrive

add-onedrive

github.com/microsoftDocuments1.1k242 installsUpdated today
Repository

About add-onedrive

A development skill for adding and configuring the OneDrive for Business connector in an app. It helps developers select file operations, set up the connector, build the project, and record its status.

Key features

  1. 01Check and update the Memory Bank
  2. 02Add the OneDrive for Business connector
  3. 03Configure file and folder operations
  4. 04Build and record setup status

Use cases

  1. 01List files in a OneDrive folder
  2. 02Upload or download files as needed

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/microsoft/power-platform-skills --skill add-onedrive

After installing, type/add-onedrivein Claude Code to confirm it loaded.

Details

From the project README

📋 Shared Instructions: shared-instructions.md - Cross-cutting concerns.

Add OneDrive for Business

Workflow

  1. Check Memory Bank → 2. Add Connector → 3. Configure → 4. Build → 5. Update Memory Bank

Step 1: Check Memory Bank

Check for memory-bank.md per shared-instructions.md.

Step 2: Add Connector

First, find the connection ID (see connector-reference.md):

Run the /list-connections skill. Find the OneDrive for Business connection in the output. If none exists, direct the user to create one using the environment-specific Connections URL — construct it from the active environment ID in context (from power.config.json or a prior step): https://make.powerapps.com/environments/<environment-id>/connections → + New connection → search for the connector → Create.

pa app add data-source --connector onedriveforbusiness -c <connection-id>
Step 3: Configure

Ask the user what file operations they need (list files, upload, download, create folder, etc.).

Common operations:

// List files in a folder
const files = await OneDriveForBusinessService.ListFolder({
  id: "root" // or folder ID
});

// Get file metadata
const metadata = await OneDriveForBusinessService.GetFileMetadata({
  id: "file-id"
});

// Get file content
const content = await OneDriveForBusinessService.GetFileContent({
  id: "file-id"
});

// Create file
await OneDriveForBusinessService.CreateFile({
  folderPath: "/Documents",
  name: "report.txt",
  body: "File content here"
});

Key points:

  • File and folder IDs can be obtained from ListFolder or ListRootFolder
  • Use folderPath for creating files by path, id for accessing existing files
  • Binary file content may need base64 encoding/decoding depending on the operation

Use Grep to find specific methods in src/generated/services/OneDriveForBusinessService.ts (generated files can be very large -- see connector-reference.md).

Step 4: Build
npm run build

Fix TypeScript errors before proceeding. Do NOT deploy yet.

Step 5: Update Memory Bank

Update memory-bank.md with: connector added, configured operations, build status.

Comments

Markdown supported