DOCS/troubleshooting/250919_naverworks_slack_02_daily_briefing.md
happybell80 8ca42561ea Refactor: 네이버웍스→Slack 연동 문서를 3개로 분리 및 DB 기반 자동 Provider 감지 방식 도입
- 기본구성: DB 조회로 자동 provider 선택 (키워드 감지 대체)
- 일일브리핑: 매일 09:00 중요 메일 요약
- 콜드메일: 스타트업 콜드메일 자동 필터링
- mailAddress null 문제 해결 상태 업데이트
2025-09-19 19:01:54 +09:00

3.1 KiB

NAVER WORKS → Slack 연동 [2/3] 일일 브리핑

날짜: 2025-09-19

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

관련 서비스: rb8001, skill-email

상태: 미구현

관련 문서


1. 일일 브리핑 개요

목적

회사 대표메일 중요사항을 매일 아침 자동으로 요약하여 Slack 전체 채널에 브리핑

핵심 기능

  • 최근 24시간 메일 중 중요 메일 필터링
  • AI 요약 생성
  • 우선순위별 정렬
  • Slack 전체 채널 자동 포스팅

2. 구현 방식

2.1 트리거 방식

  • 스케줄러: 매일 09:00 KST 자동 실행
  • 위치: rb8001의 app/services/scheduler.py
  • 도구: APScheduler

2.2 처리 흐름

  1. 스케줄러가 09:00에 rb8001 트리거
  2. rb8001이 skill-email /daily-briefing 호출
  3. skill-email이 NAVER WORKS API로 24시간 메일 조회
  4. 중요도 필터링 (긴급, 계약, 결제, 공지 키워드)
  5. Gemini API로 요약 생성
  6. Slack Block Kit 형식으로 변환
  7. rb8001이 Slack 전체 채널에 포스팅

3. 구현 파일 구조

skill-email 추가 파일

  • routers/naverworks_mail.py: POST /daily-briefing 엔드포인트
  • services/naverworks_mail_service.py: generate_daily_briefing() 메서드
  • schemas/naverworks_schemas.py: BriefingRequest/Response 모델

rb8001 추가 파일

  • app/services/scheduler.py: APScheduler 설정

4. 구현 체크리스트

4.1 skill-email 구현

  • POST /daily-briefing 엔드포인트
  • 24시간 메일 조회 로직
  • 중요도 필터링 알고리즘
  • Gemini API 연동 (요약 생성)
  • Slack Block Kit 포맷터

4.2 rb8001 구현

  • APScheduler 설정 (09:00 KST)
  • 스케줄 작업 함수 구현
  • skill-email 호출 로직
  • Slack 전체 채널 전송

5. 문제점 및 개선 방안

5.1 폴링 방식 문제

  • 문제: 9,192개 메일 조회 시 API Rate Limit 위험
  • 개선:
    • 최근 24시간 메일만 조회 (limit 파라미터)
    • 캐싱 적용 (중복 조회 방지)

5.2 인증 방식

  • 문제: 스케줄러는 사용자 로그인 없이 작동 필요
  • 개선: JWT 기반 서비스 계정 도입 권장

5.3 보안 우려

  • 문제: 메일 본문이 Gemini API로 전송
  • 개선:
    • 민감정보 필터링
    • 발신자/제목/키워드만 요약
    • 상세 내용은 원본 메일 링크 제공

6. 예상 출력 형식

📅 일일 메일 브리핑 (2025-09-19)
━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔴 긴급 (2건)
• [계약] OO사 계약 검토 요청 - 김과장
• [결제] 월간 서버 비용 승인 필요 - 재무팀

🟡 중요 (3건)
• [공지] 9월 정기 점검 안내 - IT팀
• [미팅] 다음주 프로젝트 킥오프 - PM팀
• [요청] 마케팅 자료 검토 - 마케팅팀

🟢 일반 (5건)
• 기타 일반 메일 5건
━━━━━━━━━━━━━━━━━━━━━━━━━━━