ComparisonMicrosoft Copilot Development

Declarative agents or custom engine agents: choosing how to extend Copilot

Microsoft offers two ways to build an agent for Copilot. A declarative agent reuses Copilot's orchestrator and models and adds your instructions, knowledge and actions, with nothing extra to host. A custom engine agent brings its own orchestrator and model, which buys control at the price of hosting, security and compliance work you then own. This comparison sets out the differences that decide the choice and works one hypothetical assistant through both designs.

Reviewed 7 min read

On this page
  1. Copilot extensibility options to consider before an agent
  2. Declarative and custom engine agents compared, criterion by criterion
  3. What a declarative agent hands over to Copilot
  4. When a custom engine agent is worth the extra hosting
  5. Knowledge and action building blocks for Copilot agents
  6. A hypothetical legal-operations assistant, designed both ways
  7. Which Copilot agent type to build, by situation
  8. Questions and answers
  9. Sources

Copilot extensibility options to consider before an agent

Not every extension needs an agent. Microsoft describes agents as specialized assistants that add knowledge and actions to Copilot1, but two smaller pieces often come first. A Copilot connector brings content from another system into Microsoft Graph so Copilot can find it, and an action lets Copilot call an API to read or change a record. If employees only need Copilot Chat to find tickets from your service desk, a connector on its own may be enough.

You need an agent when a defined audience needs a dedicated experience: consistent instructions, curated knowledge, a set of permitted actions and conversation starters that explain what the agent is for4. At that point the question becomes which kind of agent, and that turns on who runs the orchestration and the model.

Declarative and custom engine agents compared, criterion by criterion

CriterionDeclarative agentCustom engine agent
Orchestrator and modelCopilot's own; you add instructions, knowledge and actionsYours: any orchestration logic and one or more models you choose
HostingRuns on Copilot's infrastructure, so there is nothing extra to host1Your own services, typically on Azure, or hosting provided by Copilot Studio1
Build toolsAgent Builder inside Copilot, Copilot Studio, or the Agents Toolkit in Visual Studio CodeCopilot Studio, or pro-code with the Agents Toolkit in .NET, Python or JavaScript with frameworks such as Semantic Kernel or LangChain
Proactive behaviorNone; it responds when a user asksCan start workflows and send messages without a prompt
Group useDesigned for individual usersCan serve a Teams channel or meeting as well as individuals
ChannelsCopilot and supported Microsoft apps such as Teams, Word and OutlookMicrosoft apps plus external channels and your own applications
Compliance and securityInherits the tenant's compliance, security and responsible-AI controlsYour team is responsible for compliance, security and responsible-AI practice
User licensingCopilot license, or Copilot Chat with metered charges when it grounds in shared tenant data2No Copilot license required; unlicensed users can still incur metered charges for tenant data2

Summarized from Microsoft Learn guidance current at this page's review date. Confirm licensing terms against your own agreement before committing to a design.

What a declarative agent hands over to Copilot

With a declarative agent you write configuration, not an engine: the agent's purpose and instructions, the knowledge sources it may ground in, the actions it may call and the conversation starters users see. Copilot plans each turn, retrieves content within the user's permissions, decides when to call an action and composes the reply.

That division of labor is the main advantage. Because the agent runs on Copilot's infrastructure, model and orchestrator, it adheres to the same security, compliance and responsible-AI requirements as the rest of Copilot1. The trade-off is control: you cannot swap the model, add your own planning logic or have the agent open a conversation by itself. When a declarative agent misbehaves, your levers are the instructions, the scope of its knowledge and the design of its actions.

When a custom engine agent is worth the extra hosting

Microsoft's guidance gives a short list of reasons1: business rules too precise to leave to a general orchestrator, a need for your own or a domain-specific model, an assistant that serves a whole Teams channel or meeting, an existing bot you want to bring into Copilot, availability outside Microsoft apps, and proactive messages triggered by events rather than prompts.

Every one of those reasons brings work with it. You host and secure the orchestrator, manage model versions, implement content filtering and logging, and answer your security team's questions about where prompts and documents travel. Copilot Studio can host a custom engine agent for you, which removes the infrastructure burden but not the design responsibility.

