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…
Integrates Power Pages Web API into a site's frontend code with proper permissions and deployment. Orchestrates the full integration lifecycle: code integration, table permissions setup, and deployment for Dataverse CRUD operations. Also supports PAC-downloaded non-SPA sites by
Claude Code
$ npx -y skills add microsoft/power-platform-skills --skill integrate-webapi --agent claude-code
Codex
$ npx skills add microsoft/power-platform-skills --skill integrate-webapi -a codex -y
Cursor
$ npx skills add microsoft/power-platform-skills --skill integrate-webapi -a cursor -y
Gemini CLI
$ npx skills add microsoft/power-platform-skills --skill integrate-webapi -a gemini-cli -y
GitHub Copilot
$ npx skills add microsoft/power-platform-skills --skill integrate-webapi -a github-copilot -y
OpenCode
$ npx skills add microsoft/power-platform-skills --skill integrate-webapi -a opencode -y
Windsurf
$ npx skills add microsoft/power-platform-skills --skill integrate-webapi -a windsurf -y
name: integrate-webapi description: >- Integrates Power Pages Web API into a site's frontend code with proper permissions and deployment. Orchestrates the full integration lifecycle: code integration, table permissions setup, and deployment for Dataverse CRUD operations. Also supports PAC-downloaded non-SPA sites by preferring native Forms, Lists, and Liquid before custom Web API JavaScript. Use when the user wants to add Web API calls, connect to Dataverse, add data fetching to their frontend, or integrate a non-SPA page with Dataverse. user-invocable: true allowed-tools: Read, Write, Edit, Bash, Grep, Glob, AskUserQuestion, Skill, Task, TaskCreate, TaskUpdate, TaskList model: opus
> **Plugin check**: Run `node "${PLUGIN_ROOT}/scripts/check-version.js"` — if it outputs a message, show it to the user before proceeding.
Integrate a Power Pages site with Dataverse. SPA sites retain the framework-specific client, service, and hook workflow. Non-SPA sites use native Forms, Lists, and Liquid first, adding Web API JavaScript only when the requested client interaction requires it.
Before reading or executing the workflow below, perform the existing SPA project lookup first:
existing file-search patterns.
detection or change the SPA phases, prompts, gates, generated files, or deployment behavior.
node "${PLUGIN_ROOT}/scripts/lib/detect-project-context.js"`${PLUGIN_ROOT}/skills/integrate-webapi/references/non-spa-site-workflow.md`. Do not execute any of the SPA workflow below.
The non-SPA route supports request-focused and discovery invocation as defined in its workflow reference. SPA invocation semantics remain those defined by the existing workflow below. When `$ARGUMENTS` contains `[CALLED-BY-PARENT-SKILL]`, pass that sentinel and its optional `caller=<skill-name>` token into the non-SPA workflow. It suppresses commits and deployment handoffs only; it does not bypass the non-SPA scope approval or security planning.
---
> **Prerequisites:** > > - An existing Power Pages SPA site created via `/create-site` > - A Dataverse data model (tables/columns) already set up via `/setup-datamodel` or created manually > - The site must be deployed at least once (`.powerpages-site` folder must exist) for permissions setup
**Initial request:** $ARGUMENTS
---
1. **Verify Site Exists** — Locate the Power Pages project and verify prerequisites 2. **Explore Integration Points** — Analyze site code and data model to identify tables needing Web API integration 3. **Review Integration Plan** — Present findings to the user and confirm which tables to integrate 4. **Implement Integrations** — Use the `webapi-integration` agent for each table 5. **Verify Integrations** — Validate all expected files exist and the project builds successfully 6. **Setup Permissions & Settings** — Choose permissions source (upload diagram or let the architects analyze), then configure table permissions and Web API site settings with case-sensitive validated column names 7. **Review & Deploy** — Ask the user to deploy the site and invoke `/deploy-site` if confirmed
---
**Goal**: Locate the Power Pages project root and confirm that prerequisites are met
**Actions**:
Look for `powerpages.config.json` in the current directory or immediate subdirectories to find the project root. Use your file-search tool (e.g., `Glob` with patterns `powerpages.config.json` and `*/powerpages.config.json`) rather than a shell-specific command.
**If not found**: Tell the user to create a site first with `/create-site`.
Read `powerpages.config.json` to get the site name.
Read `package.json` to determine the framework (React, Vue, Angular, or Astro). See `${PLUGIN_ROOT}/references/framework-conventions.md` for the full framework detection mapping.
Look for `.datamodel-manifest.json` to discover available tables:
**/.datamodel-manifest.json
If found, read it — this is the primary source for t
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.