add-data-source
Guide the user to add a data source, connection, or API connector to a Canvas App via Power Apps Studio, then verify and…
Creates, edits, and manages Power Pages Server Logic files — server-side JavaScript that runs securely on the Power Pages runtime. Orchestrates the full lifecycle: gathering requirements, fetching documentation, implementing code, configuring site settings, and deploying. Use
Claude Code
$ npx -y skills add microsoft/power-platform-skills --skill add-server-logic --agent claude-code
Codex
$ npx skills add microsoft/power-platform-skills --skill add-server-logic -a codex -y
Cursor
$ npx skills add microsoft/power-platform-skills --skill add-server-logic -a cursor -y
Gemini CLI
$ npx skills add microsoft/power-platform-skills --skill add-server-logic -a gemini-cli -y
GitHub Copilot
$ npx skills add microsoft/power-platform-skills --skill add-server-logic -a github-copilot -y
OpenCode
$ npx skills add microsoft/power-platform-skills --skill add-server-logic -a opencode -y
Windsurf
$ npx skills add microsoft/power-platform-skills --skill add-server-logic -a windsurf -y
name: add-server-logic description: >- Creates, edits, and manages Power Pages Server Logic files — server-side JavaScript that runs securely on the Power Pages runtime. Orchestrates the full lifecycle: gathering requirements, fetching documentation, implementing code, configuring site settings, and deploying. Use when the user wants to add server-side code, create API endpoints, or move logic from the browser to the server in their Power Pages site. user-invocable: true allowed-tools: Read, Write, Edit, Bash, Grep, Glob, AskUserQuestion, Skill, Task, TaskCreate, TaskUpdate, TaskList, mcp__plugin_power-pages_microsoft-learn__microsoft_docs_search, mcp__plugin_power-pages_microsoft-learn__microsoft_code_sample_search, mcp__plugin_power-pages_microsoft-learn__microsoft_docs_fetch model: opus
> **Plugin check**: Run `node "${PLUGIN_ROOT}/scripts/check-version.js"` — if it outputs a message, show it to the user before proceeding.
Create and manage one or more Power Pages Server Logic files — server-side JavaScript that runs securely on the Power Pages runtime, hidden from the browser and protected by web roles and table permissions. Server Logic enables secure external API integrations, Dataverse operations, and custom business logic without exposing sensitive code or credentials to the client.
> **Prerequisites:** > - An existing Power Pages SPA site created > - The site **must** be deployed at least once (`.powerpages-site` folder must exist) — server logic files live inside `.powerpages-site/server-logic/`, so deployment is required before any server logic can be created
**Initial request:** $ARGUMENTS
---
1. **Verify Site Exists** — Locate the Power Pages project, explore existing patterns, and verify prerequisites 2. **Understand Requirements** — Determine the user intent and whether the solution needs one or more server logic files 3. **Fetch Latest Documentation** — Query Microsoft Learn for the most current Server Logic SDK reference 4. **Review Implementation Plan** — Present the plan to the user and confirm before writing code 5. **Implement Server Logic** — Create the approved `.js` and `.serverlogic.yml` files in `.powerpages-site/server-logic/<name>/` 6. **Configure Table Permissions** — *(Conditional: only if Server.Connector.Dataverse is used)* Set up table permissions for Dataverse tables accessed by the server logic 7. **Manage Secrets & Environment Variables** — *(Conditional: only if the server logic requires secrets)* Store sensitive values securely using Azure Key Vault (recommended) or direct environment variables in Dataverse 8. **Configure Site Settings** — Set up ServerLogic site settings if needed 9. **Client-Side Integration** — Help wire the server logic into the site's frontend code 10. **Verify & Test Guidance** — Validate the code and provide testing instructions 11. **Review & Deploy** — Present summary and offer deployment
---
**Goal**: Locate the Power Pages project root and confirm prerequisites
**Actions**:
1. Create todo list with all 11 phases (see [Progress Tracking](#progress-tracking) table)
Look for `powerpages.config.json` in the current directory or immediate subdirectories
**If not found**: Tell the user to create a site first with `/create-site`.
Read `powerpages.config.json` to get the site name and configuration:
Read `package.json` to determine the frontend framework (React, Vue, Angular, or Astro). This is needed for Phase 8 (client-side integration guidance). See `${PLUGIN_ROOT}/references/framework-conventions.md` for the full framework detection mapping.
Use the **Explore agent** (via `Task` tool with `agent_type: "explore"`) to analyze the site for existing server logic patterns and frontend code that may call or need to call server logic endpoints.
**Prompt for the Explore agent:**
> "Analyze this Power Pages SPA site for server logic context. Check: > 1. Does `.powerpages-site/server-logic/` exist? If yes, list all subdirectories and their .js files. Summarize what each server logic does (which functions it implements, what SDK features it uses). Also read the corresponding .serverlogic.yml files to check web role assignments. > 2. Search the frontend source code (`src/**/*.{ts,tsx,js,jsx,vue,astro}`) for any existing calls to `/_api/serverlogics/` — these indicate server logic endpoints already being consumed. > 3. Look for CSRF token handling patterns (`__RequestVerificationToken`, `_layout/tokenhtml`) — these show how the site currently makes authenticated API calls. > 4. Check for any TODO/FIXME com
Plugins from Microsoft that teach AI assistants, such as GitHub Copilot and Claude Code, to build on Power Platform.
Guide the user to add a data source, connection, or API connector to a Canvas App via Power Apps Studio, then verify and…
Creates or edits a Power Apps Canvas App through the Canvas Authoring MCP coauthoring session. Handles staged experience design,…
Configure the Canvas Authoring MCP server for the current coauthoring session. Use before starting to edit a canvas app with the…
Use this skill when the user wants to "report a bug", "file an issue", "report an issue", "submit a bug report", or report any…
Adds Azure DevOps connector to a Power Apps code app. Use when querying work items, creating bugs, managing pipelines, or making…
Adds any Power Platform connector to a Power Apps code app. Generic fallback for connectors not covered by a specific skill.
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.