구글 캘린더의 기본 기능만으로는 다인원 일정 조율이나 반복적인 미팅 요청 응대가 매끄럽지 않습니다. 캘린더 API의 빈 시간 조회 기능과 AI 답장 초안 생성을 n8n으로 엮어 직접 구축하고 운영한 과정을 정리했습니다.
- 자동화 플랫폼: n8n (Google Calendar 노드) / AI 답장 초안: Claude Sonnet 4.6 API·Gemini API 병행 테스트
- 테스트 기간: 2026년 7월 / 적용 대상: 1인 컨설팅·상담 업무의 미팅 요청 이메일 응대
- 테스트 항목: 캘린더 freebusy 조회 연동 / AI 후보 시간 정리 프롬프트 / 답장 초안 자동 발송 흐름
- 비교 기준: 구글 캘린더 기본 '일정 도우미' 기능 및 수동 이메일 조율과의 처리 시간 비교
1 구글 캘린더 기본 기능만으로 부족한 지점
"일정 조율을 AI가 대신해준다"는 이야기를 들으면 구글 캘린더 안에서 모든 게 자동으로 처리될 것 같지만, 실제로 캘린더 자체에 내장된 기능은 범위가 좁습니다. 어디까지가 기본 기능이고 어디서부터 직접 구축해야 하는 영역인지 구분하는 것이 이 작업의 출발점입니다.
구글은 한때 캘린더 화면 옆에 붙는 사이드 패널 형태의 생성형 AI 기능을 실험했지만, 이 기능은 현재 캘린더 고객센터 문서에서 더 이상 제공되지 않는다고 안내하고 있습니다. 대신 지금 남아 있는 자동화 지점은 Gmail 하단의 일정 관련 도우미와, 예약 페이지를 만드는 약속 일정 기능 두 가지로 좁혀집니다.
Gmail 쪽에 남아 있는 일정 도우미 기능도 살펴볼 필요가 있습니다. 메일을 작성하거나 회의를 제안할 때 사용할 수 있는 이 기능은 메일과 캘린더 정보를 근거로 가능한 시간을 제안해주지만, 적용 범위에 분명한 한계가 있습니다.
1:1 이상의 참석자를 조율하거나, 특정 형식의 답장 문구로 자동 발송하거나, 여러 건의 요청을 순서대로 처리하는 작업은 캘린더 기본 기능의 설계 범위 밖에 있습니다. 캘린더 API의 freebusy 조회 기능은 특정 시간대에 누가 비어 있는지 구조화된 데이터로 돌려주는 역할만 하고, 그 데이터를 바탕으로 무엇을 할지는 별도로 조립해야 합니다. 즉 "AI가 알아서 조율해준다"가 아니라 "빈 시간 데이터 + AI 문장 생성 + 발송 로직"을 각각 연결하는 작업이라는 점을 이해하고 시작하는 것이 첫 단추입니다.
2 시스템 설계 — 무엇을 자동화할 것인가
모든 일정 관리를 자동화 대상으로 삼을 필요는 없습니다. 반복적으로 발생하고, 형식이 어느 정도 일정하며, 실수가 나도 되돌리기 쉬운 업무부터 시작하는 편이 안전합니다. 상담 신청이나 클라이언트 미팅 요청처럼 "빈 시간을 찾아 후보를 제안하는" 구간이 여기에 해당합니다.
반대로 이벤트를 확정하고 실제로 캘린더에 등록하는 마지막 단계는 자동화 범위에서 의도적으로 제외했습니다. 후보 시간을 잘못 계산하는 것과, 잘못된 시간으로 실제 약속이 잡혀버리는 것은 결과의 무게가 다르기 때문입니다. 아래는 이번에 구축한 시스템이 실제로 처리하는 범위와, 처리하지 않도록 남겨둔 범위입니다.
| 구간 | 자동화 여부 | 처리 방식 |
|---|---|---|
| 미팅 요청 수신 감지 | 자동 | 특정 라벨이 붙은 메일 도착 시 n8n 트리거 실행 |
| 빈 시간대 조회 | 자동 | Google Calendar freebusy 조회로 향후 5영업일 데이터 확보 |
| 후보 시간 정리·문장화 | 자동 | AI가 빈 시간 데이터를 근거로 후보 3개와 답장 초안 작성 |
| 답장 발송 | 반자동 | 초안을 임시보관함에 저장, 검토 후 직접 발송 |
| 캘린더 이벤트 확정 등록 | 수동 유지 | 상대방 회신을 확인한 뒤 직접 캘린더에 등록 |
AI가 만드는 답장 초안과 후보 시간은 확률적으로 틀릴 수 있습니다. 초안 단계에서 사람이 한 번 검토하도록 남겨두면, 잘못된 시간을 실제로 상대방에게 보내거나 캘린더에 이중으로 등록하는 사고를 사전에 막을 수 있습니다. 반복 작업의 시간을 줄이는 것과, 실수의 결과를 되돌리기 쉬운 구간에만 자동화를 적용하는 것은 서로 다른 기준이며, 이 시스템은 후자를 우선했습니다.
3 n8n·구글 캘린더 API 연동 실전 설정
구글 캘린더를 n8n에서 다루려면 먼저 Google Cloud 콘솔에서 Calendar API를 사용 설정하고 OAuth 자격 증명을 발급받아야 합니다. 이 부분은 캘린더 API 공식 문서의 절차를 그대로 따르는 것이 가장 안전합니다.
n8n에는 Google Calendar 전용 노드가 이미 준비되어 있어 직접 API를 호출하는 코드를 짤 필요는 없습니다. 이번 시스템에서는 아래 네 개 노드를 순서대로 연결했습니다.
| 순서 | 노드 | 역할 |
|---|---|---|
| 1 | Gmail Trigger | 지정 라벨이 붙은 메일 수신 시 워크플로우 시작 |
| 2 | Google Calendar (Availability) | 지정 캘린더의 freebusy 데이터 조회 |
| 3 | AI Agent / HTTP Request | 빈 시간 데이터를 근거로 후보 시간·답장 문구 생성 |
| 4 | Gmail (Draft) | 생성된 답장을 임시보관함에 저장 |
n8n을 처음 다루거나 구글 시트·Gmail과 함께 자동화 흐름을 넓히고 싶다면 n8n·구글 시트 자동화 가이드를 먼저 참고하는 편이 설정 화면에 익숙해지는 데 도움이 됩니다.
4 AI 조율 로직 — 실제 사용 프롬프트
AI 노드에 캘린더의 빈 시간 데이터(JSON)를 그대로 넘기면, 이를 사람이 읽기 편한 후보 시간 목록과 답장 문구로 바꿔주는 역할을 맡깁니다. 이 단계에서 중요한 것은 AI에게 "언제가 비어 있는지"를 계산하게 하지 않고, 이미 계산된 데이터를 문장으로만 바꾸게 하는 역할 분리입니다.
AI에게 빈 시간을 직접 계산하게 하면, busy 데이터에 없는 시간대를 그럴듯하게 만들어내는 경우가 발생할 수 있습니다. 이 조건을 넣으면 AI의 역할이 "계산"에서 "이미 계산된 데이터의 정리"로 좁혀지고, 실제로 없는 시간이 후보로 제시되는 문제를 줄일 수 있습니다. 시간처럼 틀리면 곧바로 문제가 되는 정보는, AI에게 판단을 맡기기보다 구조화된 데이터를 먼저 확보한 뒤 문장으로만 옮기게 하는 순서가 안전합니다.
5 직접 적용 결과
2026년 7월 한 달간, 1인 컨설팅 업무의 상담 신청 이메일에 위 시스템을 직접 적용했습니다. 아래는 각 레이어별로 확인한 내용입니다.
자동화 이전에는 상담 신청 메일이 오면 캘린더를 직접 열어 빈 시간을 확인하고, 후보 시간을 손으로 적어 답장하는 데 평균 10분 안팎이 걸렸습니다. 신청이 몰리는 날에는 답장이 밀려 다음 날 오전에야 회신하는 경우도 있었습니다. 시스템 적용 이후에는 메일 수신 후 후보 시간과 답장 초안이 임시보관함에 자동으로 준비되고, 검토·발송에는 1~2분 정도만 들였습니다.
캘린더 확인과 후보 시간 작성에 평균 10분, 신청이 겹치는 날에는 회신이 다음 날로 밀리는 경우가 있었습니다.
메일 수신 즉시 임시보관함에 초안이 생성되고, 검토·발송까지 1~2분으로 줄었습니다. 4주간 처리한 신청 중 후보 시간을 다시 계산해야 했던 경우는 드물었습니다.
※ 위 결과는 동일 업무·동일 캘린더 환경에서 4주간 비교한 결과입니다. 참석자 수, 캘린더 공유 범위, 메일 형식에 따라 차이가 있을 수 있습니다.
일정 조율 자동화가 실패하는 경우는 대부분 AI에게 "빈 시간 계산"과 "문장 생성"을 동시에 맡길 때 발생합니다. 계산은 캘린더 API처럼 정확도가 보장된 도구에 맡기고, AI는 그 결과를 사람이 읽기 좋은 형태로 바꾸는 역할만 담당하도록 나누는 것이 이 시스템의 핵심 설계입니다.
답장이 곧바로 발송되면 후보 시간이 틀렸을 때 되돌리기가 어렵습니다. 임시보관함에 저장한 뒤 사람이 확인하고 보내는 한 단계를 남겨두면, 검토에 드는 시간은 1~2분 정도로 짧지만 잘못된 시간이 상대방에게 전달되는 상황은 대부분 걸러집니다. 완전 자동화보다 반자동 구조가 실무에서는 더 안전한 선택이 되는 지점입니다.
캘린더 API 사용법과 n8n 노드 설정은 각 제공사의 공식 문서를 기준으로 작성했습니다. 구글 캘린더 기본 기능의 범위는 Google Calendar 고객센터 안내를 기준으로 확인했습니다.
이 포스트의 초안은 Claude Sonnet 4.6으로 작성한 뒤 직접 편집했습니다. Section 3의 노드 구성과 Section 5의 처리 시간 수치는 직접 구축하고 운영해 확인한 내용이며, AI가 임의로 생성한 수치가 아닙니다.
Section 5의 처리 시간 비교와 Section 2의 자동화·수동 구간 구분은 직접 운영하며 확인한 결과입니다. 공식 출처 URL 4개는 직접 접근해 존재와 내용을 확인했습니다. 구글 캘린더의 AI 관련 기능은 실험적으로 추가·종료되는 경우가 많아, 이 글에서 다룬 기본 기능의 범위는 발행 시점 이후 달라질 수 있습니다.
6 한계 — 솔직한 평가
이 시스템은 특정 업무 형태에서 시간을 줄여주는 도구이지, 만능 일정 비서는 아닙니다. 아래 한계를 알고 시작하는 편이 시행착오를 줄입니다.
상대방이 구글 캘린더를 쓰지 않거나 캘린더를 공유하지 않은 경우 freebusy 조회로는 상대방의 일정을 확인할 수 없어, 조율 대상이 아닌 발신자에게는 이 흐름이 적용되지 않습니다. 시간대(타임존) 설정이 어긋나면 잘못된 후보 시간이 계산될 수 있으므로 워크플로우의 타임존 값을 반드시 점검해야 합니다. OAuth 인증 토큰은 주기적으로 갱신이 필요하며, 이를 방치하면 워크플로우가 중단됩니다. 또한 다수 참석자를 동시에 조율하는 복잡한 상황은 이 구조만으로는 처리하기 어렵습니다.
- ✓1:1 상담·미팅 요청이 반복되는 업무
- ✓모든 참석자가 구글 캘린더를 공유 중인 환경
- ✓답장 문구 형식이 어느 정도 일정한 업무
- ✗구글 캘린더 밖의 캘린더(사내 그룹웨어 등) 조율
- ✗참석자 다수의 동시 스케줄 조율
- ✗이벤트 확정·등록까지 완전 무인 처리
7 자주 묻는 질문 (FAQ)
8 오늘부터 시작하는 3단계
- ① 오늘: Google Cloud 콘솔에서 Calendar API를 사용 설정하고 OAuth 자격 증명을 발급받으십시오. 10분 이내로 마칠 수 있습니다.
- ② 이번 주: n8n에 Google Calendar 노드를 연결하고, Availability 작업으로 실제 빈 시간 조회가 정확히 동작하는지 테스트 실행해 보십시오.
- ③ 다음 주: Section 4의 프롬프트를 AI 노드에 연결해, 실제 요청 메일 1건을 처음부터 끝까지 자동으로 처리해 보십시오.
이 시스템은 일정 조율을 완전히 무인화하는 도구가 아니라, 반복되는 계산과 문장 작성을 대신 처리해 검토·발송에만 집중할 수 있게 해주는 구조입니다. 빈 시간 계산은 캘린더 API에, 문장 정리는 AI에 맡기고, 최종 판단은 사람이 하는 역할 분리가 이 워크플로우의 핵심입니다. 회의 이후 기록까지 자동화를 확장하고 싶다면 AI 회의록 자동 정리 비교 가이드를, Gmail·구글 드라이브까지 함께 연동하고 싶다면 Claude MCP 구글 드라이브·Gmail 연동 가이드를 참고하십시오.
※ 본 글의 AI 도구·API 스펙·기능은 각 제공사 공식 문서 기준으로 정리했으며, 이후 변경될 수 있습니다. 실제 성능과 결과는 사용 환경, 계정 상태, 워크플로우 설계에 따라 달라질 수 있습니다. 본 초안은 Claude를 보조 도구로 사용해 작성됐으며, 직접 구축과 편집 과정을 거쳐 발행됐습니다.