Copilot Playbook
Updated November 7, 2026
Managed App Handbook · Chapter 8 of 8

Field evidence, troubleshooting, templates and reference

A case study, community builds and costs, frontier patterns, troubleshooting, templates and the reference appendices.

For makers, developers, admins and owners · 30-minute read · Facts as of 7 November 2026

Chapter 8 of 830-minute readParts 24–29Facts current as of 7 November 2026

Evidence tagsD DocumentedO ObservedC CommunityI Inference

Every claim in this handbook carries a tag, so you can tell documentation from observation from opinion.

  • DDocumented. Documented by Microsoft on Learn, Support, Message center, GitHub or an official blog, as of the dates in Appendix E
  • OObserved. Observed first-hand on 7 November 2026 in a live Copilot Code cloud session: its tools, its sandbox, an example tenant's policy verdicts, and the repository of a production partner-sales app
  • CCommunity. Reported by the community (MVP blogs, forums, videos, GitHub issues) and not confirmed by Microsoft
  • IInference. Inference or recommendation by the author; test it before you rely on it

Part 24

Case study: four days, 53 commits, one production app

  • What it isAn anonymised case study of a production partner-sales app built with Copilot Code: its numbers, how it was run and what it taught.
  • What you doCopy the habits that worked: a spec per initiative, a rubric read every session, scored and logged releases, and tested read-only guards.
  • Watch outVisual checks were the bottleneck, and overrides of the release bar must be logged with the evidence still owed.

The app behind most of the O evidence in this guide is a production partner-sales app: an opportunity tracker, an email workspace, customer and contact views, and a read-only view of data another team owns. It was built with Copilot Code, released from parallel sessions, and examined read-only for this guide on 7 November 2026. O

The case-study app by the numbers

Units: as labelled on each tileSource: section 24.1Evidence O

  • 4 days, first commit to 7 November4 to 7 November 2026O section 24
  • 53 commits in those daysFrom parallel sessionsO section 24.1
  • 576 files under version control477 app source, 69 tests and toolsO section 24.1
  • 495 tests passingPlus a screen check and a release scanO section 24.1
Show the data
ItemAs statedUnitEvidencePartSource
days, first commit to 7 Novemberfour days, 53 commitsdaysO24In the part text
commits in those days| 53 |commits by 7 November 2026O24 (24.1)In the part text
files under version control576files under version controlO24 (24.1)In the part text
tests passing495 passingtests passingO24 (24.1)In the part text
24.1

By the numbers

MeasureValue
First commit4 November 2026
Commits by 7 November53
Files under version control576, of which 477 are app source and 69 are tests, fixtures and tools
Bound connectorsSharePoint, Office 365 Outlook, Office 365 Users and the Work IQ Copilot MCP connector
Tests495 passing in the latest local run, plus a screen check and a release scan
Release bar90 out of 100 with hard gates (rubric version 2.1)
Libraries added beyond the templateNone

24.2

How it was run

Each initiative had its own spec in the repository: a single-email specification with seven staged releases behind switches, and a separate plan for a combined partner view. The rubric was read at the start of every session that changed the app, every release was scored and logged, and when the agent had no browser it posted a preview checklist for the owner instead of claiming a visual check it had not done. Hard rules that had to survive across sessions, such as never writing to another team's system, were kept both in the code (as a tested read-only guard) and in saved memory. O

24.3

What went right

  • The old email composer is being retired in planned stages; the first stage went live with every switch off and scored 91.
  • Tests and the release scan caught regressions before users did.
  • The fetch-first habit found "lost" work twice, already live from another session.
  • The read-only boundary with another team's system held, enforced by code and a test.

This is the app's own Work IQ pattern, the canonical copy of which sits in section 14.4.

24.4

Lessons

  • Visual verification was the bottleneck. Most releases lost points only on preview items because no agent browser was available; scripted Chromium screenshots and a Cowork walk-through would close most of that gap. OI
  • The bar only works if overrides are visible. Two releases shipped below 90 by a logged owner override, and both are logged with the evidence still owed. O
  • Direct pushes were refused in some sessions, so the one-call publish became the normal release path. O
  • A layout squeeze at about 900 pixels has sat in the known-issues backlog; known issues need owners and dates like anything else. O
  • The repository is approaching the size at which others have reported fetch errors; plan for it rather than discovering it during a release. OC

Part 25

What people are building

  • What it isPublic builds, costs, habits, pain points and comparisons reported by the community, with each source named.
  • What you doUse these reports to set expectations and budget per app, and build the data layer before the screens.
  • Watch outCommunity reports are not confirmed by Microsoft, and entries marked unverified have no source link in the research.

Public evidence is still thin for the newest tools. Copilot Code began rolling out to Frontier tenants in late October, and Copilot Studio Apps coverage is mostly licensing explainers, so most hands-on reports concern Cowork's App skill and the older App Builder agent and Power Apps tools. Searches found no meaningful Reddit, Hacker News or X discussion of these products as of this edition. C

What whole-app builds have cost, against per-task planning bands

Units: Copilot credits per build, log scaleSource: section 25.1, section 2.3Evidence C C · unverified

