DOCS/troubleshooting/250919_naverworks_slack_02_daily_briefing.md
happybell80 3ffd9f88a5 Update NaverWorks-Slack integration docs with actual skill-slack structure
- Added actual skill-slack file structure and existing endpoints
- Corrected wrong assumptions about skill-naverworks service
- Integrated BaseSkillRequest model structure
- Added DB-based provider detection logic implementation
- Updated implementation checklist with /api/v1 prefix requirement
- Fixed provider detection to use DB queries instead of keywords
2025-09-19 19:29:46 +09:00

3.5 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 처리 흐름 (skill-slack 포함)

  1. 스케줄러가 09:00에 rb8001 트리거
  2. rb8001이 skill-email /daily-briefing 호출
  3. skill-email이 NAVER WORKS API로 24시간 메일 조회
  4. 중요도 필터링 (긴급, 계약, 결제, 공지 키워드)
  5. Gemini API로 요약 생성
  6. rb8001이 요약 데이터를 skill-slack /format-briefing으로 전송
  7. skill-slack이 Slack Block Kit 형식으로 변환
  8. 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 모델

skill-slack 추가 파일

  • POST /format-briefing: 브리핑 데이터를 Slack Block Kit으로 변환
  • 우선순위별 색상 코딩 (🔴 긴급, 🟡 중요, 🟢 일반)
  • Section/Divider/Context 블록 조합

rb8001 추가 파일

  • app/services/scheduler.py: APScheduler 설정
  • 오케스트레이션 로직: skill-email → skill-slack 조합

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건
━━━━━━━━━━━━━━━━━━━━━━━━━━━