Generated banner for Azure Logic Apps Standard CLI
Generated logo for Azure Logic Apps Standard CLI

Azure Logic Apps Standard CLI

GitHubOfficialFirst committed by wsilveiranzDistributed by GitHub

  • Skill
  • Tool integration
  • Cloud and DevOps
  • MIT
  • No issues found

From the author

Create, inspect, validate, test, run, debug, package, and deploy Azure Logic Apps Standard projects using the Azure CLI logicapp extension. Use for Standard workflow authoring, optional workspaces, connector discovery, identity-based connections, local runtimes, native workflow tests, and approved cloud lifecycle operations. Not for Consumption-only workflow development.
— the description by wsilveiranz

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The azure-logic-apps-standard-cli skill provides an interface for interacting with Azure Logic Apps Standard projects. It enables developers to scaffold, inspect, validate, test, run, debug, package, and deploy workflows directly from the command line. The skill emphasizes local development practices, identity-based connections, and structured lifecycle operations while maintaining clear boundaries between local and cloud environments.

What it does

  • Scaffolds new Logic Apps Standard projects and workflows.
  • Validates workflow definitions locally and against a running host.
  • Manages connector discovery and identity-based connection configurations.
  • Executes and monitors local runtime hosts for testing and debugging.
  • Packages projects for deployment and manages cloud-based workflow operations.
  • Provides tools for inspecting live workflow runs and managing runtime state.

When to use it

  • When developing or maintaining Azure Logic Apps Standard projects.
  • When you need to validate workflow configurations before deployment.
  • When configuring connections using managed identities in a local or cloud environment.
  • When performing lifecycle tasks like packaging, deploying, or inspecting live workflows.

Advantages

  • Provides a unified CLI interface for the full development lifecycle.
  • Supports local runtime execution for testing without needing cloud access.
  • Promotes secure practices by defaulting to managed identity authentication.
  • Enables structured validation to catch issues before deployment.

Usage examples

“Create a new Logic Apps Standard project named MyProject with a workflow named MyWorkflow.”
The CLI scaffolds the project structure and initializes the specified workflow within the local directory.
“Validate all workflows in my current project using the local runtime.”
The CLI starts the local host, runs validation checks against all workflows, and reports any findings.
“List available connectors for my local Logic App host.”
The CLI queries the local runtime catalog and displays the available connectors and their operations.
“Export a live workflow named Orders from my running local host.”
The CLI retrieves the workflow definition from the runtime and saves it to a local JSON file.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/github/azure-logic-apps-standard-cli/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip azure-logic-apps-standard-cli.zip -d .agents/skills

Documentation by wsilveiranz

Logic Apps Standard CLI

Use az logicapp as the primary interface for supported Standard project, workflow, connection, validation, runtime, diagnostic, testing, and packaging operations. Do not manually recreate files or Azure wiring owned by a supported command. Manual workflow authoring, workspace files, ignore files, and infrastructure-as-code remain appropriate where the CLI does not own that operation.

Reviewed baseline: extension 1.0.0b1. It is a public preview for evaluation and development, not a claim of production readiness. Use non-production resources for evaluation. Existing core app-management, app-settings, and ZIP-deployment commands are distinct from the extension's preview commands, even where reference pages label extension commands GA. Declared platform support is not live-runtime qualification.

Mandatory procedure routing

This folder is one installable skill package. Resolve bundled files relative to this SKILL.md, not the customer's working directory. Install/copy the entire folder. These references are required procedures, not optional background reading. See the package README for installation, provenance, and maintenance notes.

Before the corresponding operation, read every applicable reference below. For combined tasks, read each required procedure before its phase. If a required file is missing or unreadable, report that operation as blocked. Do not invent syntax, bypass its prerequisites, or fetch an unreviewed substitute.

Requested operationRequired bundled procedure
Install/check dependencies; diagnose, start, or stop a hostLocal runtime
Discover connectors; create/change/test/delete connections; configure identity or ACLsConnections and identity
Inspect/export/change live workflows; invoke/diagnose/cancel/replay runsLive workflows and runs
Scaffold, plan, run, or inspect native workflow testsWorkflow testing
Package, deploy, or change deployment exclusionsPackaging and deployment

Basic local scaffolding, workspace creation, and offline validation are specified here. Do not start a host, restore packages, invoke workflows, or mutate Azure merely because the skill was activated. Select only the procedures needed for the requested task.