Per-task bands, 25 to 200-plus101001,00010,000 creditsSpace Invaders, Copilot Code: 267 credits (community report, unverified)Space Invaders, Copilot Code267 credits, unverifiedFrogger, Copilot Code: 374 credits (community report, unverified)Frogger, Copilot Code374 credits, unverifiedTime tracker rebuild, Copilot Code: 669 creditsTime tracker rebuild, Copilot Code669 creditsHubSpot-style CRM, Copilot Code: 5,415 creditsHubSpot-style CRM, Copilot Code5,415 creditsPer-task bands, 25 to 200-plus101001,00010,000 creditsSpace Invaders, Copilot Code: 267 credits (community report, unverified)Space Invaders, Copilot Code267 credits, unverifiedFrogger, Copilot Code: 374 credits (community report, unverified)Frogger, Copilot Code374 credits, unverifiedTime tracker rebuild, Copilot Code: 669 creditsTime tracker rebuild, Copilot Code669 creditsHubSpot-style CRM, Copilot Code: 5,415 creditsHubSpot-style CRM, Copilot Code5,415 credits

Hollow dots are community figures with no source link in the research (marked unverified in section 25.1). Budget per app, not per task.

Show the data
ItemAs statedUnitEvidencePartSource
Space Invaders, Copilot Code (unverified)267creditsC25 (25.1)In the part text
Frogger, Copilot Code (unverified)374 creditscreditsC25 (25.1)In the part text
Time tracker rebuild, Copilot Code669 creditscreditsC25 (25.1)Source
HubSpot-style CRM, Copilot Code5,415 creditscreditsC25 (25.1)Source
Per-task planning bands25 to 200-plus creditscredits per task (planning bands)C2 (2.3)Source
25.1

Notable builds

BuildToolWhat stands outReported by
SharePoint CRM with a drag-and-drop pipeline, company and contact workspaces, activities and a dashboardCowork App skill, with the lists created by Copilot in SharePoint from a Markdown schemaBuilt in a little under an hour for about US$46.54 in credits, from an as-built schema documentDaniel Anderson, 11 Sep 2026
Project Delivery Command Center on a live SharePoint list, with search, filters and write-backCoworkIncludes an admin and governance walkthroughReza Dorrani, YouTube, Oct 2026
A team suite: scrum, scheduling, career management and AI adoption maturityCoworkPlus a custom skill that writes the documentation, a training deck and an accessibility reportClay Wesener, Microsoft, Sep 2026
An agent-driven CRM: a Cowork plugin writes records and a managed app displays themCowork plugin and managed appAsked Microsoft for deep links into a record, which are not supported yetGitHub issue 60, 5 Nov 2026
A Cowork-built app extended with about 1,000 GitHub Copilot agent, instruction and skill filesCowork, then developer toolingThen hit a repository fetch errorGitHub issue 48, 29 Oct 2026
Tic-tac-toe and a potluck organizerCoworkA tour of where apps are saved and of connector, sharing and CSP settingsDaniel Christian, 18 Oct 2026
A street-racing game, a gamified adoption app with quests and XP, and room booking from a floor-plan imagePower Apps code apps and vibeMinutes per buildMarkus Franz, conference recap
A personal Power Platform admin center, "100% AI coded"A code app with an external coding agentRoles from Excel, solution deployments, flow runsDavid Wyatt, 14 Jun 2026
Bid management on Dataverse with an email-triggered workflow and an evaluation agentCopilot StudioApp, flow and agent designed togetherMicrosoft Mechanics, 6 Oct 2026
One app moved from Cowork to Code to Copilot StudioAll threeA live demonstration of the shared runtimeMicrosoft demo, 21 Oct 2026
A HubSpot-style CRM: 13 lists and 3 libraries, drag-and-drop deals and activity linkingCopilot Code, plan mode first, on SharePointPlan mode returned the information architecture in about two minutes; the build cost 5,415 credits (about US$54)Daniel Anderson, 23 Oct 2026
A canvas time tracker rebuilt as a managed app: 7 Dataverse tables, 5 screensCopilot Code with effort set to HighBuilt from an attached spec, an ERD and screenshots in under an hour for 669 creditsNick Doelman, 24 Oct 2026
An equipment-loan app on a SharePoint listCopilot CodeRebuilt from a canvas app in about 10 minutes, with a cost comparison against Power Apps PremiumPowercademy; Can Dedeoglu, 2 Nov 2026
Space Invaders and FroggerCopilot CodePlayable games for 267 and 374 creditsDaniel Anderson, Oct 2026 C · unverified
Apps calling Copilot Studio agents, a Fabric SQL database and Power BI semantic modelsCode and the CLIIntegration-heavy builds, each of which ran into a policy or harness limit firstGitHub issues, Oct to Nov 2026

25.2

What successful builders have in common

  • They build the data layer first and hand the agent an as-built schema.
  • They name every list, table and site explicitly.
  • After each test action they open the backing list; it shows the bug before the screen does.
  • They plan first and work in passes, testing each pass before saying "Continue".
  • They watch cost as they go, with /cost in Cowork.
  • They keep an exit: source they can export, and data in SharePoint or Dataverse that they can open themselves.
  • They test sharing with an account that doesn't own the app.

25.3

Pain points people report

Re-check after Ignite
  • Apps that look finished before the data actually saves.
  • People pickers that don't resolve users.
  • Confusion about licensing and runtime credits for the people who use the app.
  • The contradiction in the documentation about whether sharing an app shares its data.
  • Churn: the App Builder agent and vibe.powerapps.com retire on 30 November 2026; one-click Migrate app goes to Apps in Copilot Studio only, and moving to Cowork is a manual rebuild D; and the SDK packages are being renamed.
  • CLI and SDK rough edges: an ambiguous Dataverse connector option, no agent-runtime operation for calling Copilot Studio agents, clone problems on macOS, route errors.
  • No deep links into a specific record or page.
  • No app events seen in the Purview audit log yet.
  • Agents quietly creating mock data locally that "looks great until you realize nothing is hitting Dataverse"; ask every build summary to confirm it uses live data only. C
  • Whole-app builds costing far more than per-task planning bands suggest: 669 and 5,415 credits against bands of 25 to 200-plus credits per task. C
  • Testing against a separate test database isn't possible inside one app, because a managed app always uses the data source configured during development. C

