Pular para o conteúdo

Integração Microsoft Outlook

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.

Antes de usar a integração Microsoft Outlook, certifique-se de ter:

  1. Navegue para Integrações CrewAI AMP
  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
Terminal window
uv add crewai-tools
Terminal window
export CREWAI_PLATFORM_INTEGRATION_TOKEN="seu_enterprise_token"

Ou adicione ao seu arquivo .env:

CREWAI_PLATFORM_INTEGRATION_TOKEN=seu_enterprise_token
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.
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.
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”.
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.
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”.
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.
microsoft_outlook/get_message

Descrição: Obter uma mensagem de email específica por ID.

Parâmetros:

  • message_id (string, obrigatório): O identificador único da mensagem. Obter pela ação get_messages.
  • select (string, opcional): Lista separada por vírgulas de propriedades a retornar. Exemplo: “id,subject,body,from,receivedDateTime”. Padrão: “id,subject,body,from,toRecipients,receivedDateTime”.
microsoft_outlook/reply_to_email

Descrição: Responder a uma mensagem de email.

Parâmetros:

  • message_id (string, obrigatório): O identificador único da mensagem a responder. Obter pela ação get_messages.
  • comment (string, obrigatório): O conteúdo da mensagem de resposta. Pode ser texto simples ou HTML. A mensagem original será citada abaixo deste conteúdo.
microsoft_outlook/forward_email

Descrição: Encaminhar uma mensagem de email.

Parâmetros:

  • message_id (string, obrigatório): O identificador único da mensagem a encaminhar. Obter pela ação get_messages.
  • to_recipients (array, obrigatório): Array de endereços de email dos destinatários. Exemplo: [“[email protected]”, “[email protected]”].
  • comment (string, opcional): Mensagem opcional a incluir acima do conteúdo encaminhado. Pode ser texto simples ou HTML.
microsoft_outlook/mark_message_read

Descrição: Marcar uma mensagem como lida ou não lida.

Parâmetros:

  • message_id (string, obrigatório): O identificador único da mensagem. Obter pela ação get_messages.
  • is_read (boolean, obrigatório): Definir como true para marcar como lida, false para marcar como não lida.
microsoft_outlook/delete_message

Descrição: Excluir uma mensagem de email.

Parâmetros:

  • message_id (string, obrigatório): O identificador único da mensagem a excluir. Obter pela ação get_messages.
microsoft_outlook/update_event

Descrição: Atualizar um evento de calendário existente.

Parâmetros:

  • event_id (string, obrigatório): O identificador único do evento. Obter pela ação get_calendar_events.
  • subject (string, opcional): Novo assunto/título do evento.
  • start_time (string, opcional): Nova hora de início no formato ISO 8601 (ex: “2024-01-20T10:00:00”). OBRIGATÓRIO: Também deve fornecer start_timezone ao usar este campo.
  • start_timezone (string, opcional): Fuso horário da hora de início. OBRIGATÓRIO ao atualizar start_time. Exemplos: “Pacific Standard Time”, “Eastern Standard Time”, “UTC”.
  • end_time (string, opcional): Nova hora de término no formato ISO 8601. OBRIGATÓRIO: Também deve fornecer end_timezone ao usar este campo.
  • end_timezone (string, opcional): Fuso horário da hora de término. OBRIGATÓRIO ao atualizar end_time. Exemplos: “Pacific Standard Time”, “Eastern Standard Time”, “UTC”.
  • location (string, opcional): Novo local do evento.
  • body (string, opcional): Novo corpo/descrição do evento. Suporta formatação HTML.
microsoft_outlook/delete_event

Descrição: Excluir um evento de calendário.

Parâmetros:

  • event_id (string, obrigatório): O identificador único do evento a excluir. Obter pela ação get_calendar_events.

Configuração Básica do Agente Microsoft Outlook

Seção intitulada “Configuração Básica do Agente Microsoft Outlook”
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 '[email protected]' 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 [email protected]"
)
# Execute a tarefa
crew = Crew(
agents=[outlook_agent],
tasks=[send_email_task]
)
crew.kickoff()

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.

Precisa de 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.