Non-negotiable rules

  1. Inspect before mutation. Establish the actual project root and requested scope. Inspect affected workflows, configuration structure/references, ignore files, workspaces, and uncommitted changes. Do not dump secret setting values.

  2. Preserve existing conventions. Do not restructure repositories, convert workflow kinds, migrate authentication, normalize aliases, or replace user files unsolicited.

  3. Use managed identity by default. For new connections and deployed app configuration, use another authentication method only when explicitly requested by the customer or unsupported by the selected connector/operation. Authentication failure is not proof of lack of support. Never silently fall back to secrets.

  4. Enable identity as part of new-project delivery. Configure the supported local identity-based connection mechanism. For deployment-facing work, enable app identity through the authorized provisioning/deployment process. Preserve an existing identity convention; otherwise default to system-assigned identity. Local scaffolding does not authorize Azure mutation; report unapproved cloud prerequisites explicitly.

  5. Verify distinct principals and permissions. A local process does not acquire a deployed app's managed identity. Follow the connector's documented local mechanism; do not assume every connector uses DefaultAzureCredential. Verify local and cloud principals, connection access, and least-privilege data-plane roles separately.

  6. Discover, do not guess. Obtain connector IDs, operation IDs, parameter sets, and required input shapes from the actual runtime or regional managed catalog. Verify authentication support using metadata and authoritative connector documentation.

  7. Protect secrets and sensitive outputs. Never put secret values in command arguments, source control, examples, or shared logs. Treat existing definitions, exports, and provider output as potentially sensitive; protect and review them before sharing. Use supported stdin secret input and setting references. Required protected local/runtime storage is permitted; local settings and test artifacts must be ignored and excluded from deployment.

  8. Keep environments configurable. Put deployment-specific endpoints, resource IDs, and environment values in settings or parameters, not hardcoded workflow literals.

  9. Guard replacements and concurrency. Inspect before every create; treat creation as non-idempotent. Use --force only for reviewed replacement. Export live workflows before replacement/deletion, retain revisions, and obtain approval for non-atomic writes. Do not bypass conflicts or blindly retry uncertain mutations.

  10. Authorize effects, not just targets. Starting local triggers and running test/build code can contact real systems. Establish permitted effects first. Obtain explicit authorization for Azure mutations, cancellation, and replay; preview is not a sandbox.

  11. Keep evidence honest. Read structured results even on nonzero exits. Distinguish configured, authorized, accepted, observed, and verified states. An open port, accepted invocation, generated plan, or inspected report is not successful workflow execution.

  12. Validate without manufacturing success. Validate incrementally; require strict full-project validation before release packaging/deployment. Preserve stricter repository policy. Do not remove warnings, assertions, outputs, or guards merely to obtain a passing result.

  13. Own cleanup precisely. Stop only task-owned runtimes unless asked to leave them running; verify shutdown and shared dependency ownership. Never kill processes by name or stop another user's host/emulator.

  14. Preserve deployment boundaries. Merge ignore rules without replacing unrelated entries; inspect the actual package. Do not deploy local settings, tests, state, editor files, logs, settings templates, or generated packages.

  15. Keep connector semantics specialized. Use available connector-specific guidance for delivery guarantees, poison handling, and operation-specific tests. If unavailable, use authoritative connector documentation; do not invent specialized behavior.

Defaults and consequential choices

DecisionRule
Workflow kindPreserve existing kinds; new workflows default to Stateful
Stateful vs StatelessStateful for durable history/long-running work; choose Stateless deliberately for suitable short-lived, low-latency work
Initial scopeLocal authoring, unless the request includes further operations
AuthenticationManaged identity, subject only to the exceptions above
Identity typeExisting convention, otherwise system-assigned; user-assigned for explicit stable/shared/pre-provisioned identity requirements
Project root/layoutExisting repository convention; otherwise the smallest suitable layout
WorkspaceOptional; reuse an existing workspace and ask only if intent is unresolved
ContextOptional saved shortcut; never change active selection without authorization
AutomationExplicit project path and runtime/cloud target coordinates
Runtime lifetimeStop task-owned hosts after checks unless explicitly asked to retain them

Infer paths and established choices from the request/repository. Ask only about missing, consequential decisions. Do not insist on three scaffold questions when answers are known.

1. Verify tooling and select the target

Inspect first; these commands do not install the extension:

az version
az extension list --query "[?name=='logicapp'].{name:name,version:version}" --output table

Minimums for the reviewed release: Azure CLI 2.67.0 and its Python runtime 3.10. If the extension is absent and installation is authorized, use the public extension index:

az extension add --name logicapp --version 1.0.0b1 --allow-preview true
az extension show --name logicapp --output json
az logicapp --help

Check the exit after each command; do not continue after failed installation. If the requested version is unavailable, report the index/network/version error. Do not substitute a private wheel, disable TLS, or bypass organizational package policy. Do not automatically upgrade an installed extension. For a different installed version, inspect each affected command's --help and current official contracts before execution; report material differences instead of assuming this baseline still applies.