25.4

How people compare it

Against consumer tools such as Lovable and Bolt, the most-quoted verdict, from Daniel Anderson, is that a Copilot-built app runs inside Microsoft 365 under your own permissions, with its data in lists you can open yourself. C Lovable itself now deploys into Microsoft tenants through the Copilot Managed Runtime SDK, which makes the runtime, not the builder, the thing being compared. D Against developer agents, one commercial commentator (Ritesh Agarwal, Appycodes) argues the real advantage is work context, and the real gap is everything a business user doesn't think to specify: row access, validation, audit and rollback. C Skeptics advise treating early Copilot Studio drafts as sketches (Helen Jones, Collab365). No credible head-to-head comparisons with v0, Replit, GitHub Spark or Retool were found. C

  • Against Power Apps canvas apps: "Power Apps is not dead, at least not yet," with open questions about ALM, sharing control and Dataverse security roles (Nick Doelman). Others describe managed apps as an evolution of Power Apps code apps on the Microsoft 365 side (Sean Astrakhan). C
  • On governance: Copilot Managed Runtime moves governance from the build tools "to the place their code runs," with a Power Platform environment behind every app (Holger Imbery). C
  • On maintenance: these are real code apps whose dependencies age, so someone has to own updates (an Ask HN thread); and "the gap is everything a business user cannot be expected to specify" (Appycodes). C
  • On cost: builders now pay too, because Microsoft won't let the builder become a free model endpoint (Jukka Niiranen); and Microsoft 365 or Dynamics 365 use rights don't cover running these apps (Holger Imbery). C

Part 26

The frontier: patterns almost nobody is using yet

  • What it isThirty-two app patterns built from documented or observed pieces that almost nobody uses yet, plus what isn't possible today.
  • What you doPick a pattern, run the check in its last column in your tenant first, and ask for any admin exception early.
  • Watch outEvery pattern needs a tenant test, and several depend on actions or connectors outside the default policy.

Every pattern below is built only from documented or observed pieces, but almost none appear in public examples yet. Each needs a tenant test, and some need an admin exception; the last column says what to check first. I

32 rows
PatternBuilding blocksCheck first
1. Field inspection kit: photo, barcode, signature, PDF reportTemplate camera, barcode and pen controls; PDF export; a SharePoint list and libraryCamera permission in the player and on phones; attachment sizes
2. Asset check-in kioskBarcode control, a Dataverse or SharePoint table, keyboard shortcutsHow a shared device signs in
3. Work IQ brief beside every recordWork IQ Copilot MCP connector, Office 365 Users, the record's listLatency (timeouts, retries, cache) and Work IQ billing
4. Draft-and-approve outreach deskOutlook connector (draft, read back, update, send), recipient guards, an outreach log listSend checks on every path; do-not-contact data
5. Read-only cockpit over another team's systemTable-mode bindings with read-only adapters and testsThe data owner's agreement; a kill switch
6. Permission-trimmed case workbenchDataverse with security roles; SharePoint documentsRoles set before launch
7. Meeting-to-commitment trackerOutlook calendar, Planner, Teams, a SharePoint status listWhich actions are allowed
8. Release readiness cockpitAzure DevOps connector, Planner, Teams, Dataverse decisionsAzure DevOps actions allowed in the policy
9. Bookings exception deskMicrosoft Bookings, Outlook, an exceptions listBookings operations allowed
10. Policy attestation trackerSharePoint policy files, Dataverse attestations, Outlook remindersServer-side permissions on attestations
11. Analytics with write-backPower BI ids looked up in Code; Dataverse or SharePoint for decisionsFraming in the content security policy; Power BI licensing
12. 3D product or part viewerTemplate 3D viewer reading glTF or STL from SharePointFile sizes
13. Training quest or adoption gamethree.js in the template, a scores listKeyboard and screen-reader access
14. Daily self-test by CoworkA Cowork schedule plus browser use: open the play link, check totals, post results to TeamsAdmin opt-in for browsing; credits
15. App, agent and flow togetherA Copilot Studio agent and a Power Apps-trigger flow, bound from the appFlow binding for managed apps is undocumented; the Copilot Studio connector needs an exception
16. Pilot rings for featuresFeature switches read per user or group from a SharePoint config listNew code still needs a release
17. Personal store per userA JSON file in each user's OneDrive with a local cacheMerge rules across devices
18. Spec-to-test traceabilityNumbered DESIGN.md items mapped to tests; the release scan fails on unmapped itemsDiscipline
19. Scripted visual regressionChromium screenshots of every route at two widths, compared release to releaseFixture data and flaky renders
20. Help desk grounded in Microsoft LearnMicrosoft Learn Docs MCP serverPublic documentation only
21. Fabric-backed analytics appFabric MCP serverWhich operations your admins allow
22. Bring your own buildms CLI with --repo none and external artifactsOff by default; you own supply-chain checks
23. Goal check-in desk on Power BI scorecardsPower BI connector actions to read goals, create check-ins and add notes; no freeform queries neededScorecard permissions; which goal actions your policy allows
24. One-click board packPower BI "Export To File" for a filtered report, then an Outlook draft with the PDF attachedExport needs capacity-backed workspaces; keep sending as a draft
25. Refresh-after-entryThe app writes adjustments, then calls the Power BI "Refresh a dataset" action so the report catches upRefresh limits per day on your capacity
26. Agent quality consoleCopilot Studio connector actions to run evaluation test sets and read test runsCopilot Studio connector needs a runtime exception
27. Cowork night shiftA Cowork scheduled prompt reads the app's list each morning, posts overdue items to Teams and drafts follow-ups for approvalInclude record ids in messages, since record deep links aren't supported
28. Inbox-to-app intakeA Cowork event trigger on matching mail creates a record; the managed app is the review screenTriggered actions draft for approval by default
29. Project as the app's memoryOne Cowork Project holds the spec, ERD, as-built schema and instructions, which take precedence over global instructionsFiles can't yet be removed from project outputs
30. Release-pack skillA custom skill that writes release notes, a training deck and an accessibility report for each versionSkill limits: 50 skills, 1 MB per SKILL.md
31. 3D and maps inside the default policyBundle three.js locally; draw static SVG maps instead of loading tilesWorker-based loaders and tile servers need admin-approved origins
32. Fabric-backed app dataThe plugin's feature-gated backend workflow stores data in Fabric so Power BI can report on itPreview, and announced rather than shipped in Copilot
26.1

