Rewrite Azure provision/deploy reference for ui-widget-developer skill#135
Rewrite Azure provision/deploy reference for ui-widget-developer skill#135phnguy wants to merge 3 commits into
Conversation
Rename m365-agents-iac-wireup.md to azure-provision-deploy.md and reframe it around the real objective: making the Agents Toolkit Provision and Deploy actions create Azure resources (Bicep) and ship the MCP server to Azure App Service. Leads with the two observed failure modes (cannot provision, no deploy path), standardizes on env/.env.dev layout, and links the reference from SKILL.md.
|
@phnguy please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
|
@ericsche any thoughts on this PR? I'm no expert here and want to make sure it reflects the experience you had in the past. Thanks! |
There was a problem hiding this comment.
Pull request overview
This PR updates the ui-widget-developer skill documentation to better support deploying an Agents Toolkit-based project to Azure by adding a new Azure provisioning/deployment reference and linking to it from the skill.
Changes:
- Add a new reference guide describing how to wire Agents Toolkit Provision/Deploy to Azure (Bicep + App Service zip deploy).
- Link the new Azure reference from the DevTunnels section of
SKILL.md.
Show a summary per file
| File | Description |
|---|---|
| plugins/microsoft-365-agents-toolkit/skills/ui-widget-developer/SKILL.md | Adds a pointer from DevTunnels guidance to the new Azure provision/deploy reference. |
| plugins/microsoft-365-agents-toolkit/skills/ui-widget-developer/references/azure-provision-deploy.md | New reference doc describing a Provision/Deploy lifecycle using arm/deploy + azureAppService/zipDeploy, env file layout, and troubleshooting. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 3
| --- | ||
| name: azure-provision-deploy | ||
| description: | | ||
| Make the Agents Toolkit "Provision" and "Deploy" actions do real Azure work for an | ||
| existing Microsoft 365 Agents Toolkit project. Fixes the two failure modes seen in | ||
| practice: (1) Provision fails or does nothing because m365agents.yml has no Azure | ||
| infrastructure step, and (2) there is no Deploy stage, so there is no way to push the | ||
| MCP server to Azure. The skill rewrites m365agents.yml, adds Bicep under infra/, and | ||
| fixes the env/.env.<env> + env/.env.<env>.user files so Provision creates resources and | ||
| Deploy ships code to Azure App Service. | ||
| when_to_use: | ||
| - "make the Provision and Deploy buttons work in Agents Toolkit" | ||
| - "Provision does nothing / Provision fails with no Azure resources" | ||
| - "no way to deploy the MCP server to Azure" | ||
| - "wire m365agents.yml to Azure with Bicep" | ||
| - "add provision + deploy lifecycle to an M365 agent project" | ||
| - "deploy MCP server to Azure App Service from the Agents Toolkit extension" | ||
| schema_version: m365agents v1.11 | ||
| --- |
| | `env/.env.dev` (and other non-local envs) | which envs exist; existing keys and values | | ||
| | `env/.env.dev.user` | secret keys (must start with `SECRET_`) | | ||
| | `.gitignore` | confirm `env/.env.*.user` and `env/.env.<env>` are ignored | | ||
| | `appPackage/manifest.json` and any `*-plugin.json` | which `${{VARS}}` are referenced (e.g. `MCP_SERVER_URL`) | |
| `.gitignore` must ignore: | ||
| ``` | ||
| env/.env.*.user | ||
| env/.env.<each-non-local-env> | ||
| ``` |
|
Sure will look in my morning
Envoyé à partir de Outlook pour Android<https://aka.ms/AAb9ysg>
________________________________
From: Copilot ***@***.***>
Sent: Monday, 15 June 2026 17:21:52
To: microsoft/work-iq ***@***.***>
Cc: Eric Scherlinger ***@***.***>; Mention ***@***.***>
Subject: Re: [microsoft/work-iq] Rewrite Azure provision/deploy reference for ui-widget-developer skill (PR #135)
@Copilot commented on this pull request.
Pull request overview
This PR updates the ui-widget-developer skill documentation to better support deploying an Agents Toolkit-based project to Azure by adding a new Azure provisioning/deployment reference and linking to it from the skill.
Changes:
* Add a new reference guide describing how to wire Agents Toolkit Provision/Deploy to Azure (Bicep + App Service zip deploy).
* Link the new Azure reference from the DevTunnels section of SKILL.md.
Show a summary per file
File Description
plugins/microsoft-365-agents-toolkit/skills/ui-widget-developer/SKILL.md Adds a pointer from DevTunnels guidance to the new Azure provision/deploy reference.
plugins/microsoft-365-agents-toolkit/skills/ui-widget-developer/references/azure-provision-deploy.md New reference doc describing a Provision/Deploy lifecycle using arm/deploy + azureAppService/zipDeploy, env file layout, and troubleshooting.
Copilot's findings
Tip
Add Copilot custom instructions</microsoft/work-iq/new/main?filename=.github/instructions/*.instructions.md> for smarter, more guided reviews. Learn how to get started<https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot>.
* Files reviewed: 2/2 changed files
* Comments generated: 3
________________________________
In plugins/microsoft-365-agents-toolkit/skills/ui-widget-developer/references/azure-provision-deploy.md<#135 (comment)>:
+---
+name: azure-provision-deploy
+description: |
+ Make the Agents Toolkit "Provision" and "Deploy" actions do real Azure work for an
+ existing Microsoft 365 Agents Toolkit project. Fixes the two failure modes seen in
+ practice: (1) Provision fails or does nothing because m365agents.yml has no Azure
+ infrastructure step, and (2) there is no Deploy stage, so there is no way to push the
+ MCP server to Azure. The skill rewrites m365agents.yml, adds Bicep under infra/, and
+ fixes the env/.env.<env> + env/.env.<env>.user files so Provision creates resources and
+ Deploy ships code to Azure App Service.
+when_to_use:
+ - "make the Provision and Deploy buttons work in Agents Toolkit"
+ - "Provision does nothing / Provision fails with no Azure resources"
+ - "no way to deploy the MCP server to Azure"
+ - "wire m365agents.yml to Azure with Bicep"
+ - "add provision + deploy lifecycle to an M365 agent project"
+ - "deploy MCP server to Azure App Service from the Agents Toolkit extension"
+schema_version: m365agents v1.11
+---
The YAML front matter at the top of this markdown file will render as visible text on GitHub (it isn’t treated as metadata here) and is inconsistent with the other references/*.md docs in this skill folder which start directly with a heading. Consider moving this metadata into an HTML comment (or removing it) so the rendered doc starts with the actual content.
________________________________
In plugins/microsoft-365-agents-toolkit/skills/ui-widget-developer/references/azure-provision-deploy.md<#135 (comment)>:
+| `env/.env.dev` (and other non-local envs) | which envs exist; existing keys and values |
+| `env/.env.dev.user` | secret keys (must start with `SECRET_`) |
+| `.gitignore` | confirm `env/.env.*.user` and `env/.env.<env>` are ignored |
+| `appPackage/manifest.json` and any `*-plugin.json` | which `${{VARS}}` are referenced (e.g. `MCP_SERVER_URL`) |
This row suggests env/.env.<env> should be gitignored, but elsewhere in this repo the convention is that env/.env.{name} is shared, non-secret config that is safe to commit, while only env/.env.*.user is ignored. Updating this avoids teaching users to ignore the main environment files the toolkit relies on.
________________________________
In plugins/microsoft-365-agents-toolkit/skills/ui-widget-developer/references/azure-provision-deploy.md<#135 (comment)>:
+`.gitignore` must ignore:
+```
+env/.env.*.user
+env/.env.<each-non-local-env>
+```
This .gitignore guidance conflicts with the earlier section that says env/.env.dev is committed (and with the general Agents Toolkit pattern of committing env/.env.{name} while ignoring only env/.env.*.user). If users follow this as-written, the toolkit’s shared env files may be absent from source control and teammates/CI won’t have the expected placeholders.
—
Reply to this email directly, view it on GitHub<#135?email_source=notifications&email_token=AIP3UEEKH45JRSYW55PHD4T5AAIBBA5CNFSNUABKM5UWIORPF5TWS5BNNB2WEL2QOVWGYUTFOF2WK43UKJSXM2LFO4XTINBZHA3TKMBWGE42M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#pullrequestreview-4498750619>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AIP3UEDRUYSDCOBJIWGUK435AAIBBAVCNFSNUABGKJSXA33TNF2G64TZHMYTCMZYGU4TGNBZGU5US43TOVSTWNBWGIZDOMJSHAZTPILWAI>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Wires up and substantially expands the Azure deployment guidance for MCP Apps servers in the microsoft-365-agents-toolkit plugin, so users get a complete, identity-first path from scaffold to hosted App Service. references/azure-provision-deploy.md Added a "Provisioning model" overview and a new resource-group step: create (with user location choice) or reuse a group, persisting both AZURE_RESOURCE_GROUP_NAME and AZURE_RESOURCE_GROUP_ID to env for re-runs/teardown. Reworked the Bicep to provision a user-assigned managed identity, optional Storage (keys disabled, RBAC role assignment), and Application Insights + Log Analytics for monitoring. Changed the default App Service plan from F1 to B1 (Linux) with an @Allowed SKU list and cold-start guidance; kept Node 22 to match the MCP server runtime. Added a two-option secret-handling section: (A) move to managed identity (required for OBO), or (B) Key Vault with @Microsoft.KeyVault(SecretUri=...) app-setting references, including the Bicep sketch and identity authorization steps. New troubleshooting rows (role-assignment auth, storage 403, missing telemetry, cold start, unresolved Key Vault reference); renumbered all steps; updated conventions and frontmatter when_to_use. SKILL.md Fixed orphaned reference: added a "Deploy to Azure" row to Scenario Routing and a dedicated "Deploy to Azure (remote hosting)" section linking references/azure-provision-deploy.md. Version bump (synced across previously inconsistent sources) microsoft-365-agents-toolkit plugin → 1.5.0 in plugin.json, marketplace.json, and marketplace.json (reconciled prior 1.4.0/1.3.1 mismatch).
|
Pushed a follow-up commit (4bb5919) that wires up and expands the Azure provision/deploy path for the ui-widget-developer skill. What changed references/azure-provision-deploy.md Added a "Provisioning model" overview plus a new resource-group step: create (with a user location choice) or reuse a group, persisting both AZURE_RESOURCE_GROUP_NAME and AZURE_RESOURCE_GROUP_ID to env for re-runs/teardown. Fixed an orphaned reference — the Azure deploy doc existed but nothing linked to it. Added a "Deploy to Azure" row to Scenario Routing and a dedicated "Deploy to Azure (remote hosting)" section. Bumped microsoft-365-agents-toolkit to 1.5.0, syncing plugin.json with both marketplace.json files (they had drifted to 1.4.0/1.3.1). |
|
@sebastienlevert just tested the version with my modification and was able to create a DA with MCP apps and provision in Azure with a good experience Good to go for me. |
azure-provision-deploy.md: document Strategy A (Oryx build + start script) vs Strategy B (prebuilt node_modules + appCommandLine), tsx stage variant, headless-login note, and new troubleshooting rows/conventions. Register teams-app-developer in both marketplace.json files and the plugin README.
|
quick update on the skill to optimize the code deployment on Azure. |


Rename m365-agents-iac-wireup.md to azure-provision-deploy.md and reframe it around the real objective: making the Agents Toolkit Provision and Deploy actions create Azure resources (Bicep) and ship the MCP server to Azure App Service. Leads with the two observed failure modes (cannot provision, no deploy path), standardizes on env/.env.dev layout, and links the reference from SKILL.md.