What Are Solution Layers in Dynamics 365 CRM?
Imagine your Dynamics 365 CRM system as a big building. Each floor of the building holds different things that make your system work like forms, workflows, fields, and plugins.
Solution Layers are like different floors in this building that keep customizations organized.
They help you manage and control how customizations are added or changed in your system so nothing breaks by accident.

Two Main Types of Solution Layers
1. Unmanaged Layer (The Open Floor)
- This is where you directly change things by hand, like adding fields or modifying forms right in the system.
- No history or version control.
- Easy to work on, but can get messy and cause problems later (especially when upgrading the system).
Example: If you directly add a new field to a customer form without packaging it, it goes here.
2. Managed Layers (Packaged Floors)
- Every time you build a solution (like a custom feature or module), it’s packaged into a Managed Solution.
- Each solution gets its own layer.
- Managed solutions are versioned, so they can be upgraded or removed easily.
- If two solutions try to change the same thing, the system picks the one from the newest layer.
Example: A developer creates a custom sales module, packages it, and installs it as a managed solution.
Why Are Solution Layers Important?
- Keep Things Stable
Prevents customizations from conflicting with each other.
Like having separate floors for each team so they don’t step on each other’s toes. - Easy Collaboration & Deployment
Developers can share their packaged solutions with others.
Makes it easier to move work from development to testing to production environments. - Simple Upgrades and Rollbacks
Need to update a solution? Just upgrade the managed solution.
Want to remove a feature? Uninstall the solution layer cleanly. - Better Tracking & Governance
You always know which solution made what change and when.
Helps keep control and avoid chaos.
Best Practices to Follow
- Plan your layers in advance: Know which solution goes where.
- Use Managed Solutions as much as possible: Avoid making random changes in the unmanaged layer.
- Document everything: Write down what each customization does.
- Test thoroughly: Check your solutions in development and test environments before going live.
In Simple Terms
Think of solution layers as organized shelves where each solution (feature or customization) sits in its own place.
The unmanaged layer is like messy DIY changes that aren’t tracked.
Managed solutions are neat packages that are easier to manage, upgrade, and remove.
By following solution layers well, you keep your CRM system clean, stable, and easier to maintain.
Ref: https://learn.microsoft.com/en-us/power-apps/maker/data-platform/solution-layers