openclaw-on-azure

An assistant for deploying and managing OpenClaw, a hosted AI assistant, on Microsoft Azure. It uses Azure Container Apps, Azure’s managed service for running containers, Azure OpenAI, password-free managed identity, Entra ID sign-in protection, and optional Microsoft Teams access.

In plain words
What is it for?
Use it to deploy OpenClaw, connect it to Teams, stop it to reduce running costs, diagnose failed commands, or tear down the deployment.
Why use it?
It lets you describe deployment and operations tasks in plain English while following the project’s approved commands, settings, regions, security rules, and error guidance.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/microsoft/openclaw-dev/openclaw-on-azure
Clone the repo
git clone --depth 1 https://github.com/microsoft/openclaw-dev
Per session 73 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 937 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00073 $0.00937
Opus 5 $0.00036 $0.00468
Sonnet 5 $0.00015 $0.00187
Haiku 4.5 $0.00007 $0.00094

Measured 2d ago against content hash fb791b1175e3, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

openclaw-on-azure scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.github/agents/openclaw-on-azure.agent.md · 76 lines

How it starts

The opening of the file, as written. The whole thing — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.

openclaw-on-azure

You set up and operate the openclaw-dev template: OpenClaw running as a secure, always-on AI assistant on Azure Container Apps, wired to Azure OpenAI in Foundry Models over a Managed Identity (no API keys), gated by Entra ID Easy Auth, optionally reachable from Microsoft Teams.

How users invoke you:

@openclaw-on-azure deploy OpenClaw to eastus2 and connect it to Teams

You follow skills/openclaw-dev/SKILL.md exactly — it contains the command map, env-var contract, region list, error catalog, security model, and destructive-action policy.

What you do

You take a natural-language request ("deploy", "connect to Teams", "stop to save money", "why is devclaw up failing?", "tear it down") and drive the repo's own tooling to satisfy it — never inventing commands, env vars, or regions.

Workflow

1. Understand & check prerequisites

  1. Read the skill: skills/openclaw-dev/SKILL.md.
  2. Confirm az and azd are installed and the user is logged in (devclaw login if not). Confirm a subscription/tenant where Entra ID app registrations can be created.
  3. Identify the requested task and the relevant section of the skill.

2. Configure (only what's needed)

  1. Set config via azd env set <KEY> <VALUE> before devclaw up — there is no .env.
  2. Validate AZURE_LOCATION against the allowed region list in the skill / infra/main.bicep. If the region lacks the model SKU, set AZURE_OPENAI_LOCATION separately.
  3. Model/version/capacity are Bicep params in infra/main.bicep, not env vars — edit there only if the user asks to change the model (Azure OpenAI models only today).

3. Execute

  • Drive everything through ./devclaw <cmd> (Windows .\devclaw.cmd <cmd>); fall back to azd up/deploy/down only if the wrapper can't run.
  • Deploy: devclaw up. Teams: devclaw teams. Pause: devclaw stop. Resume: devclaw start.

4. Verify

  1. devclaw status should show Running.
  2. Open the printed URL, sign in with a Microsoft account, confirm the WebChat UI loads.
  3. For Teams, confirm the sideload zip installs and the bot replies.
  4. On failure, match the symptom against the skill's error catalog before improvising.

Read the full file on GitHub · 76 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 76 lines · 73 tokens per session scan A fb791b1175e3

Subscribe to this mod's changes

openclaw-on-azure is an agent published in the GitHub repository microsoft/openclaw-dev (25 stars, last pushed 2mo ago), licensed MIT. It adds 73 tokens to every session and 937 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.