Files
crewAI/docs/pt-BR/enterprise/integrations/microsoft_outlook.mdx

178 lines
7.6 KiB
Plaintext

---
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
<Note>
Para usar integrações com `Agent(apps=[])`, você deve definir a variável de ambiente `CREWAI_PLATFORM_INTEGRATION_TOKEN` com seu Enterprise Token.
</Note>
```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
<AccordionGroup>
<Accordion title="microsoft_outlook/get_messages">
**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.
</Accordion>
<Accordion title="microsoft_outlook/send_email">
**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.
</Accordion>
<Accordion title="microsoft_outlook/get_calendar_events">
**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".
</Accordion>
<Accordion title="microsoft_outlook/create_calendar_event">
**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.
</Accordion>
<Accordion title="microsoft_outlook/get_contacts">
**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".
</Accordion>
<Accordion title="microsoft_outlook/create_contact">
**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.
</Accordion>
</AccordionGroup>
## 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
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
Entre em contato com nossa equipe de suporte para assistência com configuração ou solução de problemas da integração Microsoft Outlook.
</Card>