Detect OS and shell before using examples. Single-line azurecli blocks avoid shell-specific continuations. App, Orders, and uppercase identifiers are illustrative names: substitute the inspected target, quote paths containing spaces, and use the host OS's path separator. PowerShell/native-wrapper quoting for expressions is specified in the connections procedure.

OperationTarget contract
Local file authoring/validationExplicit --path; some commands also accept a local context
Runtime API inspection/execution--local --port PORT, or cloud --resource-group GROUP --name APP
Runtime lifecycleLocal runtime start/show/stop flags; not cloud host management
Runtime doctorLocal --path and optional --port, or local --context; no --local
Managed connection creation--name CONNECTION and --logic-app-name APP, not interchangeable
Live workflow enable/disableDeployed apps only

For API-targeting commands, explicit --port requires --local. A named context owns its coordinates: do not mix it with explicit API target flags. Inspect command-specific help for file-command context combinations; do not assume one universal precedence rule. Cloud work requires the intended Azure login, tenant, subscription, and permissions. Verify account selection independently: saved contexts do not bind subscription/tenant. Avoid changing global account selection; prefer explicit --subscription in automation.

2. Inspect and scaffold locally

Classify the destination as new, an existing Standard project, or a nonempty unrecognized directory. The project/host root contains host.json; workflow directories are its direct children. The repository root may itself be that project root.

For an existing project, inspect host.json, workflow files, connections.json, parameters.json when present, settings names/references, ignore files, workspaces, and affected uncommitted changes. Preserve unrelated content and avoid exposing local values.

For a new project, choose a minimal project-at-root layout or a solution/monorepo child project according to requirements. Support directories such as docs, requests, fixtures, tests, logs, and artifacts are optional and created only for actual work. Prefer package output outside the host root. Do not author .azurelogicapps runtime state.

After inspecting the destination, scaffold using explicit paths:

az logicapp project create --path App --workflow Orders

Add --workflow-kind Stateless only for an intentional Stateless choice. Use --adopt only for a reviewed nonempty unrecognized directory, not as routine setup. Inspect generated host/settings/connection/workflow files before extending them. Create additional workflows without replacing existing ones:

az logicapp workflow create --path App --workflow Notify --kind Stateful

--file FILE accepts a reviewed full workflow file or bare definition for local import. Creation is local-only and non-idempotent. Do not use it to add a cloud workflow.

Before writing sensitive local settings, confirm effective Git exclusions. Merge rules relative to the actual repository and host roots; never copy .gitignore over .funcignore. Always exclude local settings/state from source control and deployment. If changing deployment exclusions, first read the packaging procedure and follow its concrete rules.

Gate: Correct project root, requested workflow kinds, preserved user files, effective secret exclusions, and identity-based configuration or an explicitly reported prerequisite.

3. Optional workspace and context

A .code-workspace file is optional; opening the host directory is valid. Reuse an existing workspace. When a new multi-root workspace is requested, use relative paths to real folders and put the Logic Apps host project first. Do not create empty folders just to populate it. Adapt this JSON to the selected layout; it is not a required filename or folder scheme:

{
  "folders": [
    { "name": "Logic App", "path": "App" }
  ]
}

Preserve existing workspace settings and names. Add docs/test roots only when useful and present. For a project-at-root workspace, the project path is ".".

Saved contexts are optional. Inspect context list before choosing a unique project-specific name. If requested, create a shortcut without implicitly selecting it:

az logicapp context list --output table
az logicapp context create --name orders-local --path App --port 7071
az logicapp context show --name orders-local

Use context use --name NAME or creation's --use only when active selection is authorized. context update preserves omitted fields and does not select a target; editing an active target prompts unless --yes is authorized. A kind change requires explicit local path/port or cloud resource group/app coordinates. Inspect its help before changing kind. context delete deletes only a shortcut; deleting the active one clears selection without choosing a replacement. Stores follow AZURE_CONFIG_DIR; no credentials belong in them.

4. Author and validate

Preserve workflow structure/kind. Use stable action/trigger names. Implement the required ordering, branching, retries, timeouts, and failure paths; terminal success/failure paths must not both execute. Use discovered operation shapes and configurable environment values. Create representative non-sensitive fixtures only when needed.

For built-in connector discovery, read both the local-runtime and connections procedures before establishing safe host startup and querying the catalog. For runtime-backed validation, read the local-runtime procedure and establish readiness first. Native tests can instead use authored mocks without starting a host.

Validate the workflow under active development:

