The Apps in Cowork feature introduces a radically new paradigm in Microsoft 365: describe an application in natural language and let Copilot generate React code, connect SharePoint data sources, then publish everything — without leaving the tenant. This article is addressed to M365 administrators and cloud engineers who want to understand the prerequisites, the credit consumption mechanism and the governance levers before deploying this capability to production.
Prerequisites before touching anything
Before you start, check these four conditions. A single missing prerequisite completely blocks the functionality.
- Microsoft Frontier Program: your tenant must be registered. Without this, the
/appcommand does not appear in Cowork. - Microsoft 365 Copilot license: required for the maker (the person who creates the application).
- Active Copilot Studio credits: application generation consumes credits with each call. A Copilot Studio message pack (e.g., 25,000 message pack) or equivalent Copilot Studio license is required.
- Credit association in the admin center: credits must be linked to Cowork via M365 Admin Center → Copilot → Cost Management → Configuration.
Credit verification
If the "Cost Management" section does not display Cowork as an authorized consumer, generation will fail silently after a few minutes of processing. Validate this association before launching your first project.
Architecture of Managed Apps: what happens behind the scenes
Applications created via Cowork are called Managed Apps in the Power Platform / Microsoft 365 ecosystem. Technically, Copilot generates React code — visible in the Cowork side panel during generation — and hosts it on the managed-apps.cloud.microsoft infrastructure.
The preview URL follows the format:
1play.preview.managed-apps.cloud.microsoft/<app-id>Once published, the sharing URL takes the form:
1play.epth.cloud.microsoft/<app-id>The application can connect to over 1,500 connectors available in Power Platform. Data remains in your Microsoft 365 tenant — no data transits to an unconsented external service.
Building the Monthly Planner step by step
Open Cowork and invoke the App capability
In your Cowork interface, type / in the input field. The list of available capabilities appears. Select App. If the option is missing, the prerequisites listed above are not met.
Write the generation prompt
Functionally describe your application. Here is the prompt used for the Monthly Planner:
1I want to build a monthly planner application where I can plan my month.2There should be a calendar view. I can select any day and plan over there.3In planning a person can add title and details.4Also I need an easy way where I can make any day as a public holiday.5Weekend color should be different.6There should be an option to make any day as a public holiday, vacation day.7It should have different color formatting for each type.Leave the template selector on Auto so Copilot chooses the GPT model suited to the complexity of the request.
Wait for generation (5 to 10 minutes)
Cowork generates the React code in the background. The side panel displays the produced code in real time. Copilot Studio credit consumption begins at this stage. Budget 5 to 10 minutes for an application of this complexity.
Publish and test the preview
Click Publish changes to deploy the generated version. If the integrated preview does not display, click Open app — the application loads in a new tab. Authorize the requested connections (equivalent to the consent flow for Power Apps Canvas applications).
Connect a SharePoint list as a database
In Cowork, explicitly request a data source connection:
1I want to connect a database with this application.Copilot offers several options: SharePoint list, Dataverse table, SQL database, Excel workbook. Select SharePoint list, specify the target site (example: daily journal), then request the creation of a new list.
Create the SharePoint list manually if Graph fails
Automatic creation via Microsoft Graph may fail if permissions are not delegated. In that case, create the list manually according to the columns recommended by Copilot:
- Title (built-in column, text)
- Plan Date (Date and Time)
- Details (multi-line text)
- Item Type (choice:
Plan,Holiday,Vacation)
Once the list is created, inform Cowork: The list is now created and ready. Copilot resumes the linking process automatically.
Propagation delay
After the SharePoint connection, wait 7 to 8 additional minutes before republishing. Cowork wires the Graph calls to the list columns in the background.
Verification: Are the data reaching SharePoint?
Add two test entries in the application (for example: a public holiday and a meeting). Immediately open the target SharePoint Site Content and verify that the Monthly Planner list contains the corresponding entries with the correct values in the Plan Date, Details and Item Type columns.
If data does not appear:
- Verify that the SharePoint connection has been authorized in the application (consent window).
- Check that the column names match exactly those expected by the generated code.
- Launch a new publish from Cowork.
Sharing the application with users
In Cowork, find the application artifact in the conversation history. Click Load, then Share. Add individual user accounts or groups and assign the desired access level. The user receives a link of the type:
1play.epth.cloud.microsoft/<app-id>Licenses for end users
Two consumption models currently coexist:
| Model | Who is affected | Mechanism | Admin control |
|---|---|---|---|
| Usage-based (Copilot Studio credits) | All end users | Each execution and API call consumes credits from the tenant pool | Limit per user configurable in the M365 admin center |
| Power Apps Premium license | Users already licensed with Power Apps Premium | No Copilot Studio credits consumed for execution | Managed via standard license assignment |
Credits shared at tenant level
The Copilot Studio credit pool is shared among all users on the tenant. Without a per-user limit, intensive usage can quickly exhaust available credits. Set individual ceilings from deployment onward.
Governance from the M365 Admin Center
All published Managed Apps are visible and controllable from M365 Admin Center → Apps → Managed Applications. For each application, you have:
- Inventory: list of all applications published on the tenant.
- Blocking: immediate disabling of an application without deleting it.
- Monitoring: usage statistics, number of executions, active users.
- Connectors: list of connectors consumed by the application (SharePoint, Graph, etc.).
- Advanced settings: routing, sharing, content security policy (CSP).
These controls apply across the entire tenant and allow you to audit the compliance of Copilot-generated applications before large-scale production deployment.
Troubleshooting common errors
Your tenant is not registered in the Microsoft Frontier program, or the Microsoft 365 Copilot license is not assigned to your account. Check both conditions in the admin center before relaunching.
The Copilot account does not have the necessary Graph permissions to create SharePoint lists independently. Create the list manually with the recommended columns, then notify Cowork that the list is ready. This is the expected behavior in the absence of prior admin consent.
Click Publish changes then Open app to load the application in a dedicated tab. The preview integrated in Cowork is sometimes unstable during the first few minutes following generation.
Verify that the application consent window was properly validated (Allow button). Then check that the SharePoint column names match exactly those generated by Copilot. A difference in case or spacing is enough to block writes.
Set a spending ceiling per user in M365 Admin Center → Copilot → Cost Management → Spending Policies. Monitor daily consumption from the dashboard to anticipate renewals.
What you do first thing Monday morning
- Verify enrollment in the Frontier program and assignment of the Microsoft 365 Copilot license for identified makers.
- Associate a Copilot Studio credit pool to Cowork in the Cost Management section and immediately set per-user ceilings.
- Create a dedicated SharePoint site for Managed Apps data lists to isolate production data from existing sites.
- Deploy a first pilot application with a restricted group of users licensed for Power Apps Premium — this allows you to validate behavior without consuming Copilot Studio credits for end users.
- Enable monitoring in the M365 Admin Center from the first publication to have a consumption baseline.
If your organization already has Power Apps Premium licenses for some users, prioritize this model for end users to control credit consumption. If the tenant is entirely usage-based, budget Copilot Studio credits based on the number of target users and estimated frequency of use before any large-scale deployment.



