Check and prepare a usable Power Platform Pipelines host before pipeline runs.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "ensure-pipelines-host" skill from askskill: 1. Download https://raw.githubusercontent.com/microsoft/power-platform-skills/main/plugins/power-pages/skills/ensure-pipelines-host/SKILL.md 2. Save it as ~/.claude/skills/ensure-pipelines-host/SKILL.md 3. Reload skills and tell me it's ready
Ensure this Power Platform tenant has a usable Pipelines host. Resolve existing hosts using the same order as the Power Apps UI; if no host is bound to the source environment, provision a Platform Host first and verify it responds to Pipelines API calls.
A host check result showing whether an existing host was reused or a new one was created, plus verification status and an artifact for downstream ALM steps.
My environment says there is no pipelines host. Detect any existing Platform or Custom host; if none exists, create a new Platform Host. If automatic provisioning fails, provide manual fallback steps for PPAC install or New custom host.
Outputs the detection result, provisioning outcome or failure reason, polling progress, and manual installation steps if needed.
Ensure the source environment has a usable pipelines host. If a Platform Host cannot be used, create a Custom Host through the BAP env-create API with the D365_ProjectHost template, then verify API availability.
Provides the custom host creation and verification result, including lifecycle polling status, final availability, and reusable host details for later steps.
<!-- alm-lint-ignore: SKILL-must-read-manifest — this skill manages the Pipelines host environment (deploymentenvironments / deploymentpipelines tables on the host), not the source-env solution. The site's .solution-manifest.json is irrelevant to host lifecycle: a host can be provisioned before any solution exists, and a single host is shared across many solutions. ALM-aware-by-default does not apply. -->Plugin check: Run
node "${CLAUDE_PLUGIN_ROOT}/scripts/check-version.js"— if it outputs a message, show it to the user before proceeding.
Scope: When no host is bound to the source env, this skill detects any existing host (Custom or PE) for reuse, or — in
NoHoststate — offers three provisioning paths: a new Platform Host (recommended; idempotent, ~3–5 min); a new Custom Host (admin-only, ~5–10 min); or PPAC manual provisioning (fallback). Implementation details — endpoint names, template names, BAP audience — live in Phase 4.0 / 4.A / 4.C below; user-facing prose stays focused on outcomes.
Power Platform Pipelines need a host environment — a Dataverse environment with the Power Platform Pipelines managed solution installed, where pipelines, stages, run history, and artifacts live. The existing setup-pipeline and deploy-pipeline skills assume a host is already configured. This skill closes that gap.
This plan is grounded in three primary sources, in priority order:
useGetOrCreatePlatformEnvironment.v4.ts (Microsoft-internal client source — power-platform-ux/packages/powerapps-appdeployment-ux/src/hooks/v4/). Defines the exact HTTP contract for Platform Environment provisioning: endpoint, body, headers, polling.ProjectHostProvider.tsx (same repo, src/components/ProjectHostProvider/). Defines the exact resolution order the Power Apps UI uses to determine which environment is the project host for a source environment. We mirror that order so this skill agrees with the UI.createcustompipelineshost (Microsoft-internal). Documents the Custom Host fast-path: a D365_ProjectHost org template that ships the Pipelines app pre-installed, callable through the standard environment-creation API.Public Microsoft Learn (learn.microsoft.com/power-platform/alm/{platform-host-pipelines, custom-host-pipelines, set-a-default-pipelines-host}) is the user-facing description of the same flows; we cite it for behaviors users will recognize. HARs in PipelinesDeployScenario.har and Pipelines.har confirm the read-side calls.
| Shape | How it got there | Where it lives | Org template |
|---|---|---|---|
| Platform Host (PE) | Auto-provisioned by getOrCreate BAP call (or as a side-effect of first navigation to the Pipelines page in make.powerapps.com). Hidden from the env picker. One per tenant. | Microsoft-managed Dataverse env in tenant's home geo | D365_1stPartyAdminApps |
| Custom Host | Created by an admin via PPAC Deployments → New custom host, or via the standard env-create API with the D365_ProjectHost template, or by installing the Power Platform Pipelines app on an existing Dataverse env. | A regular Dataverse env in the tenant | D365_ProjectHost (or app-installed-onto-existing-env) |
| No host bound to source env | Tenant has not used Pipelines from this env. | — | — |
The current discover-pipelines-host.js only checks the tenant-level DefaultCustomPipelinesHostEnvForTenant setting. That's one signal of many. This skill implements the full resolution order.
ProjectHostProvider.tsx)This is the load-bearing decision tree. It is what the Power Apps UI does. We replicate it so the skill agrees with the UI.
┌─────────────────────────────────────────────────────────────────────┐
│ 1. GetOrgDbOrgSetting('ProjectHostEnvironmentId') on source env │
…
Review and fix Power Pages security headers, CSP, CORS, cookies, and embedding settings.
Run an end-to-end Power Pages security review with a consolidated HTML report.
Test deployed Power Pages sites with browsing, crawling, and API verification.
Add a data source or connector to a Power Apps code app.
Add Azure DevOps to Power Apps for work items, bugs, pipelines, and API calls.
Set up Power Platform Pipelines for automated Power Pages deployments.
Trigger and monitor Power Platform pipeline deployments for Power Pages solutions.
Configure Power Pages environment variables and deployment settings for multi-environment ALM.
Add any Power Platform connector to a Power Apps code app.
Integrate Power Automate cloud flows into Power Pages with generated metadata and code.
Trigger ADO CI pipelines for Copilot-created pull requests via PR comments.
Identify and assist with token, credential, and remote host authentication flows.