Not possible today, and what to do instead

  • Offline use or an installable app: service workers are blocked by the default content security policy. D
  • Direct calls to arbitrary web APIs: they need an admin-approved origin, and "Send an HTTP request" actions are blocked by default. D
  • Deep links into a specific record or page: not supported yet; show a recent-items list on the home screen. C
  • A dev, test and production pipeline for one app: only preview and live exist; use feature switches or a second app for user testing. DI
  • Microsoft Graph from app code: no token path is documented; use connectors. DI
  • Embedding the app in Teams or SharePoint: not documented for managed apps, and framing needs admin changes to the content security policy. D

Guest and partner access is the most common request on this list, so the alternatives are spelled out here.

Part 27

Troubleshooting and known limits

  • What it isCommon symptoms, their likely causes and fixes, and the known limits of this edition.
  • What you doFind the symptom in the table, apply the fix, and read the related part for detail before you escalate.
  • Watch outSome causes come from community reports, so read the evidence tag before you treat a fix as settled.
30 rows
SymptomLikely causeFix
The app looks done but nothing savesThe source was never bound, so screens run on sample dataAsk which screens use sample data, bind the source by its exact name, then check the list after a test save
A connector shows as allowed but calls fail with 403Runtime connector policy, a blocked action, or mixed connector policy and DLPCheck the environment group's connector rule and the action toggles with your admin
Something silently doesn't loadThe content security policy blocked itRead the browser console's CSP message and ask for one narrow origin to be added
Users see a consent prompt or "connection needed"First open, or an expired connectionApprove once; owners check connection status before releases
A user can't open a shared appNot in the environment security group, a guest, or no license or creditsCheck the group, the user type and the spending policy
Users are blocked after a few minutesNo Power Apps Premium and no runtime creditsAssign Premium or add them to a managed-applications spending policy
The live app doesn't show the changeBuilt or pushed but not deployed, or an older commit deployedDeploy the remote tip and confirm on the live link
A deploy shipped an older versionThe latest build failed and the deploy fell back to the last good buildRead the build log, fix, redeploy the intended commit
git push refused as "disabled"The session blocks direct pushesUse the one-call publish, which pushes, builds and deploys
Fetch fails with an I/O or write errorWorkspace file system or repository sizeRetry with core.logAllRefUpdates turned off; keep an eye on the object count
Environment setup in progress Your developer environment is being created on first useWait about two minutes and retry
A tester can't open the previewThe preview needs repository write accessTest on live behind a feature switch, or give edit access only to co-owners
A Work IQ panel spins foreverLong-running calls or throttlingA three-minute timeout, one retry on 429 or 5xx, a per-user cache and a visible error
A Dataverse table can't be foundPersonal developer environments start without DataverseAdd Dataverse to the environment in the Power Platform admin center
Excel data stops at 256 rowsThe connector's default page sizePage through results, or move the data to a list or table
You can't link to a specific recordDeep links aren't supported yetLink to the app and show recent items on the home screen
Two sessions keep undoing each otherNo locking, overlapping scopesOne scope per session; fetch and rebase; handoff notes
A method you expected is missing from generated/Policy filtered the operation out before code generationCheck the connector's action-level policy; ask for an exception (section 16.7) or use another action
Works in the local loop, fails after publishingA Conditional Access challenge or consent the hosted app hasn't gotTest the published preview with an ordinary user; read the status code and response body together
Only some recipients were sharedUnresolved email addresses are skipped with a warningRe-run with object ids and check ms app share list --access play
The SharePoint binding is refusedRoot site, OneDrive or an unusual site URLMove the list to a plainly named site under /sites/ or /teams/
The app can't call a Power Automate flowThe Logic flows connector is blocked or not on the runtime allow-listHave the app write a record that triggers the flow instead (Part 13)
The play link shows RouteNotFound but the preview link worksAn open platform issue reported in some regionsTest with the preview link and report the app id on the GitHub repository C
Power BI "Run a query" isn't generated or is reported as blockedThe default runtime policy blocks freeform queriesAn admin allows that action in the environment group's policy, or use another pattern (Part 12) CD
The admin center says no connectors are allowedAn older environment group without an advanced connector policyCheck the group's connector policy and data policies in the Power Platform admin center D
ms app clone fails on a MacA reported libcurl problemClone on Windows or Linux until it's fixed C
A Copilot Studio agent can't be called from the appOnly standard agents are callable; agents on the GitHub Copilot harness aren't yetUse a standard agent for app calls C
SQL actions return 404A routing bug in an older SDKUpgrade the SDK; table-mode reads were unaffected C
The Code tab doesn't appear in the Windows appCode on the desktop needs the unified Copilot app, the right channel and, for local sessions, an admin opt-inUse the web at copilot.cloud.microsoft for cloud sessions, and ask your admin about desktop access (Part 3) D
Cowork can't bind to an existing SharePoint siteA Graph permission error that needed an adminAsk an admin before a demo, or use a site you own C
27.1

