Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ppac — Power Platform Automation CLI

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.

Why this exists

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.

Requirements

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

Install

git clone https://github.com/tretuttle/ppac.git
cd ppac
./install.sh

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

Usage

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.

Safety model

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

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

Relationship to pac

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.

License

Released under the MIT License — see LICENSE.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages