Habilidades Microsoft 365 Agents SDK (.NET)
📦

Microsoft 365 Agents SDK (.NET)

Seguro

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.

Suporta: Claude Codex Code(CC)
🥉 72 Bronze
1

Baixar o ZIP da skill

2

Upload no Claude

Vá em Configurações → Capacidades → Skills → Upload skill

3

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

Seguro
v1 • 2/25/2026

Documentation-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.

1
Arquivos analisados
296
Linhas analisadas
0
achados
1
Total de auditorias
Nenhum problema de segurança encontrado
Auditado por: claude

Pontuação de qualidade

38
Arquitetura
100
Manutenibilidade
87
Conteúdo
50
Comunidade
100
Segurança
74
Conformidade com especificações

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

Criar host agente ASP.NET Core básico
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.
Adicionar AgentApplication com roteamento
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.
Configurar handler de autenticação MSAL
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.
Configurar cliente console Copilot Studio
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?
AddAgentApplicationOptions registra configurações centrais como StartTypingTimer e RemoveRecipientMention. AddAgent registra sua subclasse AgentApplication específica (como MyAgent) no container de injeção de dependência.
Quando devo usar MemoryStorage versus um provedor de armazenamento persistido?
Use MemoryStorage apenas para desenvolvimento local e testes. Para produção, use BlobStorage, CosmosDbStorage, ou outro provedor de armazenamento persistido para manter estado de conversação entre reinicializações da aplicação e cenários de scale-out.
Como obtenho ClientId e ClientSecret para a configuração?
Registre uma aplicação no Azure Active Directory. O ClientId vem da visão geral do registro do app. Crie um segredo de cliente na seção Certificates & secrets. Use o Directory (tenant) ID para TenantId.
Qual fluxo de autenticação devo usar para integração Copilot Studio?
Para apps console ou cenários interativos, use PublicClientApplication com AcquireTokenInteractive. Para cenários servidor-para-servidor como APIs web, use ConfidentialClientApplication com fluxo de credenciais de cliente.
Por que o endpoint /api/messages verifica app.Environment.IsDevelopment() antes de requerer autorização?
Isso permite testes locais sem autenticação em modo de desenvolvimento enquanto força autorização em produção. Sempre teste com autenticação habilitada antes de implantar para garantir que sua configuração de validação de token funciona corretamente.
Posso hospedar este agente junto com outros endpoints ASP.NET Core?
Sim, Microsoft.Agents SDK integra com roteamento padrão do ASP.NET Core. Você pode adicionar controllers adicionais, Minimal APIs, ou middleware junto ao endpoint /api/messages para aplicações híbridas.

Detalhes do Desenvolvedor

Estrutura de arquivos

📄 SKILL.md