피드로 돌아가기
Dev.toBackend
원문 읽기
OAuth 권한 체계 탈피, Agent 전용 Identity 기반 스케줄링 아키텍처 구현
Scheduling Without a Human Calendar
AI 요약
Context
사용자의 계정을 대리 사용하는 Borrowed-calendar 모델의 OAuth 권한 관리 복잡성과 Token 만료 문제 분석. 관리자 승인 절차 및 권한 범위(Scope) 협의로 인한 시스템 통합 비용 증가와 메시징 발신 주체의 불일치 문제 식별.
Technical Solution
- Application 소유의 독립적 Mailbox 및 Calendar를 프로비저닝하는 Agent Account 모델 도입
- 권한 요청 과정을 단순 Query 기반의 free/busy 엔드포인트 호출 구조로 변경하여 인증 오버헤드 제거
- iCalendar 표준 프로토콜 및 ICS 요청을 통한 타 캘린더 서비스(Google, M365, Apple)와의 상호 운용성 확보
- RSVP 응답 시 Polling 없이 Webhook 기반의 event.updated 이벤트를 통한 실시간 상태 동기화 구현
- LLM 기반의 의도 파악과 캘린더 API를 결합하여 메시지 수신부터 슬롯 제안 및 확정까지의 자동화 루프 설계
- notify_participants 플래그 제어를 통한 대량 데이터 백필(Backfill) 시 불필요한 이메일 발송 억제
실천 포인트
1. 서비스 주체가 스케줄링을 담당하는 경우 사용자 대리 권한보다 전용 Identity 계정 설계 검토
2. 동일 이벤트에 대해 message.created와 event.created Webhook이 중복 발생하므로 단일 이벤트 기반 로직 설계
3. Agent 계정의 Timezone 부재를 고려하여 Epoch Time 또는 명시적 Timezone 파라미터 전달 강제
4. LLM의 잘못된 의도 추출로 인한 캘린더 오염 방지를 위해 고가치 미팅 시 인간 확인 단계(Human-in-the-loop) 추가
5. 무료 플랜 기준 계정당 일일 200건의 메시지 전송 쿼터 제한 사항을 고려한 전송 정책 수립