mirror of
https://github.com/crewAIInc/crewAI.git
synced 2025-12-16 04:18:35 +00:00
178 lines
7.6 KiB
Plaintext
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>
|