Skip to content
Development
Skill

/add-cloud-flow

Integrates Power Automate cloud flows into a Power Pages site. Lists available flows, suggests relevant ones based on intent, identifies scenarios and web roles, creates metadata files, and generates client-side code to call flows. Handles both new flow registration and adding

From plugin
power-platform-skills
1.1k110 skills25 agents5 MCP

Claude Code

$ npx -y skills add microsoft/power-platform-skills --skill add-cloud-flow --agent claude-code

SKILL.md

add-cloud-flow.SKILL.md
name: add-cloud-flow
description: >-
  Integrates Power Automate cloud flows into a Power Pages site. Lists available flows,
  suggests relevant ones based on intent, identifies scenarios and web roles, creates metadata
  files, and generates client-side code to call flows. Handles both new flow registration and
  adding already-registered flows to additional pages without re-creating metadata. Use when
  the user wants to add, connect, register, or link a Power Automate cloud flow to their site.
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.

Add Cloud Flow

Connect one or more Power Automate cloud flows to a Power Pages SPA site, or wire already-registered flows into additional pages/components. For new flows this skill:

  • Creates the `adx_cloudflowconsumer` metadata YAML in `.powerpages-site/cloud-flow-consumer/`
  • Assigns web roles based on the flow's scenario and target audience
  • Generates client-side TypeScript/JavaScript service code to trigger the flow with CSRF authentication

For already-registered flows, the skill skips metadata and role creation and goes straight to client-side integration โ€” wiring the existing flow into new UI locations.

Core Principles

  • **Multiple flows in one run**: The user can add several flows at once. All flows are planned together and implemented together before asking for deployment.
  • **Ask before acting**: Present a full HTML plan (all flows, roles, reasoning) before creating any files.
  • **Web roles drive access**: Every flow must have at least one web role. Anonymous Users role is valid but must be confirmed.
  • **Scenario determines roles**: Understand what each flow does and who triggers it before picking roles.
  • **Use TaskCreate/TaskUpdate**: Track all phases upfront before starting any work.
  • **Preserve site integrity**: Before wiring a flow into a page or component, read `${PLUGIN_ROOT}/references/site-modification-integrity.md`; localize every new visible state when configured and keep the UI bidirectional and expansion-safe.

> **Prerequisites:** > - An existing Power Pages SPA site with `.powerpages-site` deployed > - PAC CLI authenticated (`pac auth who` must succeed) > - Azure CLI authenticated (`az login --allow-no-subscriptions` works whether or not your account has an Azure subscription โ€” Dataverse and Power Platform tokens are AAD-scoped)

**Initial request:** $ARGUMENTS

---

Workflow

1. **Verify Prerequisites** โ€” Locate the project, confirm `.powerpages-site` exists, inventory web roles and existing flows 2. **List Available Flows** โ€” Fetch flows from the Power Automate Flow RP API 3. **Select Flows & Understand Scenarios** โ€” User picks one or more flows; determine scenario and audience for each 4. **Determine Web Roles** โ€” Propose minimum roles per flow with reasoning 5. **Review Plan** โ€” Render HTML plan for all flows; get user approval 6. **Create Metadata** โ€” Write `.cloudflowconsumer.yml` for each flow; create missing web roles first 7. **Client-Side Integration** โ€” Generate typed service code to call each flow from the frontend 8. **Verify & Summarize** โ€” Validate all YAMLs, record skill usage, offer deployment

---

Phase 1: Verify Prerequisites

**Goal**: Locate the Power Pages project and confirm all prerequisites are met

**Actions**:

1. Create todo list with all 8 phases (see [Progress Tracking](#progress-tracking) table)

1.1 Locate Project

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`.

1.2 Read Config

Read `powerpages.config.json` to get the `siteName` (used for display and plan rendering).

1.3 Check `.powerpages-site` Exists

Look for the `.powerpages-site` folder in the project root.

**If not found**:

<!-- gate: add-cloud-flow:1.3.deploy-first | category=plan | cancel-leaves=nothing -->

> ๐Ÿšฆ **Gate (plan ยท add-cloud-flow:1.3.deploy-first):** `.powerpages-site` missing โ€” cloud flow YAML lives inside it. Deploy first or stop. > > **Trigger:** Phase 1.3 found no `.powerpages-site` directory. > **Why we ask:** Cloud flow YAML written to a non-existent path will never deploy. > **Cancel leaves:** Nothing โ€” no YAML files written.

Use `AskUserQuestion`:

| Question | Options | |----------|---------| | `.powerpages-site` is required to add cloud flows. Would you like to deploy the site now? | Yes, deploy now (Required), Cancel |

**If "Yes, deploy now"**: Invoke `/deploy-site` first, then continue to Phase 2. **If "Cancel"**: Stop.

1.4 Read Existing Web Roles

Read all `.webrole.yml` files from `.powerpages-site/web-roles/` to inventory available roles. Note each role's `id`, `name`, `adx_anonymoususersrole`, and `adx_authenticatedusersrole`.

1.5 Check Existing Cloud Flows

Check `.powerpages-site/cloud-flow-consumer/` for existing `.cloudflowconsumer.yml` files. For each file, read:

  • `processid` โ€” the flow's `workflowEntityId`
  • `name` โ€” the flow's display name
  • `adx_CloudFlowConsumer_adx_webrole` โ€” assigned web role UUIDs

Store these as the **already-registered flows** list. These flows already have metadata and web roles configured but may need additional frontend integration on other pages or components.

1.6 Detect Frontend Framework

Read `package.json` to detect the framework (React, Vue, Angular, Astro). Note the framework and its conventions for Phase 7. See `${PLUGIN_ROOT}/references/framework-conventions.md` for the detection mapping.

**Output**: Project root, site name, framework, available web roles, already-registered flows (with processid, name, and web roles)

---

Phase 2: List Available Flows

**Goal**: Fetch all Power Automate cloud flows that have a PowerPages trigger

**Actions**:

Run

Read more
@microsoft
Ships withpower-platform-skills

Plugins from Microsoft that teach AI assistants, such as GitHub Copilot and Claude Code, to build on Power Platform.

1.1k110 skills25 agents5 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.1k
Star history of microsoft/power-platform-skills on GitHub, a chart by star-history.com

Other skills on power-platform-skills.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, orโ€ฆ

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android โ€” semantic ARIA roles and labels,โ€ฆ

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commitsโ€ฆ

react3d252k
@facebook@facebookInstall Skill

Questions about add-cloud-flow.

Which coding agents can use add-cloud-flow?
add-cloud-flow installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.