Azure Logic Apps Standard CLI
GitHubOfficialFirst committed by wsilveiranzDistributed by GitHub
- Skill
- Tool integration
- Cloud and DevOps
- MIT
- No issues found
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
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/github/azure-logic-apps-standard-cli/downloadUnzip 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 operation | Required bundled procedure |
|---|---|
| Install/check dependencies; diagnose, start, or stop a host | Local runtime |
| Discover connectors; create/change/test/delete connections; configure identity or ACLs | Connections and identity |
| Inspect/export/change live workflows; invoke/diagnose/cancel/replay runs | Live workflows and runs |
| Scaffold, plan, run, or inspect native workflow tests | Workflow testing |
| Package, deploy, or change deployment exclusions | Packaging 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
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.
Preserve existing conventions. Do not restructure repositories, convert workflow kinds, migrate authentication, normalize aliases, or replace user files unsolicited.
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.
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.
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.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.
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.
Keep environments configurable. Put deployment-specific endpoints, resource IDs, and environment values in settings or parameters, not hardcoded workflow literals.
Guard replacements and concurrency. Inspect before every create; treat creation as non-idempotent. Use
--forceonly 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.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.
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.
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.
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.
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.
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
| Decision | Rule |
|---|---|
| Workflow kind | Preserve existing kinds; new workflows default to Stateful |
| Stateful vs Stateless | Stateful for durable history/long-running work; choose Stateless deliberately for suitable short-lived, low-latency work |
| Initial scope | Local authoring, unless the request includes further operations |
| Authentication | Managed identity, subject only to the exceptions above |
| Identity type | Existing convention, otherwise system-assigned; user-assigned for explicit stable/shared/pre-provisioned identity requirements |
| Project root/layout | Existing repository convention; otherwise the smallest suitable layout |
| Workspace | Optional; reuse an existing workspace and ask only if intent is unresolved |
| Context | Optional saved shortcut; never change active selection without authorization |
| Automation | Explicit project path and runtime/cloud target coordinates |
| Runtime lifetime | Stop 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 tableMinimums 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 --helpCheck 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.
| Operation | Target contract |
|---|---|
| Local file authoring/validation | Explicit --path; some commands also accept a local context |
| Runtime API inspection/execution | --local --port PORT, or cloud --resource-group GROUP --name APP |
| Runtime lifecycle | Local runtime start/show/stop flags; not cloud host management |
| Runtime doctor | Local --path and optional --port, or local --context; no --local |
| Managed connection creation | --name CONNECTION and --logic-app-name APP, not interchangeable |
| Live workflow enable/disable | Deployed 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 OrdersAdd --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-localUse 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 OrdersFor completed project authoring and before release packaging/deployment:
az logicapp workflow validate --path App --all --fail-on-warningWhen runtime-backed validation is required, first establish host readiness:
az logicapp workflow validate --path App --all --fail-on-warning --with-runtime --local --port 7071Do 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.
| Task | Required evidence |
|---|---|
| Scaffold/author | Requested files/kinds and behavior; affected validation; no unsolicited restructuring |
| Connections/identity | Discovered shape, setting references, selected principal, verified grants or explicit blockers; no secrets exposed |
| Full-project release | Strict full-project validation passes; required runtime validation completes |
| Native tests | Reviewed meaningful assertions, actual executed counts/outcome, skipped counts and limitations |
| Live execution/diagnosis | Actual supported run evidence, required outputs/effects, failed action/platform error where available |
| Live mutation | Retained export/revision, guarded write result, separate observed runtime behavior |
| Cancellation/replay | Requested/accepted/observed/unknown distinguished; no inferred new run IDs |
| Package/deploy | Inspected archive/exclusions; authorized prerequisites; required post-deploy verification |
| Runtime ownership | Task-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
- ATTRIBUTION.mdAdded by AutoGineer897 B
- LICENSELicence file added by AutoGineer1.0 KiB
- README.md9.1 KiB
- SKILL.md17.6 KiB
- references/connections.md13.1 KiB
- references/live-operations.md10.3 KiB
- references/local-runtime.md8.2 KiB
- references/packaging-deployment.md8.3 KiB
- references/testing.md10.7 KiB
references/connections.md
Connector discovery, authentication, and connections
Mandatory before connector discovery, connection operations, identities, or ACL changes.
Baseline: logicapp 1.0.0b1. Apply SKILL.md authorization/secret rules. Cloud mutations
require an explicitly authorized subscription, resource group, app, location, and scope.
Uppercase names below are placeholders, not discovered connector metadata.
Discover the actual operation and authentication support
For built-in/service-provider connectors, establish an authorized ready host first through the mandatory local-runtime procedure. Query its catalog:
az logicapp connector list --local --port 7071
az logicapp connector show --local --port 7071 --connector CONNECTOR
az logicapp connector operation list --local --port 7071 --connector CONNECTOR
az logicapp connector operation show --local --port 7071 --connector CONNECTOR --operation OPERATIONFor managed connectors, inspect the regional ARM catalog with the intended subscription:
az logicapp connector managed list --location LOCATION --subscription SUBSCRIPTION_ID
az logicapp connector managed show --location LOCATION --connector CONNECTOR --subscription SUBSCRIPTION_ID
az logicapp connector managed operation list --location LOCATION --connector CONNECTOR --subscription SUBSCRIPTION_ID
az logicapp connector managed operation show --location LOCATION --connector CONNECTOR --operation OPERATION --subscription SUBSCRIPTION_IDThese catalogs are not interchangeable. Record exact connector/operation IDs, connection class, parameter set, required inputs, and supported authentication. If metadata does not establish identity support or local credential behavior, consult authoritative connector documentation. Do not treat authentication errors as evidence of unsupported identity. Do not infer an action from a trigger operation or use a similar connector's parameter shape.
Managed identity is the default
For new connections use managed identity unless the customer explicitly requests another method or the connector/operation does not support it. When unsupported, explain the evidence and establish the alternative before wiring credentials. Never silently downgrade to a connection string, service principal, or OAuth to get past a failure.
For existing projects, preserve functioning authentication unless migration is authorized. Recommend a supported identity migration without performing it unsolicited.
For new project delivery:
Configure the connector's supported identity-based local wiring. A local process uses its documented development credential mechanism, not the deployed app's identity. Verify the selected local principal; do not assume universal
DefaultAzureCredential.For authorized deployment/provisioning, enable an app identity by default. Preserve an existing identity convention; otherwise select system-assigned. Use user-assigned for explicit stable/shared/pre-provisioned principal requirements.
Verify app principal, connection authorization/access policy, and data-plane access separately. Assign only the required roles at the narrowest appropriate scope.
If Azure changes are outside scope, configure permissible local files and report the outstanding app-identity/grant prerequisite. Do not claim cloud identity is enabled.
Identity assignment is additive and does not grant connector access:
az logicapp identity show --resource-group GROUP --name APP --subscription SUBSCRIPTION_ID
az logicapp identity assign --resource-group GROUP --name APP --system-assigned --subscription SUBSCRIPTION_IDRun assignment only when needed and authorized, then verify it. Repeat
--user-assigned IDENTITY_RESOURCE_ID for authorized user-assigned identities.
Do not create a user-assigned resource implicitly or attach an unrelated identity.
Identity removal is an explicit access-affecting operation, not cleanup after testing:
az logicapp identity remove --resource-group GROUP --name APP --system-assigned --subscription SUBSCRIPTION_IDUse the selected identity flags, not all flags. Verify dependent connections before removal.
Create a local service-provider connection
Inspect current aliases, setting names, references, and ignore rules before creation.
connection create writes local connections.json; settings are written to
local.settings.json. No cloud identity is enabled by this local operation.
Select the discovered identity parameter set explicitly; the command's default parameter
set is not the skill's authentication policy.
The following templates illustrate nested parameters and expressions, not universal input
names. Replace ENDPOINT_PARAMETER, IDENTITY_PARAMETER_SET, and other placeholders with
the discovered values. The authProvider.Type field must also be verified for the connector.
POSIX shell example; use that shell's actual project path:
az logicapp connection create --path App --name ALIAS --connector CONNECTOR --parameter-set IDENTITY_PARAMETER_SET --parameter "ENDPOINT_PARAMETER=@appsetting('ENDPOINT_SETTING')" --parameter authProvider.Type=ManagedServiceIdentity --app-setting ENDPOINT_SETTING=NONSECRET_ENDPOINTWindows PowerShell calling az.cmd can otherwise lose expression quoting. Use its Windows-
only stop-parsing token with all remaining arguments on the same physical line:
az logicapp connection create --path App --name ALIAS --connector CONNECTOR --parameter-set IDENTITY_PARAMETER_SET --% --parameter "ENDPOINT_PARAMETER=@appsetting('ENDPOINT_SETTING')" --parameter authProvider.Type=ManagedServiceIdentity --app-setting ENDPOINT_SETTING=NONSECRET_ENDPOINTAfter --%, PowerShell variables do not expand; do not paste variables expecting substitution.
Resolve non-secret literals before constructing the invocation. On other shells/platforms,
use their quoting rules; do not copy --%. Preserve @appsetting('NAME') exactly.
Repeat --parameter for parameters; dots express nested values. Never place secret values
in --parameter or --app-setting.
Only for an approved non-identity method, obtain the secret through an approved secure
source and pipe it directly into stdin. --secret names the setting, not its value.
Examples assume the environment value was already provided securely:
$env:CONNECTOR_SECRET | az logicapp connection create --path App --name ALIAS --connector CONNECTOR --secret SECRET_SETTINGprintf '%s' "$CONNECTOR_SECRET" | az logicapp connection create --path App --name ALIAS --connector CONNECTOR --secret SECRET_SETTINGUse a discovered --secret-parameter when the default connection-string binding is wrong.
Never echo a secret for diagnosis, put it in a command literal, or write a plaintext fixture.
Protect required local settings with appropriate access controls, Git exclusions, and
deployment exclusions. Use supported secret stores/Key Vault references for deployed
settings where appropriate; do not assume the runtime consumes arbitrary settings templates.
Creation fails on existing connection/setting names. --force is reviewed replacement,
not idempotence, secret recovery, or an authorization bypass.
Gate: Correct discovered wiring and setting references, protected storage, chosen local principal and permissions verified or explicitly blocked; no exposed credentials.
Create an Azure managed API connection
Use the distinct-name command, not deprecated connection create --managed-api semantics:
az logicapp connection managed create --resource-group GROUP --logic-app-name APP --name CONNECTION --connector CONNECTOR --location LOCATION --auth-mode managed-identity --subscription SUBSCRIPTION_IDPrerequisites: existing assigned app identity; discovered connector/authentication support;
existing valid deployed connections.json with a strong VFS ETag. Missing files, weak
revisions, or invalid wiring must be resolved through authorized deployment, not an
unconditional file replacement. The command creates a V2 ARM connection, an access policy,
and app file wiring. These are coupled resources, not a transaction.
--name names the connection resource; --logic-app-name names the app. Use
--user-assigned-identity ID only for an identity already assigned to that app.
Use discovered --parameter-set, non-secret repeated --parameter, and stdin
--secret-parameter NAME when the approved method requires it.
Allowed authentication modes include managed-identity, oauth, raw, and
service-principal; availability is not proof a mode works for every connector.
OAuth is an exception to the default and requires interactive consent:
az logicapp connection managed create --resource-group GROUP --logic-app-name APP --name CONNECTION --connector CONNECTOR --location LOCATION --auth-mode oauth --subscription SUBSCRIPTION_ID--no-browser prints a consent URL but still requires a browser that can reach the CLI
machine's loopback listener; it does not enable unattended consent. Consent defaults to
300 seconds; override with --consent-timeout only deliberately. Connected status is
required; consent.confirmed: false alone does not establish failure because the callback
commonly contains no authorization code.
On consent, policy, or wiring failure, ARM connections/policies may remain and credentials/
access may have changed. Only guarded file-entry restoration is attempted. Inspect the
reported resources, revisions, policies, and file state before recovery or retry. Never
assume a timeout cleaned up resources, automatically delete retained resources, or restore
credentials/access from incomplete ARM readback.
--force does not bypass strong revisions, policy identity checks, or concurrency limits.
Inspect, test, and preserve aliases
az logicapp connection list --resource-group GROUP --name APP --subscription SUBSCRIPTION_ID --output table
az logicapp connection show --resource-group GROUP --name APP --connection ALIAS --class managedApiConnections --subscription SUBSCRIPTION_ID
az logicapp connection test --resource-group GROUP --name APP --connection ALIAS --subscription SUBSCRIPTION_IDList/show read the app's deployed connections.json, not a reconciled ARM inventory.
Unwired resources are absent; dangling file references can remain. Redacted URLs/values do
not guarantee provider errors or workflow payloads are secret-free. Setting-name expressions
remain visible without resolving values.
| Test result | Exit | Required response |
|---|---|---|
passed | 0 | Connection test passed; still verify required business behavior |
failed | 1 | Inspect platform failure |
authorizationFailed | 1 | Verify principal/grants; exercise the exact authorized operation |
couldNotReach | 1 | Resolve reachability; honor HTTP 429 retryAfter |
noTestAvailable | 3 | Unverified, not passed; exercise the workflow when authorized |
Preserve stable existing aliases by default. To consolidate, trace every workflow reference, verify resource sharing/ownership, authorize the migration, and update dependent references together. A Designer-generated name is not proof of duplication or permission to delete. Keep environment-specific resource references configurable; keep runtime URLs/keys in protected settings instead of source-controlled literals.
Delete connections or change access
Inspect impact and obtain explicit authorization before unlinking/revoking anything:
az logicapp connection delete --resource-group GROUP --name APP --connection ALIAS --subscription SUBSCRIPTION_ID
az logicapp connection acl list --resource-group GROUP --connection RESOURCE_NAME --subscription SUBSCRIPTION_ID
az logicapp connection acl show --resource-group GROUP --connection RESOURCE_NAME --policy POLICY_NAME --subscription SUBSCRIPTION_ID
az logicapp connection acl add --resource-group GROUP --connection RESOURCE_NAME --object-id PRINCIPAL_ID --subscription SUBSCRIPTION_ID
az logicapp connection acl remove --resource-group GROUP --connection RESOURCE_NAME --policy POLICY_NAME --subscription SUBSCRIPTION_IDSelect only the intended operation; these are not a sequence. ACLs require V2 connections;
one policy per principal is allowed. Removal immediately removes that principal's access.
Use --yes only for previously approved targets/effects.
Managed deletion checks ownership before unlink, uses a fresh exact strong ETag, and verifies
unlink before ARM cleanup. Invalid/cross-scope resource IDs are refused even with
--keep-resource; manage cross-scope resources explicitly, not by bypassing the check.
Only demonstrably exclusive system-assigned policies are eligible for automatic removal.
Shared user-assigned policies/resources remain, even if the identity belongs to this app.
Ambiguous/incomplete ownership evidence retains resources with a reason.
--keep-resource deliberately retains the connection and does not revoke shared access.
Referenced app settings are reported, not deleted. Conflicts, partial unlink, and later
cleanup failures require inspection; do not retry unconditionally or replay old wiring.
Gate: Intended wiring/access verified, required data-plane grants verified separately, and retained/shared resources or uncertain effects explicitly reported.
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
wsilveiranz
- 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