Known limits in this edition

  • Guests can't open apps, and there is no offline mode.
  • No deep links into a record or page.
  • No documented ownership transfer or co-owner model.
  • No managed-app events documented in the Purview audit log.
  • No manual retry for a failed platform build.
  • The preview is visible only to people with repository write access.
  • In Code cloud sessions the interactive browser was switched off and code edits are local only.
  • Cowork's browser use needs Edge on the web and an admin opt-in.
  • The admin inventory can lag by up to 15 minutes, and alert rules are limited per tenant.

Part 28

Templates you can copy

  • What it isTemplates to copy: prompts, DESIGN.md and QUALITY-RUBRIC.md skeletons, a release log entry, checklists, a list specification, an exception request and an announcement.
  • What you doCopy the templates into your repository on day zero and replace the placeholders with your app's details.
  • Watch outA template helps only if every session reads it, so keep the prompts and rubric in step with your own files.
  • 28.1

    Kickoff prompt

    Plan only; don't build yet. We are creating [app name] for [users] so they can [outcome], and we will know it works when [measure]. Data: [system of record with exact site, list or table names]. These sources are read-only and must never be written to: [list]. Create README.md, DESIGN.md (numbered, testable items; data contract; navigation rules: every screen names itself and has a one-click Back link; out of scope), DECISIONS.md, QUALITY-RUBRIC.md (release only at 90 of 100 with hard gates), RELEASE-LOG.md, HANDOFF.md and src/features.ts. List which screens will run on sample data and why. Ask me what you need as multiple-choice questions, then show me the plan.

    This is the same kickoff prompt as section 18.4, with both read-only and rubric rules restored.

  • 28.2

    Session-start prompt

    Fetch the app and compare with the remote main. Read DESIGN.md, QUALITY-RUBRIC.md, RELEASE-LOG.md and HANDOFF.md. Tell me what is live, what is committed but not released, what is in progress in other sessions, and the next step. Don't change anything yet.
  • 28.3

    Release prompt

    Release this change. Run the machine checks and show the output. Render the changed screens at 1280 and 390 pixels and show me the screenshots. Score it against QUALITY-RUBRIC.md with evidence for every item. If it is 90 or more with every gate passed, pull with rebase, publish, confirm that the live app holds the change, and log the scorecard. If not, list the missing points and how to earn them, and stop.
  • 28.4

    DESIGN.md skeleton

    SectionWhat to write
    Purpose and usersOne paragraph: the problem, who it is for, the measure of success
    Numbered spec itemsD1, D2 and so on: each something a person can see or click, including empty, loading and error states
    Data contractFor each source: system, exact name, table or action mode, fields used, read or write, owner
    NavigationScreen map; every screen names itself; Back links; shared switches between sibling modes
    Sample dataWhich screens use sample data, and the date it must be replaced
    Out of scopeWhat you chose not to do, and why
    Open questionsEach with an owner and a date
  • 28.5

    QUALITY-RUBRIC.md skeleton

    SectionContent
    Release barRelease only at 90 out of 100 with every hard gate passed
    Release runThe nine steps in section 20.1
    Machine checksThe commands, what each covers, what blocks a release
    Scoring rulesNo evidence means zero; half points; when not applicable is allowed
    Hard gatesThe list in section 20.3
    The 100 pointsAreas A to J with item-level criteria
    House styleSpelling, words to avoid, visual rules
    Known issuesEach with a date, an owner and a severity
    Scorecard logOne entry per release
  • 28.6

    Release log entry

    FieldExample
    Date and time2026-11-07 13:30 CST
    Commite4f5a6b
    Spec itemsD1 to D4 done; D5 deferred, agreed in chat
    Score91 out of 100 (area C at half points: checked at one width only)
    GatesAll passed
    EvidenceCheck output, 495 tests passing, scan clean, screenshots at 1280 and 390
    Still owedOwner's preview checklist items 3 and 4
    Rollback pointa1b2c3d
  • 28.7

    Preview checklist for the owner

    NumberCheck
    1Spec item 1: where to click and what you should see
    2Spec item 2: where to click and what you should see
    3Make the window phone-width: nothing overlaps, cuts off or scrolls sideways
    4Press Tab through the changed screen: you can see where you are, and Enter works
    5Anything misaligned, cramped or off-brand? Reply with the numbers that fail, or "all good"
  • 28.8

    Handoff note

    HeadingWhat to write
    Live nowThe deployed commit and what it contains
    Committed, not releasedCommits held back, and why
    In progressFiles or branch, and their state
    Next stepThe single next action
    Watch outAnything fragile, and any shared file you changed
  • 28.9

    SharePoint list specification

    Keep one table like this per list in DESIGN.md, and paste it into the prompt that creates the list.

    Display nameInternal nameTypeRequiredIndexedNotes
    TitleTitleSingle line of textYesNoShort summary shown in lists
    StatusRequestStatusChoice: New, In review, Approved, RejectedYesYesDefault New; changed only by the approval flow
    RequesterRequesterPersonYesYesFilled from the signed-in user
    Due dateDueDateDate onlyNoYesUsed for the "due this week" view
    AmountAmountCurrencyNoNoValidation: greater than zero
  • 28.10

    Admin exception request

    There is no self-service exception request, so make the admin's decision easy. Send one message with these fields, and ask for the narrowest change, at the group level. DI

    FieldWhat to write
    AppName, app id, environment and environment group
    Change requestedThe exact connector and action, MCP server, or content security directive and origin (copy the blocked origin from the browser console)
    WhyThe business justification: the outcome and who benefits
    DataClassification of the data that will flow, and its system of record
    Scope and durationGroup level or narrower; permanent or until a date; report-only mode first for content security changes
    EvidenceReproduction steps, the blocked origin or error from the browser console, and test results from a preview build
    OwnerBuilder, backup owner and the admin contact who approved it

    Copy these fields into the message you send your admin.

  • 28.11

    Sharing announcement

    "Hi team, [app name] is ready: [play link]. It helps you [outcome]. Open it in your browser while signed in to your work account; the first time, approve the connection to [data source] when asked. You'll only see the [records] you already have access to in SharePoint. It's also listed at managedapps.cloud.microsoft. Questions or problems: [support contact] or the Feedback button in the app."

