Business Central Developer Start a project
AI & Copilot

Building Copilot Features Inside Business Central

June 30, 2026·7 min read·Business Central Developer

There's a lot of Copilot demo content out there that looks impressive and falls apart the moment it meets a real permission model or real data volume. Building Copilot features that actually ship in a production BC environment requires a different discipline than building a flashy prototype.

Start from the permission model, not the prompt

The first design question for any Copilot feature isn't "what should the AI say" — it's "what is this user actually allowed to see and do, and how do we guarantee the AI respects that." In Business Central, that means:

Get this wrong and you don't have a Copilot feature, you have a permission bypass with a chat interface.

A worked example: natural-language reconciliation

One of our own tools — a reconciliation extension — is Copilot-enabled. A user can type something like "Reconcile statement V-SN/0000014" and the system will:

  1. Parse the statement reference from natural language
  2. Look up the statement, scoped to what that user is permitted to see
  3. Run the matching logic against posted entries — same logic the manual "Reconcile" button uses, not a separate AI-only path
  4. Return a structured result: matched, partial, and unmatched lines, with the difference clearly shown

Notice what's not AI here: the actual matching algorithm is deterministic, tested, auditable code. The AI's job is narrow — turning a natural language request into a structured action, and turning structured results back into a readable summary. This is the pattern we come back to again and again: use the LLM for the fuzzy edges (understanding intent, summarising output), and keep the business logic itself deterministic.

Why "AI does everything" fails in ERP contexts

Business Central holds financial and operational data where a wrong answer has real consequences. An LLM that directly computes a discount, decides whether to post a transaction, or free-generates a G/L entry is a liability, not a feature. The reliable pattern is:

The AI wraps the experience; it doesn't replace the business logic underneath.

Agents versus Copilot features — know which you're building

"Copilot feature" and "agent" get used interchangeably, but they're different in an important way:

Agents need a stricter design: explicit scope boundaries, an audit trail for every action taken, and clear escalation points where the agent stops and asks a human rather than guessing. We built an agent that reads inbound development requests over email, generates AL code, and packages a solution for review — it never auto-deploys anything. The human checkpoint is deliberate, not a limitation we're working around.

Practical starting points

If you're planning your first Copilot feature in BC, we'd suggest starting narrow:

Copilot in BC is genuinely useful when it removes friction from something people already do. It's a liability when it becomes a second, unaudited way to change data.

Need help with this on your project?

We do this kind of work daily. Tell us what you're facing and we'll give you an honest read on effort and approach.

Start a project →