๐ฆ Module 04: Creating a Solution โ
Codename: OPERATION QUARTERMASTER
Time: 15 minutes
Scenario: Solution Packaging and ALM
๐ฏ Learning Objectives โ
By the end of this module, you will be able to:
- Explain what a Power Platform solution is and why it matters
- Create a solution publisher with proper naming conventions
- Create a new solution in the Power Apps maker portal
- Set a preferred solution in Copilot Studio
- Understand how solutions support Application Lifecycle Management (ALM)
๐งญ Overview โ
Before you build Bit (the Contoso Helpdesk Agent), you need to set up a solution โ a container that organizes all your agent components (agents, workflows, connections, etc.) for proper lifecycle management.
Think of a solution as a "project folder" for Power Platform components. Without a solution, your agents and workflows exist as loose, unmanaged components. With a solution, you get:
- โ Organization โ all related components in one place
- โ Version control โ track changes over time
- โ Environment promotion โ move from dev โ test โ production
- โ Team collaboration โ multiple builders working on the same solution
- โ Backup and restore โ export solutions as portable packages
In this module, you'll create a solution called Contoso Helpdesk Agent that will hold all the work you do in the rest of the course.
๐งฐ Prerequisites โ
- A Power Apps Developer environment (created in Module 00).
- Access to the Power Apps maker portal (make.powerapps.com).
๐ซ In the facilitated workshop, your environment and security are already provisioned โ you'll create the solution here as part of Mission #2. If you're following along at the office, complete Module 00 first.
๐งฉ What Is a Solution? โ
A solution is a container for Power Platform components. It acts as a packaging and deployment mechanism for:
- Copilot Studio agents
- Workflows (the new automation format) and cloud flows
- Connectors and connection references
- Dataverse tables (if you create custom data structures)
- Environment variables
Managed vs. Unmanaged Solutions โ
| Solution Type | When to Use | Can Edit? |
|---|---|---|
| Unmanaged | Development environment | โ Yes โ active workspace |
| Managed | Test, production environments | โ No โ read-only, deployed package |
Workflow:
- Build in an unmanaged solution (dev environment)
- Export as a managed solution (packaged .zip file)
- Import to test/production as a managed solution (locked, production-ready)
For this course, you'll work in an unmanaged solution. Exporting and deploying to production is covered in advanced ALM training.
๐ก Why Solutions Matter โ
Imagine you build 10 agents over the next year without solutions. Here's what happens:
- โ No organization โ agents and workflows are scattered across the environment
- โ No backup โ if you accidentally delete an agent, it's gone
- โ No promotion โ you can't easily move agents from dev to production
- โ No collaboration โ teammates can't tell which components belong together
With solutions:
- โ Everything is packaged โ export the solution, import it elsewhere
- โ Clear ownership โ you know which components belong to which project
- โ ALM-ready โ move to CI/CD pipelines (Azure DevOps, GitHub Actions) when you're ready
๐ข Lab 4.1: Create a Solution Publisher โ
Every solution has a publisher โ a namespace that identifies who created the solution. Think of it like a company or team name.
Step 1: Open the Power Apps Maker Portal โ
- Go to https://make.powerapps.com
- Sign in with your M365 account
- Select your developer environment from the environment picker (top right)
Step 2: Navigate to Solutions โ
- In the left navigation, select Solutions
- You may see a list of existing solutions (if any)

