![]() |
VOOZH | about |
dotnet add package Microsoft.Agents.M365Copilot.Beta --version 1.0.0-preview.16
NuGet\Install-Package Microsoft.Agents.M365Copilot.Beta -Version 1.0.0-preview.16
<PackageReference Include="Microsoft.Agents.M365Copilot.Beta" Version="1.0.0-preview.16" />
<PackageVersion Include="Microsoft.Agents.M365Copilot.Beta" Version="1.0.0-preview.16" />Directory.Packages.props
<PackageReference Include="Microsoft.Agents.M365Copilot.Beta" />Project file
paket add Microsoft.Agents.M365Copilot.Beta --version 1.0.0-preview.16
#r "nuget: Microsoft.Agents.M365Copilot.Beta, 1.0.0-preview.16"
#:package Microsoft.Agents.M365Copilot.Beta@1.0.0-preview.16
#addin nuget:?package=Microsoft.Agents.M365Copilot.Beta&version=1.0.0-preview.16&prereleaseInstall as a Cake Addin
#tool nuget:?package=Microsoft.Agents.M365Copilot.Beta&version=1.0.0-preview.16&prereleaseInstall as a Cake Tool
Integrate the Microsoft 365 Copilot APIs into your .NET project!
The Microsoft 365 Copilot APIs. NET Beta Client Library targets .NetStandard 2.0.
Note:
Because the Microsoft 365 Copilot APIs in the beta endpoint are subject to breaking changes, don't use a preview release of the client library in production apps.
To install the client library via NuGet:
Microsoft.Agents.M365Copilot.Beta in the NuGet Library, orInstall-Package Microsoft.Agents.M365Copilot.Beta into the Package Manager Console.dotnet add PathToCSProj package Microsoft.Agents.M365Copilot.Beta in any console.The following code example shows how to create an instance of a Microsoft 365 Copilot APIs client with an authentication provider in the supported languages. The authentication provider handles acquiring access tokens for the application. Many different authentication providers are available for each language and platform. The different authentication providers support different client scenarios. For details about which provider and options are appropriate for your scenario, see Choose an Authentication Provider.
The example also shows how to make a call to the Microsoft 365 Copilot Retrieval API. To call this API, you first need to create a request object and then run the POST method on the request.
The client ID is the app registration ID that is generated when you register your app in the Azure portal.
Note:
Your tenant must have a Microsoft 365 Copilot license.
using Azure.Identity;
using Microsoft.Agents.M365Copilot.Beta;
using Microsoft.Agents.M365Copilot.Beta.Models;
using Microsoft.Agents.M365Copilot.Beta.Copilot.Retrieval;
var scopes = new[] {"Files.Read.All", "Sites.Read.All"};
// Multi-tenant apps can use "common",
// single-tenant apps must use the tenant ID from the Azure portal
var tenantId = "YOUR_TENANT_ID";
// Value from app registration
var clientId = "YOUR_CLIENT_ID";
// using Azure.Identity;
var deviceCodeCredentialOptions = new DeviceCodeCredentialOptions
{
ClientId = clientId,
TenantId = tenantId,
// Callback function that receives the user prompt
// Prompt contains the generated device code that user must
// enter during the auth process in the browser
DeviceCodeCallback = (deviceCodeInfo, cancellationToken) =>
{
Console.WriteLine(deviceCodeInfo.Message);
return Task.CompletedTask;
},
};
// https://learn.microsoft.com/dotnet/api/azure.identity.devicecodecredential
var deviceCodeCredential = new DeviceCodeCredential(deviceCodeCredentialOptions);
//Create the client with explicit base URL
var baseURL = “https://graph.microsoft.com/beta”;
AgentsM365CopilotBetaServiceClient client = new AgentsM365CopilotBetaServiceClient (deviceCodeCredential, scopes, baseURL);
try
{
var requestBody = new RetrievalPostRequestBody
{
DataSource = RetrievalDataSource.SharePoint,
QueryString = "What is the latest in my organization?",
MaximumNumberOfResults = 10
};
var result = await client.Copilot.Retrieval.PostAsync(requestBody);
Console.WriteLine($"Retrieval post: {result}");
if (result != null)
{
Console.WriteLine("Retrieval response received successfully");
Console.WriteLine("\nResults:");
Console.WriteLine(result.RetrievalHits.Count.ToString());
if (result.RetrievalHits != null)
{
foreach (var hit in result.RetrievalHits)
{
Console.WriteLine("\n---");
Console.WriteLine($"Web URL: {hit.WebUrl}");
Console.WriteLine($"Resource Type: {hit.ResourceType}");
if (hit.Extracts != null && hit.Extracts.Any())
{
Console.WriteLine("\nExtracts:");
foreach (var extract in hit.Extracts)
{
Console.WriteLine($" {extract.Text}");
}
}
if (hit.SensitivityLabel != null)
{
Console.WriteLine("\nSensitivity Label:");
Console.WriteLine($" Display Name: {hit.SensitivityLabel.DisplayName}");
Console.WriteLine($" Tooltip: {hit.SensitivityLabel.Tooltip}");
Console.WriteLine($" Priority: {hit.SensitivityLabel.Priority}");
Console.WriteLine($" Color: {hit.SensitivityLabel.Color}");
if (hit.SensitivityLabel.IsEncrypted.HasValue)
{
Console.WriteLine($" Is Encrypted: {hit.SensitivityLabel.IsEncrypted.Value}");
}
}
}
}
else
{
Console.WriteLine("No retrieval hits found in the response");
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error making retrieval request: {ex.Message}");
Console.Error.WriteLine(ex);
}
To view or log issues, see issues.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.
If you are looking to build the library locally for the purposes of contributing code or running tests, you will need to:
dotnet restore from the command line in your package directorynuget restore and msbuild from CLI or run Build from Visual Studio to restore Nuget packages and build the projectRun
dotnet build -p:IncludeMauiTargets=trueif you wish to build the MAUI targets for the projects as well.
Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT license.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 netcoreapp2.0 was computed. netcoreapp2.1 netcoreapp2.1 was computed. netcoreapp2.2 netcoreapp2.2 was computed. netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 netstandard2.0 is compatible. netstandard2.1 netstandard2.1 is compatible. |
| .NET Framework | net461 net461 was computed. net462 net462 was computed. net463 net463 was computed. net47 net47 was computed. net471 net471 was computed. net472 net472 was computed. net48 net48 was computed. net481 net481 was computed. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen40 tizen40 was computed. tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-preview.16 | 283 | 5/13/2026 |
| 1.0.0-preview.15 | 145 | 4/22/2026 |
| 1.0.0-preview.14 | 966 | 1/8/2026 |
| 1.0.0-preview.9 | 364 | 11/6/2025 |
| 1.0.0-preview.8 | 4,782 | 10/29/2025 |
| 1.0.0-preview.7 | 2,019 | 9/9/2025 |
| 1.0.0-preview.6 | 225 | 8/21/2025 |
| 1.0.0-preview.5 | 224 | 8/20/2025 |
| 1.0.0-preview.3 | 263 | 7/15/2025 |
| 1.0.0-preview.2 | 96,498 | 6/12/2025 |