az logicapp workflow validate --path App --workflow Orders

For completed project authoring and before release packaging/deployment:

az logicapp workflow validate --path App --all --fail-on-warning

When runtime-backed validation is required, first establish host readiness:

az logicapp workflow validate --path App --all --fail-on-warning --with-runtime --local --port 7071

Do not start a host solely for an offline edit/review. Assess findings and preserve repository policy; report unrelated pre-existing failures separately without weakening release gates. Static validation, runtime-template validation, native assertions, and live integration checks are separate evidence. A completed runtime validation response is required; accepted asynchronous validation alone does not establish completion.

Completion evidence

Apply only gates relevant to the requested task; do not turn an inspection into a deployment.

TaskRequired evidence
Scaffold/authorRequested files/kinds and behavior; affected validation; no unsolicited restructuring
Connections/identityDiscovered shape, setting references, selected principal, verified grants or explicit blockers; no secrets exposed
Full-project releaseStrict full-project validation passes; required runtime validation completes
Native testsReviewed meaningful assertions, actual executed counts/outcome, skipped counts and limitations
Live execution/diagnosisActual supported run evidence, required outputs/effects, failed action/platform error where available
Live mutationRetained export/revision, guarded write result, separate observed runtime behavior
Cancellation/replayRequested/accepted/observed/unknown distinguished; no inferred new run IDs
Package/deployInspected archive/exclusions; authorized prerequisites; required post-deploy verification
Runtime ownershipTask-owned processes stopped and verified, or explicitly retained with coordinates/ownership

State concrete missing permissions, dependencies, resources, unexecuted checks, retained resources, and uncertain effects. Do not call configured identity authorized, an accepted request complete, a skipped suite passing, or a blocked prerequisite satisfied.

Files

references/packaging-deployment.md

Packaging and deployment

Mandatory before changing deployment exclusions, packaging, or deploying. Baseline: logicapp 1.0.0b1. Packaging is local archive creation; core ZIP deployment is a separate authorized Azure mutation. Preserve an existing supported repository/CI deployment route rather than replacing it merely because this skill includes a CLI example.

Establish actual boundaries

Identify repository root, Logic Apps host root, deployable runtime assets, dedicated tests, templates, local state, and intended package destination. The project may be at repository root or nested; do not require a solution-root layout.

Merge source-control exclusions relative to the actual .gitignore location. For a project-at-root layout, typical applicable entries are:

local.settings.json
.azurelogicapps/
workflow-designtime/
.logicapp-test-state/
*.log

For nested projects, adapt paths or place scoped rules at the host root. Ensure nested secret copies are also ignored. Add actual generated output directories, not assumed logs/artifacts directories that do not exist. Preserve unrelated entries and verify effective exclusions, including existing tracked files: adding ignore rules does not remove a tracked secret or make its history safe.

The host-root .funcignore, not .gitignore, defines extra deployment exclusions. Merge applicable rules such as:

local.settings.json
cloud.settings.json
.azurelogicapps/
.logicapp-test-state/
workflow-designtime/
.vscode/
.git/
.gitignore
*.code-workspace
*.log
*.trx

Adapt/add exact host-root-relative locations of tests, fixtures, request samples, docs, settings templates, reports, generated packages, and other non-runtime content inside the host root containing .funcignore. For example, for a host at repo\App, exclude repo\App\fixtures with fixtures/ in repo\App\.funcignore, not App/fixtures/. Folders outside the host root are already outside the package source. Do not use broad binary exclusions that would remove required runtime assemblies.

A placeholder-only settings template is optional. Document that the runtime does not consume it; configure local/cloud settings through the appropriate process. Exclude the template from deployment even if safe to track. It must never contain actual secrets. Do not copy .gitignore over .funcignore or replace existing user rules wholesale.

Validate before packaging

Require strict completed full-project validation immediately before release packaging:

az logicapp workflow validate --path App --all --fail-on-warning

When runtime validation is required by the task/repository, first establish readiness and complete the runtime-backed form against the intended target. Report actual blockers; do not disable warnings or claim an HTTP 202 accepted validation completed. Review existing validation failures without silently weakening the release gate.

Choose an output path outside the host root where feasible. A current-directory destination such as App.zip is outside a child App host; for a host at ".", choose an explicit external destination or verified exclusion. Create only the actual requested output parent.

az logicapp deployment package --path App --output-path App.zip

Optional --manifest MANIFEST_PATH selects the manifest destination. Archive and manifest must be distinct files, including normalized paths/aliases. --force authorizes replacing reviewed output only; never use it to bypass invalid inputs or exclusions. An unreadable, non-file, or invalid UTF-8 .funcignore is an error, not empty policy.

