Skip to content

Guided tour

FabrCore 2.0 · Release and package availability

These guides track the current 2.0 source. Stable 2.0.0 publication is pending; package commands show the release target. Until it is published, follow the source quick start or use a matching available prerelease set. Release migration · Runtime modes

MODULE 10 · LESSON 10.7

Put the assistant in Teams and Microsoft 365 Copilot

Publish the assistant into Teams and Microsoft 365 Copilot.

Lesson 59 of 86 · FabrCore 2.0

Overview

The Microsoft365Copilot addon receives activities at /api/messages and maps channel identity into FabrCore. It is a user chat integration, distinct from A2A orchestration. The addon explicitly loads its documented configuration section; standard Host model loading alone does not bind it.

The addon translates activity traffic

The Microsoft365Copilot addon receives the channel's activity payload at /api/messages, validates the channel identity through its configured integration, and routes it to FabrCore. It then translates the agent's reply back into the channel format. This path is user-facing chat, unlike an A2A client that exchanges agent tasks/messages.

Registration spans Host and Microsoft configuration

The Host must install/register the addon and load its documented configuration section. Microsoft administration supplies the corresponding app/bot/channel registration and reachable endpoint. A local /api/messages route alone does not register a Teams application. Align the identifiers and intended user-to-principal mapping before testing a real tenant.

Register the activity channel

  1. Register AddMicrosoft365Copilot and UseMicrosoft365Copilot, configure the addon and select the target agent strategy.
  2. Provision the Azure Bot/app registration and reachable messaging endpoint. Build the app package/manifest with the required IDs and publish it to the intended tenant according to its policies.
  3. Use a development tunnel only for the test endpoint and verify proxy routing, authentication and activity delivery before enabling advanced behavior.
Install and wire up · reference snippet
dotnet add <server-project> package FabrCore.Services.Microsoft365Copilot
Install and wire up · reference snippet
builder.AddFabrCoreServer();
builder.AddMicrosoft365Copilot();     // after AddFabrCoreServer

var app = builder.Build();
app.UseFabrCoreServer();
app.UseMicrosoft365Copilot();         // maps POST /api/messages

Send from the actual test channel

  1. Start the configured Host and confirm the addon endpoint is installed. Install or enable the corresponding app in a permitted test tenant/channel.
  2. Send a distinctive question from Teams or Copilot and inspect the mapped principal, target agent and returned activity. The reply should appear in the originating conversation.
  3. Send as a second authorized test user and confirm the mapping does not unintentionally reuse the first user's conversation. Inspect authentication and routing separately if no reply appears.

The live channel test connects registration, identity mapping, routing and reply translation. A direct local HTTP test covers only part of that path.

If the result is different

If /api/messages is intercepted by a generic sign-in redirect or HTML error handler, the bot sees the wrong protocol response. Separate machine ingress middleware appropriately.

Go deeper

Explore the related documentation.