add-onedrive
This Claude Code skill integrates the OneDrive for Business connector into Power Apps code applications. Use it when you need to perform file operations such as uploading, downloading, listing files, or managing folders within OneDrive for Business. The skill handles connector setup by identifying or creating the necessary connection, configures specific file operations through TypeScript service methods, and ensures proper build validation before deployment.
git clone --depth 1 https://github.com/microsoft/power-platform-skills /tmp/add-onedrive && cp -r /tmp/add-onedrive/plugins/code-apps/skills/add-onedrive ~/.claude/skills/add-onedriveSKILL.md
**📋 Shared Instructions: [shared-instructions.md](${PLUGIN_ROOT}/shared/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](${PLUGIN_ROOT}/shared/shared-instructions.md).
### Step 2: Add Connector
**First, find the connection ID** (see [connector-reference.md](${PLUGIN_ROOT}/shared/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.
```bash
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:**
```typescript
// 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](${PLUGIN_ROOT}/shared/connector-reference.md#inspecting-large-generated-files)).
### Step 4: Build
```bash
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.Guide the user to add a data source, connection, or API connector to a Canvas App via Power Apps Studio, then verify and continue. USE WHEN the user asks to add a data source, add a connection, add an API, add a connector, connect to SharePoint / Dataverse / SQL / Excel / OneDrive / Teams / Office 365, or any similar request to make new data available to the app. DO NOT USE WHEN the user is asking to list or describe existing data sources — call list_data_sources or list_apis directly instead.
Creates or edits a Power Apps Canvas App through the Canvas Authoring MCP coauthoring session. Handles new app generation, direct targeted edits, complex multi-screen changes, responsive layout, per-screen self-QA, and compile-error convergence. Trigger on requests to create, build, generate, modify, update, change, fix, or edit a Canvas App or .pa.yaml files.
Configure the Canvas Authoring MCP server for the current coauthoring session. USE WHEN "configure MCP", "set up MCP server", "MCP not working", "connect Canvas Apps MCP", "canvas-authoring not available", "MCP not configured", "set up canvas apps".
[DEPRECATED — use canvas-app instead] Generate a complete Power Apps canvas app.
>
Adds Azure DevOps connector to a Power Apps code app. Use when querying work items, creating bugs, managing pipelines, or making ADO API calls.
Use when adding a Power Platform connector to an Expo/React Native Power Apps mobile app and no dedicated mobile connector skill exists.
Use when adding an unspecified data source to an Expo/React Native Power Apps mobile app; routes to Dataverse, SharePoint, or another connector.