Note: If you don't see any solutions yet, that's okay โ you're about to create one.
Step 3: Create a New Publisher โ
- In the Solutions page, select + New solution โ in the dialog, open the Publisher dropdown โ select + New publisher
- (Alternatively, use Settings โ๏ธ โ Advanced settings โ Customizations โ Publishers.)
- In the New publisher dialog, enter the following:
| Field | Value |
|---|---|
| Display Name | Contoso |
| Name | contoso (auto-generated from Display Name) |
| Prefix | contoso |
| Choice Value Prefix | 10000 (or leave default) |
| Description | Publisher for Contoso training solutions |
Why the prefix matters: The prefix (e.g.,
contoso) is prepended to all solution components. For example, if you create a Dataverse table, it becomescontoso_tablename. This prevents naming conflicts across solutions.
- Select Save (or Save and Close)
โ
Checkpoint: You now have a publisher called Contoso with the prefix contoso.
๐งช Lab 4.2: Create a New Solution โ
Now that you have a publisher, create the solution for this course.
Step 1: Create the Solution โ
- In the Solutions page, select + New solution
- In the New solution dialog, enter:
| Field | Value |
|---|---|
| Display Name | Contoso Helpdesk Agent |
| Name | ContosoHelpdeskAgent (auto-generated) |
| Publisher | Select Contoso from the dropdown |
| Version | 1.0.0.0 (default is fine) |
| Description | Solution for Bit, the Contoso IT Helpdesk Agent, and related components |
- Select Create
- The solution is created and you land on the solution details page
โ Checkpoint: You have a solution called Contoso Helpdesk Agent owned by the Contoso publisher.
Step 2: Explore the Solution โ
On the solution details page, you'll see:
- Overview โ summary of the solution
- Objects โ lists all components inside this solution (currently empty)
- History โ tracks changes and versions
Right now, the solution is empty. As you build Bit, workflows, and other components, they'll appear here.
๐งช Lab 4.3: Set the Preferred Solution in Copilot Studio โ
To ensure Bit and all your future components are automatically added to the Contoso Helpdesk Agent solution, set it as the preferred solution.
Step 1: Open Copilot Studio โ
- Go to https://copilotstudio.microsoft.com
- Sign in with your M365 account, and confirm you're in the new experience and the right environment
Step 2: Set the Preferred Solution โ
You can set the preferred solution in either place:
- Environment-wide: Settings (โ๏ธ) โ Advanced (or Environment) โ locate Preferred solution โ select Contoso Helpdesk Agent.
- Per agent (up front): right after you create Bit (Module 06), open the agent's Settings and confirm/choose Contoso Helpdesk Agent as the solution.
- Select Save or Apply
Note: The exact location of "Preferred solution" may vary. Look under Settings โ Advanced, Settings โ Environment, or use the Settings search box and type "Preferred solution."
โ Checkpoint: The Contoso Helpdesk Agent solution is now the preferred solution.
What This Means โ
From now on, when you create an agent, workflow, or other component:
- It's automatically added to the Contoso Helpdesk Agent solution
- You don't need to manually assign it later
- All related components stay organized in one place
Best practice: Always set a preferred solution at the start of a project. This prevents "orphaned" components scattered across the environment.
โ How to Verify Components Are in the Solution โ
After you create Bit in Module 06, come back to the Power Apps maker portal to verify it's in the solution:
- Go to https://make.powerapps.com
- Select Solutions
- Select Contoso Helpdesk Agent
- In the Objects list, you should see:
- Copilot โ Bit (your agent)
- Workflows / Cloud flows โ any workflows you create
- Connection references โ connectors you use
๐ Understanding Solution Layers โ
When you edit a solution component (e.g., update Bit's instructions), Power Platform creates a layer. Layers track who changed what and when.
Why this matters:
- Multiple people can work on the same solution
- You can see the history of changes
- If something breaks, you can identify which layer introduced the issue
You can view layers:
- In the solution, select a component (e.g., your agent)
- Select Advanced โ See solution layers
- You'll see a list of changes (active layer, base layer, etc.)
For this course, you don't need to manage layers โ just know they exist for collaboration and troubleshooting.
๐ฆ Exporting and Importing Solutions โ
Although you won't do this in the course, here's the high-level process for moving solutions between environments:
Export (from Dev) โ
- Go to Solutions in Power Apps
- Select the solution
- Select Export
- Choose Managed or Unmanaged
- Download the .zip file
Import (to Test/Prod) โ
- In the target environment, go to Solutions
- Select Import
- Upload the .zip file
- Follow the prompts to map connections and environment variables
- Select Import
This is the foundation of Application Lifecycle Management (ALM) for Power Platform.
โญ Solution Best Practices โ
- One solution per project โ don't mix unrelated agents into one solution
- Set a preferred solution โ always configure this before building
- Use descriptive names โ
Contoso Helpdesk Agentis better thanSolution1 - Version your solutions โ increment the version with each release (1.0.0.0 โ 1.1.0.0)
- Export regularly โ back up your work by exporting the solution as a .zip file
- Use a custom publisher โ avoid the default publisher (it's shared across all solutions)
๐ง Key Takeaways โ
- Solutions are containers for Power Platform components (agents, workflows, etc.)
- Publishers provide a namespace (prefix) for solution components
- Preferred solution ensures new components are automatically added to your solution
- Managed solutions are for production; unmanaged solutions are for development
- ALM-ready โ solutions enable environment promotion, version control, and team collaboration
๐๏ธ What You've Built โ
You now have:
- โ
A publisher called Contoso with prefix
contoso - โ A solution called Contoso Helpdesk Agent
- โ Preferred solution set in Copilot Studio so all future work goes into this solution
From this point forward, every component you create โ starting with Bit โ will be neatly organized in the Contoso Helpdesk Agent solution.
โญ๏ธ Next Steps โ
In Module 05: Using Pre-Built Agents, you'll explore agent templates that give you a head start on common scenarios.
Then in Module 06: Build the Contoso Helpdesk Agent, you'll create Bit from scratch โ and he'll automatically be added to your solution.
Course Navigation: โ Module 03 | Course Index | Next: Module 05 โ