Microsoft 365 Agents SDK (.NET)
Criar Agentes Microsoft 365 com .NET
Criar agentes multicanal para Microsoft 365 requer compreender o modelo de hospedagem do Microsoft.Agents SDK, padrões de autenticação e arquitetura de roteamento. Esta competência fornece exemplos de código prontos para produção para hospedagem em ASP.NET Core, autenticação MSAL e integração com Copilot Studio.
Baixar o ZIP da skill
Upload no Claude
Vá em Configurações → Capacidades → Skills → Upload skill
Ative e comece a usar
Testar
A utilizar "Microsoft 365 Agents SDK (.NET)". Criar uma subclasse AgentApplication com um handler de mensagem que ecoa entrada do usuário
Resultado esperado:
Gera uma classe C# herdando AgentApplication com construtor registrando OnActivity(ActivityTypes.Message, OnMessageAsync), e um método OnMessageAsync que chama turnContext.SendActivityAsync com o texto ecoado.
A utilizar "Microsoft 365 Agents SDK (.NET)". Gerar appsettings.json com configuração TokenValidation e ServiceConnection
Resultado esperado:
Produz uma configuração JSON com seção TokenValidation contendo Enabled, array Audiences, TenantId, e seção Connections com AuthType, ClientId, ClientSecret, AuthorityEndpoint, e Scopes para api.botframework.com.
A utilizar "Microsoft 365 Agents SDK (.NET)". Mostrar como adicionar autorização ao endpoint /api/messages em produção
Resultado esperado:
Mostra envolver a rota POST com if (!app.Environment.IsDevelopment()) { incomingRoute.RequireAuthorization(); } para forçar autenticação fora do ambiente de desenvolvimento.
Auditoria de Segurança
SeguroDocumentation-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.
Pontuação de qualidade
O Que Você Pode Construir
Criar bot do Teams com autenticação
Gere um bot ASP.NET Core pronto para produção que autentica usuários via MSAL e responde a mensagens em canais do Microsoft Teams.
Integrar com Copilot Studio
Construa uma aplicação console ou web que conecta diretamente ao Copilot Studio usando o padrão de cliente direct-to-engine com tokens delegados.
Implementar tratamento de erros do agente
Adicione tratamento abrangente de erros e gerenciamento de estado a subclasses AgentApplication com limpeza adequada e fluxos de fim de conversação.
Tente Estes Prompts
Gere um host Minimal API ASP.NET Core para um bot Microsoft.Agents SDK. Inclua AddAgentApplicationOptions, AddAgent para classe MyAgent, MemoryStorage, AddAgentAspNetAuthentication, e um endpoint POST /api/messages com IAgentHttpAdapter.
Crie uma subclasse AgentApplication chamada SupportAgent com OnConversationUpdate para mensagens de boas-vindas, OnActivity para ActivityTypes.Message roteado para um método handler, e OnTurnError para tratamento de exceções com limpeza de estado.
Crie um DelegatingHandler chamado AddTokenHandler que adquire tokens usando PublicClientApplication MSAL com AcquireTokenSilent fallback para AcquireTokenInteractive. Inclua injeção de cabeçalho Bearer e uso de CopilotClient.ScopeFromSettings.
Gere uma aplicação console HostApplicationBuilder que registra CopilotClient com AddHttpClient, DelegatingHandler customizado para tokens, e usa StartConversationAsync e AskQuestionAsync para interagir com Copilot Studio.
Melhores Práticas
- Use classes base AgentApplication para centralizar lógica de roteamento, handlers de evento e tratamento de erros em um local ao invés de dispersar através de middleware.
- Substitua MemoryStorage com armazenamento persistido como BlobStorage ou CosmosDbStorage para implantações em produção para manter estado de conversação entre reinicializações do servidor.
- Habilite TokenValidation em appsettings.json e aplique RequireAuthorization ao endpoint /api/messages para prevenir acesso não autorizado ao seu agente.
Evitar
- Armazenar ClientSecret ou outras credenciais diretamente no código ao invés de usar provedores de configuração como Azure Key Vault, variáveis de ambiente ou identidade gerenciada.
- Criar novas instâncias HttpClient para cada requisição ao invés de usar IHttpClientFactory para registrar e reutilizar conexões HTTP eficientemente.
- Bloquear sincronamente em chamadas assíncronas usando .Result ou .Wait() ao invés de aguardar propriamente métodos async do SDK e passar CancellationToken.
Perguntas Frequentes
Qual é a diferença entre AddAgentApplicationOptions e AddAgent?
Quando devo usar MemoryStorage versus um provedor de armazenamento persistido?
Como obtenho ClientId e ClientSecret para a configuração?
Qual fluxo de autenticação devo usar para integração Copilot Studio?
Por que o endpoint /api/messages verifica app.Environment.IsDevelopment() antes de requerer autorização?
Posso hospedar este agente junto com outros endpoints ASP.NET Core?
Detalhes do Desenvolvedor
Autor
sickn33Licença
MIT
Repositório
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/m365-agents-dotnetReferência
main
Estrutura de arquivos
📄 SKILL.md