DOCS/troubleshooting/250919_naverworks_to_slack_mail_integration.md

3.8 KiB

NAVER WORKS 이메일 → Slack 전달 시스템 구현

날짜: 2025-09-19

작성자: Claude (51123 서버 관리자)

관련 서비스: rb8001, skill-email

상태: 부분 구현


1. 현재 구현 상태

구현 완료

  • auth-server:
    • naverworks.py, naverworks_passport.py 파일 존재
    • NAVER WORKS OAuth 환경변수 설정 (CLIENT_ID, CLIENT_SECRET, REDIRECT_URI, TENANT_ID)
  • skill-email (포트 8501):
    • services/naverworks_provider.py NaverWorksProvider 클래스 구현
    • GET /messages 엔드포인트 (provider 파라미터 지원)
    • POST /send 엔드포인트
  • rb8001:
    • app/skills/email_integration.py EmailIntegration 클래스 존재
    • skill-email 포트 8501 호출 구조

미구현

  • POST /mail-summary 엔드포인트 없음
  • rb8001 EmailIntegration 클래스는 Gmail만 처리
  • 네이버웍스 메일 키워드 감지 로직 없음
  • Slack Block Kit 포맷터 없음

2. 필요 구현 사항

2.1 skill-email 수정 사항

  • POST /mail-summary 엔드포인트 추가 필요
  • 메일 요약 생성 로직 구현 필요
  • Slack 블록 포맷 변환 기능 필요

2.2 rb8001 수정 사항

  • EmailIntegration 클래스에 NaverWorks 지원 추가 필요
  • 네이버웍스 메일 키워드 감지 로직 추가 필요
  • provider=naverworks 파라미터 전달 로직 필요

3. 파일 위치

skill-email

  • main.py: API 엔드포인트 정의
  • services/naverworks_provider.py: NAVER WORKS API 연동
  • services/gmail_provider.py: Gmail API 연동
  • services/email_provider.py: Provider 인터페이스

rb8001

  • app/skills/email_integration.py: 이메일 스킬 통합
  • app/main.py: 메시지 라우팅

auth-server

  • app/providers/naverworks.py: OAuth 로그인
  • app/providers/naverworks_passport.py: Passport 시스템

4. 핵심 시나리오

4.1 콜드메일 리스트업

  • 목적: 스타트업 콜드메일 자동 수집 및 Slack 전달
  • 트리거: 새 콜드메일 수신 또는 주기적 확인
  • 처리:
    1. NAVER WORKS에서 콜드메일 필터링 (발신자/제목 패턴)
    2. 메일 정보 추출: 발신자, 제목, 본문 요약, 첨부파일
    3. Slack 리스트 형식으로 포맷팅
    4. 지정 채널에 자동 포스팅
  • 출력 형식: 구조화된 리스트 (회사명, 담당자, 제안내용, 첨부파일 링크)

4.2 일일 브리핑

  • 목적: 회사 대표메일 중요사항 자동 요약
  • 트리거: 매일 오전 정해진 시간 (예: 09:00)
  • 처리:
    1. 최근 24시간 대표메일 조회
    2. 중요도 분석 (긴급, 계약, 결제, 공지 등 키워드)
    3. AI 요약 생성
    4. 우선순위별 정렬
  • 출력: Slack 전체채널 브리핑 메시지

5. 구현 체크리스트

5.1 콜드메일 리스트업 기능

  • skill-email /cold-mail-list 엔드포인트 구현
  • 콜드메일 필터링 로직 (발신자 도메인, 제목 패턴)
  • 첨부파일 처리 및 링크 생성
  • Slack 리스트 포맷터 (테이블 형식)
  • 실시간 또는 주기적 체크 스케줄러

5.2 일일 브리핑 기능

  • skill-email /daily-briefing 엔드포인트 구현
  • 중요 메일 필터링 알고리즘
  • Gemini API 활용 요약 생성
  • 우선순위 판단 로직
  • Cron 스케줄러 설정 (매일 09:00)

5.3 공통 기능

  • rb8001 EmailIntegration에 NaverWorks 지원 추가
  • Slack Block Kit 포맷터 구현
  • provider=naverworks 파라미터 전달 로직
  • 에러 처리 및 재시도 로직

6. 환경 설정 확인 사항

  • skill-email .env 파일에 NAVER WORKS 관련 설정 확인
  • rb8001에서 skill-email 호출 시 포트 8501 사용
  • auth-server의 NAVER WORKS OAuth 설정 확인
  • Slack 채널 ID 및 권한 설정
  • 스케줄러 시간대 설정 (KST)