--- title: Integração Microsoft Outlook description: "Gerenciamento de email, calendário e contatos com integração Microsoft Outlook para CrewAI." icon: "envelope" mode: "wide" --- ## Visão Geral Permita que seus agentes acessem e gerenciem emails, eventos de calendário e contatos do Outlook. Envie emails, recupere mensagens, gerencie eventos de calendário e organize contatos com automação alimentada por IA. ## Pré-requisitos Antes de usar a integração Microsoft Outlook, certifique-se de ter: - Uma conta [CrewAI AMP](https://app.crewai.com) com assinatura ativa - Uma conta Microsoft com acesso ao Outlook - Conectado sua conta Microsoft através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors) ## Configurando a Integração Microsoft Outlook ### 1. Conecte sua Conta Microsoft 1. Navegue para [Integrações CrewAI AMP](https://app.crewai.com/crewai_plus/connectors) 2. Encontre **Microsoft Outlook** 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 a email, calendário e contatos 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 mensagens de email da caixa de correio do usuário. **Parâmetros:** - `top` (integer, opcional): Número de mensagens a recuperar (máx 1000). Padrão: 10. - `filter` (string, opcional): Expressão de filtro OData (ex: "isRead eq false"). - `search` (string, opcional): String de consulta de pesquisa. - `orderby` (string, opcional): Ordenar por campo (ex: "receivedDateTime desc"). Padrão: "receivedDateTime desc". - `select` (string, opcional): Selecionar propriedades específicas para retornar. - `expand` (string, opcional): Expandir recursos relacionados inline. **Descrição:** Enviar uma mensagem de email. **Parâmetros:** - `to_recipients` (array, obrigatório): Array de endereços de email dos destinatários. - `cc_recipients` (array, opcional): Array de endereços de email dos destinatários em cópia. - `bcc_recipients` (array, opcional): Array de endereços de email dos destinatários em cópia oculta. - `subject` (string, obrigatório): Assunto do email. - `body` (string, obrigatório): Conteúdo do corpo do email. - `body_type` (string, opcional): Tipo de conteúdo do corpo. Opções: Text, HTML. Padrão: HTML. - `importance` (string, opcional): Nível de importância da mensagem. Opções: low, normal, high. Padrão: normal. - `reply_to` (array, opcional): Array de endereços de email para resposta. - `save_to_sent_items` (boolean, opcional): Se deve salvar a mensagem na pasta Itens Enviados. Padrão: true. **Descrição:** Obter eventos de calendário do calendário do usuário. **Parâmetros:** - `top` (integer, opcional): Número de eventos a recuperar (máx 1000). Padrão: 10. - `skip` (integer, opcional): Número de eventos a pular. Padrão: 0. - `filter` (string, opcional): Expressão de filtro OData (ex: "start/dateTime ge '2024-01-01T00:00:00Z'"). - `orderby` (string, opcional): Ordenar por campo (ex: "start/dateTime asc"). Padrão: "start/dateTime asc". **Descrição:** Criar um novo evento de calendário. **Parâmetros:** - `subject` (string, obrigatório): Assunto/título do evento. - `body` (string, opcional): Corpo/descrição do evento. - `start_datetime` (string, obrigatório): Data e hora de início no formato ISO 8601 (ex: '2024-01-20T10:00:00'). - `end_datetime` (string, obrigatório): Data e hora de término no formato ISO 8601. - `timezone` (string, opcional): Fuso horário (ex: 'Pacific Standard Time'). Padrão: UTC. - `location` (string, opcional): Local do evento. - `attendees` (array, opcional): Array de endereços de email dos participantes. **Descrição:** Obter contatos do catálogo de endereços do usuário. **Parâmetros:** - `top` (integer, opcional): Número de contatos a recuperar (máx 1000). Padrão: 10. - `skip` (integer, opcional): Número de contatos a pular. Padrão: 0. - `filter` (string, opcional): Expressão de filtro OData. - `orderby` (string, opcional): Ordenar por campo (ex: "displayName asc"). Padrão: "displayName asc". **Descrição:** Criar um novo contato no catálogo de endereços do usuário. **Parâmetros:** - `displayName` (string, obrigatório): Nome de exibição do contato. - `givenName` (string, opcional): Primeiro nome do contato. - `surname` (string, opcional): Sobrenome do contato. - `emailAddresses` (array, opcional): Array de endereços de email. Cada item é um objeto com `address` (string) e `name` (string). - `businessPhones` (array, opcional): Array de números de telefone comerciais. - `homePhones` (array, opcional): Array de números de telefone residenciais. - `jobTitle` (string, opcional): Cargo do contato. - `companyName` (string, opcional): Nome da empresa do contato. ## Exemplos de Uso ### Configuração Básica do Agente Microsoft Outlook ```python from crewai import Agent, Task, Crew # Crie um agente com capacidades do Microsoft Outlook outlook_agent = Agent( role="Assistente de Email", goal="Gerenciar emails, eventos de calendário e contatos de forma eficiente", backstory="Um assistente IA especializado em operações do Microsoft Outlook e gerenciamento de comunicação.", apps=['microsoft_outlook'] # Todas as ações do Outlook estarão disponíveis ) # Tarefa para enviar um email send_email_task = Task( description="Enviar um email para 'colega@exemplo.com' com assunto 'Atualização do Projeto' e corpo 'Olá, aqui está a última atualização do projeto. Atenciosamente.'", agent=outlook_agent, expected_output="Email enviado com sucesso para colega@exemplo.com" ) # Execute a tarefa crew = Crew( agents=[outlook_agent], tasks=[send_email_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 a email, calendário e contatos. - Escopos necessários incluem: `Mail.Read`, `Mail.Send`, `Calendars.Read`, `Calendars.ReadWrite`, `Contacts.Read`, `Contacts.ReadWrite`. **Problemas de Envio de Email** - Certifique-se de que `to_recipients`, `subject` e `body` sejam fornecidos para `send_email`. - Verifique se os endereços de email estão formatados corretamente. ### 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 Outlook.