--- title: Integração Microsoft Teams description: "Colaboração em equipe e comunicação com integração Microsoft Teams para CrewAI." icon: "users" mode: "wide" --- ## Visão Geral Permita que seus agentes acessem dados do Teams, enviem mensagens, criem reuniões e gerenciem canais. Automatize a comunicação da equipe, agende reuniões, recupere mensagens e simplifique seus fluxos de trabalho de colaboração com automação alimentada por IA. ## Pré-requisitos Antes de usar a integração Microsoft Teams, certifique-se de ter: - Uma conta [CrewAI AMP](https://app.crewai.com) com assinatura ativa - Uma conta Microsoft com acesso ao Teams - Conectado sua conta Microsoft através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors) ## Configurando a Integração Microsoft Teams ### 1. Conecte sua Conta Microsoft 1. Navegue para [Integrações CrewAI AMP](https://app.crewai.com/crewai_plus/connectors) 2. Encontre **Microsoft Teams** na seção de Integrações de Autenticação 3. Clique em **Conectar** e complete o fluxo OAuth 4. Conceda as permissões necessárias para acesso ao Teams 5. Copie seu Token Enterprise das [Configurações de Integração](https://app.crewai.com/crewai_plus/settings/integrations) ### 2. Instale o Pacote Necessário ```bash uv add crewai-tools ``` ### 3. Configuração de variável de ambiente Para usar integrações com `Agent(apps=[])`, você deve definir a variável de ambiente `CREWAI_PLATFORM_INTEGRATION_TOKEN` com seu Enterprise Token. ```bash export CREWAI_PLATFORM_INTEGRATION_TOKEN="seu_enterprise_token" ``` Ou adicione ao seu arquivo `.env`: ``` CREWAI_PLATFORM_INTEGRATION_TOKEN=seu_enterprise_token ``` ## Ações Disponíveis **Descrição:** Obter todas as equipes das quais o usuário é membro. **Parâmetros:** - Nenhum parâmetro necessário. **Descrição:** Obter canais em uma equipe específica. **Parâmetros:** - `team_id` (string, obrigatório): O ID da equipe. **Descrição:** Enviar uma mensagem para um canal do Teams. **Parâmetros:** - `team_id` (string, obrigatório): O ID da equipe. - `channel_id` (string, obrigatório): O ID do canal. - `message` (string, obrigatório): O conteúdo da mensagem. - `content_type` (string, opcional): Tipo de conteúdo (html ou text). Opções: html, text. Padrão: text. **Descrição:** Obter mensagens de um canal do Teams. **Parâmetros:** - `team_id` (string, obrigatório): O ID da equipe. - `channel_id` (string, obrigatório): O ID do canal. - `top` (integer, opcional): Número de mensagens a recuperar (máx 50). Padrão: 20. **Descrição:** Criar uma reunião do Teams. **Parâmetros:** - `subject` (string, obrigatório): Assunto/título da reunião. - `startDateTime` (string, obrigatório): Hora de início da reunião (formato ISO 8601 com fuso horário). - `endDateTime` (string, obrigatório): Hora de término da reunião (formato ISO 8601 com fuso horário). **Descrição:** Pesquisar reuniões online por URL de participação na web. **Parâmetros:** - `join_web_url` (string, obrigatório): A URL de participação na web da reunião a pesquisar. **Descrição:** Pesquisar reuniões online por ID externo da reunião. **Parâmetros:** - `join_meeting_id` (string, obrigatório): O ID da reunião (código numérico) que os participantes usam para entrar. É o joinMeetingId exibido nos convites da reunião, não o meeting id da API Graph. **Descrição:** Obter detalhes de uma reunião online específica. **Parâmetros:** - `meeting_id` (string, obrigatório): O ID da reunião na API Graph (string alfanumérica longa). Obter pelas ações create_meeting ou search_online_meetings. Diferente do joinMeetingId numérico. **Descrição:** Obter membros de uma equipe específica. **Parâmetros:** - `team_id` (string, obrigatório): O identificador único da equipe. Obter pela ação get_teams. - `top` (integer, opcional): Número máximo de membros a recuperar por página (1-999). Padrão: 100. - `skip_token` (string, opcional): Token de paginação de uma resposta anterior. Quando a resposta incluir @odata.nextLink, extraia o valor do parâmetro $skiptoken e passe aqui para obter a próxima página de resultados. **Descrição:** Criar um novo canal em uma equipe. **Parâmetros:** - `team_id` (string, obrigatório): O identificador único da equipe. Obter pela ação get_teams. - `display_name` (string, obrigatório): Nome do canal exibido no Teams. Deve ser único na equipe. Máx 50 caracteres. - `description` (string, opcional): Descrição opcional explicando o propósito do canal. Visível nos detalhes do canal. Máx 1024 caracteres. - `membership_type` (string, opcional): Visibilidade do canal. Opções: standard, private. "standard" = visível para todos os membros da equipe, "private" = visível apenas para membros adicionados especificamente. Padrão: standard. **Descrição:** Obter respostas a uma mensagem específica em um canal. **Parâmetros:** - `team_id` (string, obrigatório): O identificador único da equipe. Obter pela ação get_teams. - `channel_id` (string, obrigatório): O identificador único do canal. Obter pela ação get_channels. - `message_id` (string, obrigatório): O identificador único da mensagem pai. Obter pela ação get_messages. - `top` (integer, opcional): Número máximo de respostas a recuperar por página (1-50). Padrão: 50. - `skip_token` (string, opcional): Token de paginação de uma resposta anterior. Quando a resposta incluir @odata.nextLink, extraia o valor do parâmetro $skiptoken e passe aqui para obter a próxima página de resultados. **Descrição:** Responder a uma mensagem em um canal do Teams. **Parâmetros:** - `team_id` (string, obrigatório): O identificador único da equipe. Obter pela ação get_teams. - `channel_id` (string, obrigatório): O identificador único do canal. Obter pela ação get_channels. - `message_id` (string, obrigatório): O identificador único da mensagem a responder. Obter pela ação get_messages. - `message` (string, obrigatório): O conteúdo da resposta. Para HTML, inclua tags de formatação. Para texto, use apenas texto simples. - `content_type` (string, opcional): Formato do conteúdo. Opções: html, text. "text" para texto simples, "html" para texto rico com formatação. Padrão: text. **Descrição:** Atualizar uma reunião online existente. **Parâmetros:** - `meeting_id` (string, obrigatório): O identificador único da reunião. Obter pelas ações create_meeting ou search_online_meetings. - `subject` (string, opcional): Novo título da reunião. - `startDateTime` (string, opcional): Nova hora de início no formato ISO 8601 com fuso horário. Exemplo: "2024-01-20T10:00:00-08:00". - `endDateTime` (string, opcional): Nova hora de término no formato ISO 8601 com fuso horário. **Descrição:** Excluir uma reunião online. **Parâmetros:** - `meeting_id` (string, obrigatório): O identificador único da reunião a excluir. Obter pelas ações create_meeting ou search_online_meetings. ## Exemplos de Uso ### Configuração Básica do Agente Microsoft Teams ```python from crewai import Agent, Task, Crew # Crie um agente com capacidades do Microsoft Teams teams_agent = Agent( role="Coordenador do Teams", goal="Gerenciar comunicação e reuniões do Teams de forma eficiente", backstory="Um assistente IA especializado em operações do Microsoft Teams e colaboração em equipe.", apps=['microsoft_teams'] # Todas as ações do Teams estarão disponíveis ) # Tarefa para listar equipes e canais explore_teams_task = Task( description="Listar todas as equipes das quais sou membro e depois obter os canais da primeira equipe.", agent=teams_agent, expected_output="Lista de equipes e canais exibida." ) # Execute a tarefa crew = Crew( agents=[teams_agent], tasks=[explore_teams_task] ) crew.kickoff() ``` ## Solução de Problemas ### Problemas Comuns **Erros de Autenticação** - Certifique-se de que sua conta Microsoft tenha as permissões necessárias para acesso ao Teams. - Escopos necessários incluem: `Team.ReadBasic.All`, `Channel.ReadBasic.All`, `ChannelMessage.Send`, `ChannelMessage.Read.All`, `OnlineMeetings.ReadWrite`, `OnlineMeetings.Read`. **Acesso a Equipes e Canais** - Certifique-se de que você é membro das equipes que está tentando acessar. - Verifique novamente os IDs de equipe e canal para correção. ### Obtendo Ajuda Entre em contato com nossa equipe de suporte para assistência com configuração ou solução de problemas da integração Microsoft Teams.