Knowledge and action building blocks for Copilot agents

SharePoint and OneDrive knowledge
Sites, libraries and files an agent can ground in. Copilot honors existing permissions, so an agent never shows a file the user could not open, but it will surface anything they can.
Synced Copilot connector
Indexes content from an external system into Microsoft Graph, with each item carrying an access control list so results are filtered by source permissions3. These were formerly called Microsoft Graph connectors.
Federated Copilot connector
Fetches data live through the Model Context Protocol instead of indexing it, which suits sensitive or fast-changing sources. Microsoft's documentation describes them as read-only, with write actions announced from early October 20263.
Action
A call from the agent to an external API, a Power Platform connector or an MCP-based tool that reads or changes data in a business system.
Agents Toolkit
Microsoft's pro-code extension for Visual Studio Code and Visual Studio, used to scaffold, test and package agents, connectors and actions.
Copilot Studio
Microsoft's low-code environment for building agents, including custom engine agents that Copilot Studio hosts itself.

Which Copilot agent type to build, by situation

  • If

    Users work in Teams, Outlook or Copilot Chat, and the task is answering from approved content with an occasional action.

    Then

    Build a declarative agent.

    It is the quickest route and keeps the tenant's controls in force without new infrastructure.

  • If

    The workflow depends on strict business rules, several back-end checks or a specialized model.

    Then

    Build a custom engine agent, starting with Copilot Studio hosting if your team is not ready to run its own services.

    A general orchestrator cannot guarantee the order or logic of those steps.

  • If

    The assistant must message people unprompted or serve a channel or meeting.

    Then

    Build a custom engine agent.

    Declarative agents only respond to interactions a user starts1.

  • If

    You already run a bot or assistant outside Microsoft apps.

    Then

    Surface it in Copilot as a custom engine agent instead of rebuilding it declaratively.

    You keep one engine and one set of tests across every channel.

  • If

    Only the knowledge is missing.

    Then

    Add a Copilot connector and test Copilot Chat before building any agent.

    A connector may solve the problem with far less to maintain.

Questions and answers

Can we start with a declarative agent and switch to a custom engine agent later?

Yes, and it is a sensible path. The reusable parts carry over: the knowledge map, connectors, the APIs behind actions, evaluation questions and the instructions that describe the agent's behavior. What changes is the engine, the hosting and the tests around orchestration. Keep actions behind well-documented APIs from the start so either agent type can call them without rework.

How are Copilot agents published to employees?

Microsoft supports deploying agents within your own organization or, for software vendors, publishing them in its commercial store1. Inside a tenant, administrators decide which agents are available and to whom, so plan an approval route and a pilot group before you build. Treat publishing like any release, with a named owner, a version history and a quick way to withdraw the agent.

Does a custom engine agent cost more to run than a declarative one?

Usually, because you pay to host the orchestrator, models and supporting services on top of any user licensing, while declarative agents run on Copilot's infrastructure with no hosting cost2. The fair comparison is total cost over the agent's life: hosting, monitoring, model updates and the engineering time to keep everything secure, set against the capability you could not get any other way.

Which agent types are supported in Microsoft government clouds?

Support differs by cloud. Microsoft states full declarative agent support in GCC, pro-code declarative agents and Agent Builder in GCC High, and only pro-code agents built with the Agents Toolkit in DoD environments4. Check the current national cloud notes before you design, because tooling that works in a commercial tenant may not be available to you.

Sources

  1. Compare declarative and custom engine agents — Microsoft Learn · checked 10 October 2026
  2. Plan licensing and cost for Microsoft 365 Copilot extensibility — Microsoft Learn · checked 10 October 2026
  3. Copilot connectors overview — Microsoft Learn · checked 10 October 2026
  4. Declarative agents for Microsoft 365 Copilot — Microsoft Learn · checked 10 October 2026

More in Microsoft Copilot Development

Back to Microsoft Copilot Development

Next step

Send us the Copilot agent you are trying to scope

Describe the task, the users and where the knowledge lives. We will reply with a view on whether a declarative agent covers it, what a custom engine agent would add and what to check in your tenant first.

Discuss your Copilot agent