메인 콘텐츠로 건너뛰기

개요

에이전트가 Outlook 이메일, 캘린더 이벤트 및 연락처에 액세스하고 관리할 수 있도록 합니다. AI 기반 자동화로 이메일을 보내고, 메시지를 검색하고, 캘린더 이벤트를 관리하며, 연락처를 구성합니다.

전제 조건

Microsoft Outlook 통합을 사용하기 전에 다음 사항을 확인하세요:
  • 활성 구독이 있는 CrewAI AMP 계정
  • Outlook 액세스 권한이 있는 Microsoft 계정
  • 통합 페이지를 통해 Microsoft 계정 연결

Microsoft Outlook 통합 설정

1. Microsoft 계정 연결

  1. CrewAI AMP 통합으로 이동
  2. 인증 통합 섹션에서 Microsoft Outlook 찾기
  3. 연결을 클릭하고 OAuth 플로우 완료
  4. 이메일, 캘린더 및 연락처 액세스에 필요한 권한 부여
  5. 통합 설정에서 Enterprise Token 복사

2. 필요한 패키지 설치

uv add crewai-tools

사용 가능한 작업

설명: 사용자의 사서함에서 이메일 메시지를 가져옵니다.매개변수:
  • top (integer, 선택사항): 검색할 메시지 수 (최대 1000). 기본값: 10.
  • filter (string, 선택사항): OData 필터 표현식 (예: “isRead eq false”).
  • search (string, 선택사항): 검색 쿼리 문자열.
  • orderby (string, 선택사항): 필드별 정렬 (예: “receivedDateTime desc”). 기본값: “receivedDateTime desc”.
  • select (string, 선택사항): 반환할 특정 속성 선택.
  • expand (string, 선택사항): 관련 리소스를 인라인으로 확장.
설명: 이메일 메시지를 보냅니다.매개변수:
  • to_recipients (array, 필수): 받는 사람의 이메일 주소 배열.
  • cc_recipients (array, 선택사항): 참조 받는 사람의 이메일 주소 배열.
  • bcc_recipients (array, 선택사항): 숨은 참조 받는 사람의 이메일 주소 배열.
  • subject (string, 필수): 이메일 제목.
  • body (string, 필수): 이메일 본문 내용.
  • body_type (string, 선택사항): 본문 내용 유형. 옵션: Text, HTML. 기본값: HTML.
  • importance (string, 선택사항): 메시지 중요도 수준. 옵션: low, normal, high. 기본값: normal.
  • reply_to (array, 선택사항): 회신용 이메일 주소 배열.
  • save_to_sent_items (boolean, 선택사항): 보낸 편지함 폴더에 메시지를 저장할지 여부. 기본값: true.
설명: 사용자의 캘린더에서 캘린더 이벤트를 가져옵니다.매개변수:
  • top (integer, 선택사항): 검색할 이벤트 수 (최대 1000). 기본값: 10.
  • skip (integer, 선택사항): 건너뛸 이벤트 수. 기본값: 0.
  • filter (string, 선택사항): OData 필터 표현식 (예: “start/dateTime ge ‘2024-01-01T00:00:00Z’”).
  • orderby (string, 선택사항): 필드별 정렬 (예: “start/dateTime asc”). 기본값: “start/dateTime asc”.
설명: 새 캘린더 이벤트를 만듭니다.매개변수:
  • subject (string, 필수): 이벤트 제목/제목.
  • body (string, 선택사항): 이벤트 본문/설명.
  • start_datetime (string, 필수): ISO 8601 형식의 시작 날짜 및 시간 (예: ‘2024-01-20T10:00:00’).
  • end_datetime (string, 필수): ISO 8601 형식의 종료 날짜 및 시간.
  • timezone (string, 선택사항): 시간대 (예: ‘Pacific Standard Time’). 기본값: UTC.
  • location (string, 선택사항): 이벤트 위치.
  • attendees (array, 선택사항): 참석자의 이메일 주소 배열.
설명: 사용자의 주소록에서 연락처를 가져옵니다.매개변수:
  • top (integer, 선택사항): 검색할 연락처 수 (최대 1000). 기본값: 10.
  • skip (integer, 선택사항): 건너뛸 연락처 수. 기본값: 0.
  • filter (string, 선택사항): OData 필터 표현식.
  • orderby (string, 선택사항): 필드별 정렬 (예: “displayName asc”). 기본값: “displayName asc”.
설명: 사용자의 주소록에 새 연락처를 만듭니다.매개변수:
  • displayName (string, 필수): 연락처의 표시 이름.
  • givenName (string, 선택사항): 연락처의 이름.
  • surname (string, 선택사항): 연락처의 성.
  • emailAddresses (array, 선택사항): 이메일 주소 배열. 각 항목은 address (string)와 name (string)이 있는 객체.
  • businessPhones (array, 선택사항): 사업용 전화번호 배열.
  • homePhones (array, 선택사항): 집 전화번호 배열.
  • jobTitle (string, 선택사항): 연락처의 직책.
  • companyName (string, 선택사항): 연락처의 회사 이름.

사용 예제

기본 Microsoft Outlook 에이전트 설정

from crewai import Agent, Task, Crew

# Microsoft Outlook 기능을 가진 에이전트 생성
outlook_agent = Agent(
    role="이메일 어시스턴트",
    goal="이메일, 캘린더 이벤트 및 연락처를 효율적으로 관리",
    backstory="Microsoft Outlook 작업 및 커뮤니케이션 관리 전문 AI 어시스턴트.",
    apps=['microsoft_outlook']  # 모든 Outlook 작업을 사용할 수 있습니다
)

# 이메일 보내기 작업
send_email_task = Task(
    description="'colleague@example.com'에게 제목 '프로젝트 업데이트'와 본문 '안녕하세요, 프로젝트의 최신 업데이트입니다. 감사합니다.'로 이메일을 보내세요",
    agent=outlook_agent,
    expected_output="colleague@example.com에게 이메일이 성공적으로 전송됨"
)

# 작업 실행
crew = Crew(
    agents=[outlook_agent],
    tasks=[send_email_task]
)

crew.kickoff()

문제 해결

일반적인 문제

인증 오류
  • Microsoft 계정이 이메일, 캘린더 및 연락처 액세스에 필요한 권한을 가지고 있는지 확인하세요.
  • 필요한 범위: Mail.Read, Mail.Send, Calendars.Read, Calendars.ReadWrite, Contacts.Read, Contacts.ReadWrite.
이메일 보내기 문제
  • send_emailto_recipients, subject, body가 제공되는지 확인하세요.
  • 이메일 주소가 올바르게 형식화되어 있는지 확인하세요.

도움 받기

도움이 필요하신가요?

Microsoft Outlook 통합 설정 또는 문제 해결에 대한 지원이 필요하시면 지원팀에 문의하세요.
I