Microsoft 365 Agents SDK (.NET)
Créer des agents Microsoft 365 avec .NET
La création d'agents multicanaux pour Microsoft 365 nécessite de comprendre le modèle d'hébergement du SDK Microsoft.Agents, les modèles d'authentification et l'architecture de routage. Cette compétence fournit des exemples de code prêts pour la production pour l'hébergement ASP.NET Core, l'authentification MSAL et l'intégration Copilot Studio.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "Microsoft 365 Agents SDK (.NET)". Créer une sous-classe AgentApplication avec un gestionnaire de messages qui fait écho à la saisie de l'utilisateur
Résultat attendu:
Génère une classe C# héritant de AgentApplication avec un constructeur enregistrant OnActivity(ActivityTypes.Message, OnMessageAsync), et une méthode OnMessageAsync qui appelle turnContext.SendActivityAsync avec le texte en écho.
Utilisation de "Microsoft 365 Agents SDK (.NET)". Générer appsettings.json avec la configuration TokenValidation et ServiceConnection
Résultat attendu:
Produire une configuration JSON avec une section TokenValidation contenant Enabled, un tableau Audiences, TenantId, et une section Connections avec AuthType, ClientId, ClientSecret, AuthorityEndpoint et Scopes pour api.botframework.com.
Utilisation de "Microsoft 365 Agents SDK (.NET)". Montrer comment ajouter l'autorisation au point de terminaison /api/messages en production
Résultat attendu:
Montrer l'enroulement de la route POST avec if (!app.Environment.IsDevelopment()) { incomingRoute.RequireAuthorization(); } pour appliquer l'authentification en dehors de l'environnement de développement.
Audit de sécurité
SûrDocumentation-only skill with no executable code. Contains C# code examples and configuration templates for Microsoft 365 Agents SDK. No scripts, network operations, file system access, or external commands detected. Static analysis correctly identified this as a prompt-only skill with zero security risk.
Score de qualité
Ce que vous pouvez construire
Créer un bot Teams avec authentification
Générer un bot ASP.NET Core prêt pour la production qui authentifie les utilisateurs via MSAL et répond aux messages dans les canaux Microsoft Teams.
Intégrer avec Copilot Studio
Créer une application console ou web qui se connecte directement à Copilot Studio en utilisant le modèle de client direct vers le moteur avec des jetons délégués.
Implémenter la gestion des erreurs de l'agent
Ajouter une gestion complète des erreurs et la gestion d'état aux sous-classes AgentApplication avec un nettoyage approprié et des flux de fin de conversation.
Essayez ces prompts
Générer un hôte Minimal API ASP.NET Core pour un bot Microsoft.Agents SDK. Inclure AddAgentApplicationOptions, AddAgent pour la classe MyAgent, MemoryStorage, AddAgentAspNetAuthentication, et un point de terminaison POST /api/messages avec IAgentHttpAdapter.
Créer une sous-classe AgentApplication appelée SupportAgent avec OnConversationUpdate pour les messages de bienvenue, OnActivity pour ActivityTypes.Message routé vers une méthode de gestionnaire, et OnTurnError pour la gestion des exceptions avec nettoyage d'état.
Créer un DelegatingHandler appelé AddTokenHandler qui acquiert des jetons en utilisant MSAL PublicClientApplication avec AcquireTokenSilent comme solution de repli vers AcquireTokenInteractive. Inclure l'injection d'en-tête Bearer et l'utilisation de CopilotClient.ScopeFromSettings.
Générer une application console HostApplicationBuilder qui enregistre CopilotClient avec AddHttpClient, un DelegatingHandler personnalisé pour les jetons, et utilise StartConversationAsync et AskQuestionAsync pour interagir avec Copilot Studio.
Bonnes pratiques
- Utiliser les classes de base AgentApplication pour centraliser la logique de routage, les gestionnaires d'événements et la gestion des erreurs à un seul endroit au lieu de les disperser dans les middleware.
- Remplacer MemoryStorage par un stockage persistant comme BlobStorage ou CosmosDbStorage pour les déploiements en production afin de maintenir l'état de la conversation entre les redémarrages du serveur.
- Activer TokenValidation dans appsettings.json et appliquer RequireAuthorization au point de terminaison /api/messages pour empêcher l'accès non autorisé à votre agent.
Éviter
- Stocker ClientSecret ou d'autres identifiants directement dans le code au lieu d'utiliser des fournisseurs de configuration comme Azure Key Vault, des variables d'identité gérées ou des variables d'environnement.
- Créer de nouvelles instances HttpClient pour chaque demande au lieu d'utiliser IHttpClientFactory pour enregistrer et réutiliser efficacement les connexions HTTP.
- Bloquer synchronement les appels asynchrones en utilisant .Result ou .Wait() au lieu d'attendre correctement les méthodes SDK asynchrones et de passer CancellationToken.