# Power Automate Solutions

> >

- **Type:** Skill
- **Install:** `agentstack add skill-wals-pro-claude-power-automate-power-automate-solutions`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Wals-pro](https://agentstack.voostack.com/s/wals-pro)
- **Installs:** 0
- **Category:** [Cloud & Infrastructure](https://agentstack.voostack.com/c/cloud-infrastructure)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Wals-pro](https://github.com/Wals-pro)
- **Source:** https://github.com/Wals-pro/claude-power-automate/tree/main/skills/power-automate-solutions

## Install

```sh
agentstack add skill-wals-pro-claude-power-automate-power-automate-solutions
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Power Automate Solutions & Environment Variables

Use this skill for application lifecycle management (ALM) of Power Platform
cloud flows: solutions, environment variables, and the DEV -> PROD pipeline.
The default tool is the `power-automate` CLI.

## Core idea

- **Solutions** are the unit of deployment. Unmanaged solutions hold the
  editable source in DEV; managed solutions are the deployed result in PROD.
- **Environment variables** parameterize a solution so the same flow behaves
  correctly across environments (e.g. a different API base URL or record id in
  DEV vs PROD). A variable has a **definition** (schema name, type, optional
  default) and, per environment, a **value**.
- Create/edit flows in DEV inside an unmanaged solution, then ship the solution
  through the pipeline. Never edit on PROD directly.

## Commands

```bash
# Solutions
power-automate solutions --profile acme                 # list (managed + unmanaged)
power-automate solutions --profile acme --unmanaged-only
power-automate solution-components --profile acme --solution 

# Environment variables
power-automate env-vars --profile acme                  # all definitions + current/default values
power-automate env-vars --profile acme --solution    # only this solution's variables
power-automate env-var-get --profile acme acme_ApiBaseUrl
power-automate env-var-set --profile acme acme_ApiBaseUrl "https://api.example.com" --solution  --dry-run
power-automate env-var-set --profile acme acme_ApiBaseUrl "https://api.example.com" --solution 
```

Add a new flow to a solution at creation time so it ships through the pipeline:

```bash
power-automate create --profile acme flow.json --name "My Flow" --solution  --dry-run
```

## Secret-handling rules (read before touching values)

- **Secret-type** environment variables are backed by **Azure Key Vault**. The
  CLI **masks** their values by default (``).
  `--reveal-secret` shows only the Key Vault *reference*, never the secret value
  itself.
- `env-var-set` **refuses** Secret-type variables. Configure those in the Power
  Platform portal or via a Key Vault reference — never pass a secret as a CLI
  argument (it would land in shell history, logs, and Dataverse as plaintext).
- Never commit real environment variable values, schema names tied to a real
  customer, or GUIDs into source control. Use placeholders.

## Procedure

1. `solutions` to find the target unmanaged solution.
2. `solution-components --solution ` to see what it contains
   (flows = "Workflow / Cloud flow", env vars = "EnvironmentVariableDefinition",
   connection references, etc.).
3. `env-vars --solution ` to review the variables the flow depends
   on; confirm types and which have values in this environment.
4. For non-secret config, `env-var-set ... --dry-run` then the real set,
   passing `--solution` so the value belongs to the solution.
5. For secret config, set it in the portal / Key Vault; only confirm presence
   with `env-var-get` (masked).
6. Read `references/solutions-alm.md` for solution types, component-type codes,
   environment variable types, connection references, and DEV -> PROD notes.

## Related skills

- `power-automate-api-client` for pull/diff/deploy/verify of the flow itself.
- `power-automate-action-configuration` for `connectionReferences` inside the
  flow definition.
- `power-automate-run-forensics` when a deployed flow misbehaves per environment
  (often a missing or wrong environment variable value).

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Wals-pro](https://github.com/Wals-pro)
- **Source:** [Wals-pro/claude-power-automate](https://github.com/Wals-pro/claude-power-automate)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-wals-pro-claude-power-automate-power-automate-solutions
- Seller: https://agentstack.voostack.com/s/wals-pro
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
