Skip to content

๐Ÿ“ฆ 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 โ€‹

๐Ÿซ 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 TypeWhen to UseCan Edit?
UnmanagedDevelopment environmentโœ… Yes โ€” active workspace
ManagedTest, production environmentsโŒ No โ€” read-only, deployed package

Workflow:

  1. Build in an unmanaged solution (dev environment)
  2. Export as a managed solution (packaged .zip file)
  3. 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 โ€‹

  1. Go to https://make.powerapps.com
  2. Sign in with your M365 account
  3. Select your developer environment from the environment picker (top right)

Step 2: Navigate to Solutions โ€‹

  1. In the left navigation, select Solutions
  2. You may see a list of existing solutions (if any)

Power Apps Solutions page showing the Contoso Helpdesk Agent solution (publisher Contoso) as the preferred solution

Note: If you don't see any solutions yet, that's okay โ€” you're about to create one.

Step 3: Create a New Publisher โ€‹

  1. In the Solutions page, select + New solution โ†’ in the dialog, open the Publisher dropdown โ†’ select + New publisher
    • (Alternatively, use Settings โš™๏ธ โ†’ Advanced settings โ†’ Customizations โ†’ Publishers.)
  1. In the New publisher dialog, enter the following:
FieldValue
Display NameContoso
Namecontoso (auto-generated from Display Name)
Prefixcontoso
Choice Value Prefix10000 (or leave default)
DescriptionPublisher 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 becomes contoso_tablename. This prevents naming conflicts across solutions.

  1. 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 โ€‹

  1. In the Solutions page, select + New solution
  1. In the New solution dialog, enter:
FieldValue
Display NameContoso Helpdesk Agent
NameContosoHelpdeskAgent (auto-generated)
PublisherSelect Contoso from the dropdown
Version1.0.0.0 (default is fine)
DescriptionSolution for Bit, the Contoso IT Helpdesk Agent, and related components
  1. Select Create
  2. 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 โ€‹

  1. Go to https://copilotstudio.microsoft.com
  2. 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.
  1. 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:

  1. Go to https://make.powerapps.com
  2. Select Solutions
  3. Select Contoso Helpdesk Agent
  4. 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:

  1. In the solution, select a component (e.g., your agent)
  2. Select Advanced โ†’ See solution layers
  3. 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) โ€‹

  1. Go to Solutions in Power Apps
  2. Select the solution
  3. Select Export
  4. Choose Managed or Unmanaged
  5. Download the .zip file

Import (to Test/Prod) โ€‹

  1. In the target environment, go to Solutions
  2. Select Import
  3. Upload the .zip file
  4. Follow the prompts to map connections and environment variables
  5. Select Import

This is the foundation of Application Lifecycle Management (ALM) for Power Platform.


โญ Solution Best Practices โ€‹

  1. One solution per project โ€” don't mix unrelated agents into one solution
  2. Set a preferred solution โ€” always configure this before building
  3. Use descriptive names โ€” Contoso Helpdesk Agent is better than Solution1
  4. Version your solutions โ€” increment the version with each release (1.0.0.0 โ†’ 1.1.0.0)
  5. Export regularly โ€” back up your work by exporting the solution as a .zip file
  6. 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 โ†’