2.1 KiB
2.1 KiB
NAVER WORKS → Slack 연동 [2/3] 일일 브리핑
날짜: 2025-09-19 (업데이트: 2025-09-22)
작성자: Claude / happybell80
관련 서비스: rb8001, skill-email, skill-slack
상태: 계획
1. 일일 브리핑 개요
목적
회사 대표메일 중요사항을 매일 아침 자동으로 요약하여 Slack 지정 채널에 브리핑
핵심 기능
- 최근 24시간 메일 중 중요 메일 필터링
- AI 요약 생성
- 우선순위별 정렬
- Slack 지정 채널 자동 포스팅
2. 구현 방식
2.1 트리거 방식
- 매일 09:00 KST 자동 실행
- APScheduler 사용 (mon-fri 형식 권장)
2.2 처리 흐름
- 09:00 스케줄러 트리거
- DB에서 info@company-x.partners 계정 UUID 조회
- skill-email
/messages호출 (provider=naverworks, 24시간 필터) - 중요 메일 필터링 (긴급/계약/결제/공지)
- Gemini 요약 생성
- skill-slack
/api/v1/send로 채널 전송 (C09C98KK2TT)
3. 구현 파일 구조
- app/scheduler/jobs/naverworks_briefing.py: 스케줄 등록 함수
- app/skills/naverworks_briefing.py: 브리핑 로직
- app/scheduler/registry.py: 모든 스케줄 통합 관리
- main.py: 2줄 추가 (registry.register_all_jobs)
4. 구현 체크리스트
4.1 스케줄러 구조 개편
- app/scheduler/registry.py 생성
- app/scheduler/jobs/ 디렉토리 생성
- 기존 스케줄 코드 main.py에서 이동 (130줄 감소)
4.2 네이버웍스 브리핑 구현
- app/scheduler/jobs/naverworks_briefing.py 생성
- app/skills/naverworks_briefing.py 생성
- 환경변수: NAVERWORKS_BRIEFING_ENABLED, CHANNEL_ID, SCHEDULE
- DB에서 info@company-x.partners 조회
- 중요 메일 필터링 로직
- Gemini 요약 및 Slack 전송
5. 문제점 및 개선 방안
5. 문제점
- API Rate Limit 위험: 24시간 메일만 조회로 해결
- 보안: 제목/발신자만 요약, 본문 제외
- main.py 732줄 문제: scheduler/ 분리로 해결