The packager excludes local.settings.json case-insensitively, including nested copies, dedicated recognized native test/state content, and raw TRX. It refuses ambiguous mixed test/runtime roots rather than dropping runtime files. Dedicated native test intent is identified from project declarations, not merely a filename or state-directory marker. Do not rely on sensitive-data scanning to recognize every possible secret or custom artifact.

Inspect the actual ZIP and manifest

Require all requested workflow directories, host.json, connections.json when required, referenced parameters.json/runtime files, and necessary assemblies/artifacts. Verify the ZIP root is the host content, not an extra enclosing project directory.

Require absence of:

  • local settings, credentials, signed URLs/keys, or secret-bearing exports;

  • settings templates and non-runtime fixtures/tests;

  • native private caches, test state, raw TRX, and test build output;

  • logs, editor/workspace files, repository metadata, and runtime state;

  • generated packages, nested archives, and inappropriate diagnostic reports.

Inspect using a read-only archive tool appropriate to the OS. Manifest exclusions are useful evidence but not a substitute for checking the archive. Ordinary runtime binaries may be necessary; do not exclude all bin, .dll, or .exe files indiscriminately.

Gate: Strict validation passed; exact archive/manifest inspected; only deployable content remains. Packaging success alone is not a deployment or secret-free attestation.

Deploy only within authorized scope

Confirm tenant/subscription, resource group, Standard app, environment/location, deployment route, and external effects. Azure services may incur charges. This preview does not establish production readiness. Do not create infrastructure as an unrequested side effect.

Prerequisites:

  1. App and required resources exist, with compatible hosting/deployment configuration.

  2. Managed identity is enabled by default through authorized provisioning; required local/cloud principals, connector access policies, and data-plane grants are verified.

  3. Required app settings/parameters and managed connection wiring are configured without exposing values. Keep triggers from activating incomplete external dependencies.

  4. Package and validation gates pass; relevant tests and deployment approvals are complete.

  5. Deployment/recovery follows existing repository policy, including coordinated writers.

Use the existing pipeline when supplied. For authorized direct CLI ZIP deployment, the core Logic Apps command is available independently of extension packaging:

az logicapp deployment source config-zip --resource-group GROUP --name APP --src App.zip --subscription SUBSCRIPTION_ID

This is a core command, not an extension-owned deployment deploy command. Do not invent such a command. Core app-management/settings commands are also distinct from extension runtime APIs. Their existence does not broaden individual preview command support to Consumption, hybrid hosts, or deployment slots. Inspect target-specific support first.

Full application deployment publishes shared files and adds new cloud workflows. workflow set is only a separately approved replacement of one existing workflow on a writable target; it is not a substitute for deploying settings or a new app. Do not bypass run-from-package or read-only hosting restrictions.

Verify deployment separately

After acknowledged deployment:

  1. Inspect the deployment result and actual workflow inventory.

  2. Validate the local authored project against the deployed runtime when required:

    az logicapp workflow validate --path App --all --fail-on-warning --with-runtime --resource-group GROUP --name APP --subscription SUBSCRIPTION_ID
  3. Inspect deployed connection wiring and required authentication/access.

  4. Exercise explicitly authorized representative workflows and verify outputs/effects; use actual supported run IDs and diagnose failed actions where history is available.

  5. Verify excluded local files/secrets were not deployed using appropriate read-only inspection without printing secret contents.

Use the mandatory connections/live-operations procedures selected from SKILL.md before those phases. Runtime-template validation is not deployed-file equality, connection certification, or successful business execution; record each evidence type separately.

If deployment is partial, validation fails, resources remain, or effects are uncertain, report the actual state. Do not blindly retry, activate incomplete dependencies, delete retained resources, or claim guaranteed rollback.

Gate: Intended cloud content/configuration, completed required runtime validation, verified approved scenarios, exclusion evidence, and explicit remaining blockers.

Requirements and compatibility

Written for: GitHub Copilot

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs a command-line tool

The author says: Requires Azure CLI 2.67.0 or newer with the logicapp extension; its Python runtime must be 3.10 or newer. Local hosting and native tests have additional task-specific dependencies. Installation, connector catalogs, and Azure operations can require network access and Azure permissions.

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

First committed by
GitHub avatar of wsilveiranzwsilveiranz
Publisher
GitHub (Official)
Distributed by
GitHub
Source
github/awesome-copilot · skills/azure-logic-apps-standard-cli · commit 797337f
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced
Contributors
wsilveiranz

AutoGineer is not affiliated with or endorsed by wsilveiranz or GitHub.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download azure-logic-apps-standard-cli.zip