Part 29

Appendices

  • What it isReference material: the ms CLI, the admin settings map, where sources disagree, a glossary and the sources used.
  • What you doUse Appendix B to find a switch, and Appendix C to decide what to do when sources conflict.
  • Watch outAdmin paths and package names move often, so search the admin center for the setting name if a path has changed.
  • Appendix A

    ms CLI quick reference

    The CLI is published as @microsoft/managed-apps-cli and invoked as ms; Learn still documents it under that name, while the new GitHub repository lists @microsoft/cmr-cli. It needs a recent Node LTS, Git and Git Credential Manager, and every command accepts --json, --non-interactive, --no-color and --cloud. DC

    GroupCommandsNotes
    Sign inms auth login, logout, status, switch; ms git auth refreshThe Git command maps your Entra identity to GitHub for your own repositories
    Createms app create, clone, init--repo <url>, --repo none or the platform repository; the choice is fixed
    Connectorsms connector list, list-actionsSee what your environment allows
    Data sourcesms app add, remove, refresh data-sourceTable or action mode; regenerates the typed clients
    Developms app devLocal loop with a config server; open it in the same browser profile as your tenant
    Build and deployms app pack, build, build-status, deploybuild-status --show-log for failures; deploy --commit to pin; deploy --artifact for external builds where allowed
    Runms app play--mode live or preview
    Sharems app share, share list, unshare; ms app share link create, list, revokePlay or edit; tenant-wide links only here
    Managems app list, show, info, get-settings, set-setting, deletedelete leaves your local code and the repository
    Telemetryms telemetry enable, disable, statusCLI telemetry only

    GitHub Actions can install the CLI, pack and deploy with a service principal for apps created without a repository. Microsoft's coding-agent plugin adds the same lifecycle as slash commands inside GitHub Copilot and compatible agents. D

  • Appendix B

    Admin settings map

    Re-check after Ignite

    Where each switch mentioned in this guide lives, as of 7 November 2026. Paths change often; search the admin center for the setting name if a path has moved. D

    SettingWhereDefault
    Frontier enrollmentMicrosoft 365 admin center, Copilot, Settings, View all, Copilot FrontierNo access
    Cowork access and budgetMicrosoft 365 admin center, Copilot, Cost Management, Configuration, + Add spending policy, select CoworkNo policy, no access
    Code accessThe same spending policy flow, selecting Code. Copilot Code is gated by a Copilot spending policy that includes Code, plus Frontier membership and, on Windows, the Beta channel. There is no separate Code on/off switch, but your admin has to act; it is not automatic for everyone.No access until your admin acts
    Code local sessionsCode admin settings in the Microsoft 365 admin center: Code execution location, Cloud and localCloud only
    Code on the Windows desktopUnified Copilot app rollout opt-in, plus the Beta update channel through EdgeUpdate policyNot opted in
    Cowork Browsing (local browser)Cowork tenant settingsOff
    App creation pathsMicrosoft 365 admin center, Apps, Overview, Set up app creation spacesCowork through Frontier on; CLI off; Copilot Studio on
    CLI app creationPower Platform admin center, Copilot, Settings, Managed apps, or an environment-group ruleOff
    Copilot Studio appsTenant setting enableManagedAppsMcsPreview (pac admin update-tenant-settings)On
    Connectors, actions and MCP servers for appsMicrosoft 365 admin center, Apps, Settings, Environment groups, the group, Edit this policy18 connectors, 12 MCP servers
    Content security policyThe same environment group's content security settings, per directive, with report-only modeSame origin
    Organization and guest sharing for appsThe same environment group's Sharing ruleOrganization on; guests can't open apps
    Environment security groupPower Platform admin center, Manage, Environments, the environment, Edit, Security groupNone
    External artifact deploymentEnvironment-group rule or environment settingOff
    Developer environment assignmentPower Platform admin center tenant settingsPer tenant
    Runtime spending policyMicrosoft 365 admin center, Copilot, Cost management, a policy for Copilot Managed RuntimeAuto-apply on
    App inventory, block and deleteMicrosoft 365 admin center, Apps, All appsVisible to Global, Power Platform, AI and Global Reader roles
    Monitoring and alertsMicrosoft 365 admin center, Apps, All apps, the app, MonitorUp to five alert rules per tenant
    Teams posting from appsTeams admin center: allow the Workflows appTenant dependent
  • Appendix C

    Where the sources disagree

    TopicOne source saysAnother saysWhat to do
    Sharing and dataCowork: anyone with the link can use the app "including its data"Code and Studio: sharing never grants data accessTest with a non-owner account; check for shared connections
    Editing code in CodeFAQ: switch to code view and edit directlyUse page: editing is local onlyPlan on local sessions for hand edits
    Code memoryApplication card: conversation-scopedObserved: saved memories carried across sessions in an example tenantKeep rules in repository files
    Package namesLearn: @microsoft/managed-apps-cliGitHub: @microsoft/cmr-cli and cmr-appsPin versions; watch the repository
    Portal addressLearn: managedapps.cloud.microsoftA September blog: a .com variantUse the Learn address
    CLI --cloud valuesLearn: public, usgov, usgovhigh, usgovdod, chinanpm readme: prod, gccmoderate, gcchighCheck ms --help for your version
    GuestsOne page: org links can include guests when allowedGovernance page: guests can't open appsAssume no guest access
    Repository modesInner-loop page: "two modes"Same page lists threePlatform Git, your GitHub Enterprise repo, or none
    Alert rulesEnglish page: 5Another language version: 10Plan for 5
    Frontier licenseLearn: a Microsoft 365 Copilot license is required to enrollMessage center, 28 Oct: no longer requiredIrrelevant for app building, which still needs the license
    Code on a MacLearn: desktop app for Windows and MacRollout notice: Windows app and the webTreat Mac as cloud sessions only for now
    Code languagesFAQ: English at this releaseRequirements: all Copilot languagesTest in your language
    Who can open a Cowork appBuild page: people who can use Microsoft Copilot; migration page: recipients need Microsoft 365 CopilotAdmin FAQ: no Microsoft 365 Copilot license is needed to run an appPlan on Premium or credits; test with an unlicensed colleague
    Node.js versionLearn: 24.11.0 or laterPlugin README: Node 22 or laterUse 24.11 or later
    Excel bindingCode: action mode, including row operationsCLI: table-mode pickerFollow the tool you build with
    FormsRuntime policy: on the default allow-listConnector reference: not available for Power AppsCopy responses into a list with a flow
    Local sessionsLearn: secure local execution is on by defaultA community test: local mode ran without a sandboxCheck the setting before opening sensitive folders
  • Appendix D

    Glossary

    TermMeaning
    Copilot Managed RuntimeMicrosoft's hosting and governance layer for apps built with Copilot and compatible tools
    Managed appAn app hosted by Copilot Managed Runtime
    Play linkThe app's URL, play.managedapps.cloud.microsoft/apps/{id}
    Personal developer environmentThe isolated, managed Power Platform environment each maker's apps live in
    Environment groupThe admin unit that carries routing, connector, sharing and CSP rules
    Connection referenceThe entry in ms.config.json that ties a bound connector to the app
    Table mode and action modeThe two ways to bind a source: one table as CRUD, or a connector's operations as methods
    Shared connectionA connection that runs as one identity for everyone, limited to declared actions
    Preview and liveThe latest good build of main, visible to repository writers, and the deployed build users see
    Work IQMicrosoft 365 work context (mail, meetings, files, chats) exposed to Copilot and to apps through MCP servers
    MCP serverA Model Context Protocol endpoint an app or agent can call; 12 Microsoft servers are allowed by default
    FrontierMicrosoft's early-access program, required for Code and the Cowork App skill
    Feature switchA setting that hides unfinished work in the live app
    Spending policyThe Copilot cost-management rule that both budgets and grants access to Cowork, Code and managed-app runtime
    Advanced connector policyThe newer Power Platform connector governance that sits beside classic data policies; the most restrictive result applies
    Content security policyThe browser rules for what an app may load, call or frame; same-origin by default for managed apps
    Unified Copilot appThe Microsoft Copilot desktop app that carries the Chat, Cowork and Code tabs
    Secure local executionThe Windows 11 24H2 sandbox for Code's local sessions: allowed folders, blocked paths and network rules
    Microsoft App ReaderThe role a play share or an organization link grants: run the app, nothing more
    Fabric IQMicrosoft's semantic layer over Fabric and Power BI models, reachable by plugins and an MCP server as the signed-in user
    Correlation idA unique value the app writes with each request so a flow processes it exactly once
  • Appendix E

    Sources

    All sources were accessed on 7 November 2026; dates in parentheses are the pages' published or last-updated dates where shown. Links are written out because this document keeps them as plain text.

    • What is Copilot Managed Runtime (Microsoft Learn, updated Oct to Nov 2026): learn.microsoft.com/microsoft-365/copilot-managed-runtime/
    • Copilot Managed Runtime overview and key concepts for admins (13 Oct 2026): learn.microsoft.com/microsoft-365/admin/manage/apps/
    • Default governance settings for apps (3 Nov 2026): learn.microsoft.com/microsoft-365/admin/manage/apps/governance
    • Security and governance; architecture; connect to data; shared connections; content security policy; dev inner loop; share an app; collaborate; GitHub Actions; quickstarts (Sep to Nov 2026): learn.microsoft.com/microsoft-365/copilot-managed-runtime/developer/apps/
    • CLI command reference (5 Nov 2026): learn.microsoft.com/microsoft-365/copilot-managed-runtime/developer/apps/ms-cli-command-reference
    • App inventory, monitoring, licensing FAQ, admin FAQ (Sep to Oct 2026): learn.microsoft.com/microsoft-365/admin/manage/apps/
    • Copilot Code overview (14 Oct 2026), Get started (27 Oct 2026), Use Copilot Code (20 Oct 2026), FAQ (6 Oct 2026), requirements, admin, GitHub, secure local execution, application card: learn.microsoft.com/copilot/code/
    • Build apps in Copilot Cowork (6 Nov 2026), Use Cowork, Customize, Projects, Plugins, Models, Local browser (23 Oct 2026), Admin and governance, FAQ, What's new: learn.microsoft.com/copilot/cowork/
    • Copilot credits cost and /cost (3 Nov 2026): learn.microsoft.com/copilot/implement/usage-based-billing-copilot-credits-cost
    • Power Apps code apps documentation (Aug to Oct 2026): learn.microsoft.com/power-apps/developer/code-apps/
    • Copilot Studio apps overview, data and connections, publish and share, FAQ (Sep 2026): learn.microsoft.com/microsoft-copilot-studio/
    • Build apps with Microsoft Copilot (Frontier), App Builder support article (Oct 2026): support.microsoft.com
    • Blog: Build apps in Copilot Cowork and Copilot Studio, Ryan Cunningham (10 Sep 2026): microsoft.com/copilot/blog
    • Blog: Build where you want, run with confidence, David Blyth (25 Sep 2026): microsoft.com/copilot/blog
    • Copilot Cowork announcements (9 Mar, 30 Mar and 16 Jun 2026); Copilot Code announcement (25 Sep 2026) and rollout post (21 Oct 2026)
    • GitHub: microsoft/Copilot-Managed-Runtime and the archived microsoft/Managed-Apps (issues 29, 41, 42, 43, 47, 48, 55, 60, 61); microsoft/PowerAppsCodeApps
    • Message center MC1479277 (Copilot Managed Runtime public preview) and MC1505609 (App Builder and vibe retirement)
    • Microsoft Ignite 2026: the LAB668 Copilot Managed Runtime lab and the session catalog listed below
    • Community: Daniel Anderson (danielanderson.io, Sep 2026), Reza Dorrani (YouTube), Daniel Christian (YouTube, Oct 2026), David Wyatt (dev.to), Holger Imbery (Oct 2026), Forward Forever, Power Apps Guide, SharePains, Collab365, 2toLead, Power Platform Engineer, Appycodes
    • Agent practice: Claude Code, GitHub Copilot, OpenAI Codex and Cursor documentation on plan modes and instruction files; Anthropic engineering posts on long-running harnesses (Nov 2025, Mar 2026); GitHub Spec Kit; Kiro; Birgitta Böckeler on spec-driven development; Simon Willison; Addy Osmani; Kent Beck; OWASP Secure Coding with AI; Playwright accessibility testing
    • First-hand observation: a Copilot Code cloud session and the repository of a production managed app, 7 November 2026
    • Cowork admin and governance, spending policies, models and local browser; Copilot Code requirements, admin settings, secure local execution and deploy-the-unified-app pages (Microsoft Learn, 21 to 28 Oct 2026): learn.microsoft.com/copilot/
    • Frontier program settings (Microsoft Learn) and Message center MC1519871 (Copilot Code rollout, 21 and 28 Oct), MC1519856 (Projects), MC1529472 (Frontier changes), MC1469329 (Copilot Studio apps)
    • Copilot Managed Runtime pages for sharing, collaboration, connect to data, shared connections and the SDK (Microsoft Learn, 3 to 6 Nov 2026), and the microsoft/Copilot-Managed-Runtime plugin, development standards and GitHub Actions (6 to 7 Nov 2026)
    • Power BI connector, Execute Queries API, secure embed and URL-filter documentation; Fabric IQ MCP server; Power Automate SharePoint and Dataverse triggers, licensing and error handling; Copilot Studio connector and Agents SDK; Teams, Planner, Forms and Azure OpenAI connector references; Dataverse column security (Microsoft Learn, 2026)
    • SharePoint list view threshold, indexing, item-level permissions, versioning, retention labels, Restricted Access Control, Restricted Content Discovery and Microsoft 365 Backup documentation (Microsoft Learn and Support, 2026)
    • Ignite 2026 session catalog (the eight sessions in the dates table, section 2.5) and the LAB668 repository
    • Community, Edition 2: Nick Doelman (ReadyXRM, 24 Oct 2026), Daniel Anderson (23 Oct 2026), Can Dedeoglu (2 Nov 2026), Powercademy, 2toLead, Seepath, FiveForward, Forward Forever (1 Oct 2026), Holger Imbery (24 Oct 2026), Jukka Niiranen, Arinco (6 Nov 2026), Appycodes, Craig White and PnP guidance on SharePoint, GitHub issues 14, 16, 17, 18, 19, 31, 45, 48 and 55
    • First-hand, Edition 2: connector and MCP policy verdicts, connector operation lists for Power BI, Copilot Studio and SharePoint, and binding rules observed in a Copilot Code cloud session, 7 November 2026