Domain 1 — Module 2 of 4 50%
2 of 15 overall
Domain 1: Create a foundation for intelligent applications Free ⏱ ~22 min read

Designing Solutions with AI-Enabled Tools

How to read a business requirement and turn it into the right combination of environment type, solution strategy, built-in agent and extensibility option — the design decisions AB-410 actually tests.

The shape of a design question

Design questions on this exam rarely ask “what is X.” They hand you a paragraph of business context and ask which option fits. That means the skill being tested is elimination — recognising why three of the four answers are wrong for this scenario.

Ravi at Kite Freight says: “I want the team to be able to try things out without breaking the depot scheduling app, and I want whatever they build to be movable into the real system later if it works.”

There are four separate design decisions buried in that one sentence. Let us pull them apart.

Environment types

Microsoft documents six environment types. Learn what each one is for, because the exam frames these as fit-for-purpose choices.

The six environment types and the fact most likely to be tested about each
TypeWhat it is forThe detail that decides questions
ProductionPermanent work the organisation depends onRequires 1 GB available database capacity. This is what you use for anything you depend on.
SandboxDevelopment and testing, separate from productionOffers copy and reset. Note the asymmetry: creating production environments can be blocked, but converting production to sandbox cannot be.
DeveloperA single owner's personal build spaceCreated by users with the Power Apps Developer Plan. Intended only for the owner — security groups cannot be assigned to it.
TrialShort-term evaluationExpires after 30 days, limited to one per user, and is automatically cleaned up.
DefaultExperimentation and lightweight trial developmentEvery tenant gets one automatically and it cannot be deleted. No backup guarantees — not for production workloads. Every licensed user is automatically an environment maker.
Dataverse for TeamsApps built inside a specific TeamCreated automatically for a team. Security roles map to Teams membership (owners, members, guests) and cannot be customised.
Why the default environment keeps showing up as a wrong answer

The default environment is the most tempting wrong answer in the whole exam, because it is always available and requires no provisioning.

Microsoft’s own documentation rules it out for anything serious: it “doesn’t provide any backup guarantees and shouldn’t be used for production workloads.” On top of that, every licensed user in the tenant is automatically given the environment maker role there — so it has no meaningful isolation.

If a scenario mentions governance, separation of teams, data protection, or anything the business depends on, the default environment is wrong.

So Ravi’s “try things out without breaking the scheduling app” is a sandbox answer — a nonproduction environment with copy and reset, separate from production. Not the default environment, because that has no isolation. Not a developer environment, because Ravi said “the team”, and developer environments are single-owner.

One scope fact worth remembering

An environment is bound to a Microsoft Entra tenant and to a geographic location. Everything created inside it — apps, flows, connections, gateways — inherits that binding.

The practical consequence is the one that gets tested: by default, a canvas app’s Dataverse connection targets its current environment, and it follows the app when the app moves through ALM — move the app to Test and it connects to Test data. That default is what makes environment separation useful.

Be careful how far you push that, though. It is a default and an ALM design pattern, not an enforced boundary. A maker can explicitly use Change environment when adding Dataverse tables to pull data from another environment “instead of, or in addition to, the current environment”, subject to permissions. So treat environment-local data as the recommended design, and be suspicious of any answer that claims the platform makes cross-environment access impossible.

Solutions and ALM

Ravi’s second requirement — “movable into the real system later” — is the ALM half of the question.

Simple explanation

A solution is a box you put your work in so you can carry it to another environment.

While you are building, the box is unmanaged — everything inside is editable. When you are ready to hand it over, you export it as managed, which seals it. In the destination environment, people can install it, update it, and uninstall it cleanly, but they cannot reach in and edit the parts.

You build in unmanaged. You deploy managed. That single sentence answers a surprising number of exam questions.

The lifecycle verbs — update versus upgrade

These two are routinely confused, and the difference is precise:

  • Update — deployed to the parent managed solution. You cannot delete components with an update.
  • Upgrade — imported as an upgrade to an existing managed solution. It rolls up all patches into a new version, removes unused components, and runs upgrade logic.

So: if a scenario says “we need to remove a table that is no longer used,” an update will not do it. That is an upgrade.

A solution can be up to 95 MB in size, and a publisher identifies who made it — the publisher supplies the customisation prefix that appears on every component you create.

Evaluating built-in agents

This objective — “evaluate built-in agents to include in the business solution” — trips people up because they assume it means building agents. It does not.

The skill is selection: given a business need, decide whether an out-of-the-box agent capability already covers it, or whether the scenario genuinely needs something custom.

How to reason about it in an exam question

Work through three questions in order:

  1. Does a built-in capability already do this? If Dataverse can summarise the record with a row summary, you do not need an agent for it.
  2. Is the need conversational and open-ended? Users asking questions in natural language across data points toward an agent. Users needing one derived value points toward a column.
  3. Where does the customisation live? If the answer requires topics, custom actions, or orchestration, you have crossed into Copilot Studio — which is a different exam, but recognising the boundary is an AB-410 skill.

The trap answer is always the most powerful option. On this exam, the simplest sufficient option is usually correct.

Recommending extensibility options

Here is the single most important scoping sentence in Domain 1: the objective is “Recommend extensibility options.” Not implement them.

What you are expected to know, and what you are not

Expected: that pro-code extensibility options exist, roughly what each is for, and being able to say “this scenario needs one.”

Not expected: writing any of them. Plug-ins in C#, PCF components in TypeScript, Azure Functions, custom connector authoring, the Dataverse Web API and SDK — every one of those is PL-400 territory.

In practice this means an AB-410 question might ask “which extensibility option would you recommend,” and the correct answer names a mechanism. It will not ask you to describe a plug-in’s execution stage or write a line of code.

The corollary is a useful heuristic for the whole exam: if an answer option requires writing code, it is probably not the AB-410 answer. Low-code first, always, and reach for extensibility only when the low-code surface genuinely cannot express the requirement.

Putting it together for Kite Freight

Nadia’s design, working from Ravi’s one sentence:

Requirement in Ravi’s sentenceDesign decision
”try things out”A sandbox environment — nonproduction, supports copy and reset
”without breaking the depot scheduling app”Environment isolation. Not the default environment, which has no meaningful separation
”movable into the real system later”Build in an unmanaged solution, export as managed into production
”the team” (plural)Rules out a developer environment, which is single-owner and cannot take security groups

Mei signs off on the environment creation, because provisioning can be restricted to admins — and at Kite Freight it is.

Quick recall

Question

Which environment type expires after 30 days and is limited to one per user?

Click or press Enter to reveal answer

Question

Can you export a managed solution?

Click or press Enter to reveal answer

Question

Update or upgrade — which one removes components that are no longer needed?

Click or press Enter to reveal answer

Question

Why can't you test a managed solution in the same environment where you built it?

Click or press Enter to reveal answer

Check yourself

Knowledge Check

Kite Freight wants three makers to jointly prototype a new depot scheduling app. The prototype must not affect the live app, and the team wants the ability to reset the environment and start over if the model turns out wrong. Which environment type should you recommend?

Knowledge Check

A managed solution has been deployed to production. A maker needs to change one of its forms. What must happen first, and what is the consequence?

Knowledge Check

A scenario describes a requirement that cannot be met with configuration alone and would need server-side custom code running on a Dataverse event. On AB-410, what are you expected to do?