Labsco
microsoft logo

add-onedrive

โœ“ Officialโ˜… 413

by microsoft ยท part of microsoft/power-platform-skills

Adds OneDrive for Business connector to a Power Apps code app. Use when uploading, downloading, listing, or managing files in OneDrive.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup
๐Ÿงฉ One of 7 skills in the microsoft/power-platform-skills package โ€” works on its own, and pairs well with its siblings.

This is the playbook your agent receives when the skill activates โ€” you don't need to read it to use the skill, but it's here to audit before installing.

๐Ÿ“‹ 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.