피드로 돌아가기
Let your agent negotiate meeting times over email
Dev.toDev.to
Backend

Nylas Agent Account 기반 Multi-turn 일정 협상 State Machine 설계

Let your agent negotiate meeting times over email

Qasim2026년 6월 25일11intermediate

Context

기존 AI 스케줄링 도구의 단순 데이터 입력 방식에서 탈피한 실질적 협상 프로세스 필요성 대두. Agent Account의 Scheduler API 미지원 제약으로 인한 자체 Free/Busy 기반 협상 로직 설계가 요구됨.

Technical Solution

  • Agent Account를 독립적 Participant로 정의하여 전용 Email 및 Calendar 권한 부여
  • Inbound Message → Free/Busy 확인 → Proposal 발송 → Counter-proposal 수신으로 이어지는 State Machine 구조 설계
  • LLM을 활용해 비정형 텍스트에서 구체적인 시간 슬롯(Start, End)을 추출하는 Application Logic 분리
  • Thread_id를 식별자로 활용하여 Multi-turn 대화의 맥락을 유지하는 Context Management 구현
  • 최종 합의 시점에만 Event Create API를 호출하여 불필요한 캘린더 이벤트를 방지하는 프로세스 최적화
  • Send Quota 제한을 고려한 Negotiation Round 캡핑 및 Idempotency 보장 설계

- LLM의 날짜 파싱 오류 가능성을 고려하여 Event Create 직전 Free/Busy 재검증 단계 추가 - Thread_id 기반의 Idempotent 핸들러를 구현하여 중복 응답으로 인한 경쟁 상태 방지 - API 제약 사항(Scheduler API 미지원)을 파악하고 하위 Primitive API(Free/Busy, Events)의 조합으로 기능 구현 - 외부 사용자 캘린더 접근 불가 제약을 인정하고 '내 쪽의 가능 시간'으로 제안하는 UX 설계

원문 읽기