A free, self-contained toolkit for operating Power Automate cloud flows from the command line (and from an AI agent). It talks to Microsoft's public Power Automate / Power Apps REST APIs directly, authenticating with an Azure CLI access token — no paid service, no app registration, no stored secrets.
ppac is a deliberate play on Microsoft's official pac (Power Platform
CLI): a "more powerful pac" for the one thing pac doesn't do — runtime flow
operations and run debugging.
ppac replaces a paid MCP server that was nothing more than a wrapper around
these same public APIs. Everything here is built on documented Microsoft
endpoints; the only dependency is the Azure CLI you almost certainly already
have.
-
Python 3 (standard library only — nothing to
pip install) -
Azure CLI (
az), signed in:az login
Your Azure CLI identity is who ppac acts as. Tenant-wide (--admin)
operations additionally require the Power Platform Administrator role.
git clone https://github.com/tretuttle/ppac.git
cd ppac
./install.shinstall.sh symlinks bin/ppac into ~/.local/bin/ and each bundle in
skills/ into ~/.claude/skills/. Because it symlinks, a later git pull
updates everything with no re-install. Remove it all with ./uninstall.sh.
ppac envs # list environments
ppac flows ENV [--admin] # list flows (owned, or all w/ --admin)
ppac flow ENV FLOW [--admin] # a flow's full definition
ppac tree ENV FLOW [--admin] # parent -> child-flow call graph
ppac runs ENV FLOW [--admin] # run history
ppac run-error ENV FLOW RUN # failed actions of a run
ppac run-actions ENV FLOW RUN [--action NAME] # action inputs/outputs
ppac trigger-url ENV FLOW # HTTP-trigger callback URL
ppac http-schema ENV FLOW # HTTP-trigger request schema
ppac connections [--env ENV] # list connections
ppac connector ENV NAME [--operation OP] # describe a connector
# mutating — dry-run unless --confirm is passed:
ppac trigger ENV FLOW --confirm
ppac set-state ENV FLOW started|stopped --confirm
ppac cancel-run ENV FLOW RUN --confirm
ppac resubmit-run ENV FLOW RUN --confirm
ppac update ENV FLOW --def FILE.json --confirm
ppac add-to-solution ENV FLOW --solution NAME --confirm
ENV, FLOW, RUN are ids discovered from ppac envs / flows / runs.
Output is JSON by default; add --table to list commands for a compact view.
Every mutating command dry-runs by default — it prints the exact request
it would send and exits without contacting the API. Add --confirm to
actually execute. Read commands are always safe and idempotent.
skills/ contains five Claude Code skill bundles that drive ppac:
| Skill | Purpose |
|---|---|
ppac |
Foundation — auth, the CLI, response handling |
ppac-build |
Build and modify flow definitions |
ppac-debug |
Diagnose failing runs at the action level |
ppac-monitoring |
Tenant-wide flow health (live --admin aggregation) |
ppac-governance |
Classify, audit, and score flows |
Microsoft's pac (Power Platform CLI) is a build-time / ALM tool — solutions,
plugins, PCF components. It has no flow run-history, run-debugging, or
run-control commands at all. ppac covers exactly that gap. The two are
complementary; neither replaces the other.
Released under the MIT License — see LICENSE.