AI 전화 상담원에 구글 캘린더 연결하기 — Zapier MCP로 코드 없이 예약 조회·생성
AI 전화 상담원에 구글 캘린더 연결하기 — Zapier MCP로 코드 없이 예약 조회·생성
물리치료 중인데 전화가 울립니다. "내일 오후에 예약 되나요?" 손을 멈추고 캘린더를 열어 확인하고, 다시 자리로 돌아옵니다. 10분 뒤 또 전화. 이번엔 "그럼 모레는요?"
병원·미용실·상담소처럼 전화로 예약을 받는 곳이면 매일 반복되는 장면입니다. AI 상담원을 붙여도 캘린더를 못 보면 결국 "확인 후 연락드리겠습니다"에서 멈춥니다.
이 글은 그 마지막 한 걸음을 채웁니다. AI 상담원이 실제 구글 캘린더를 열어보고 답하게 만듭니다. ClawOps 대시보드와 Zapier MCP만 쓰는 완전 노코드 방식이라, 코드는 한 줄도 쓰지 않습니다.

위 화면은 이 글을 쓰면서 AI 상담원이 대화로 만든 실제 일정입니다. 조회도 생성도 진짜 구글 캘린더에서 일어납니다.
이 글이 만드는 대화
고객: 오늘 오후 5시에 도수치료 예약할 수 있나요? 상담원: 좋아요, 잠시만요. 예약 가능 여부를 확인해 볼게요. (구글 캘린더 조회) 상담원: 비어 있는 걸로 확인됐어요. 이제 예약을 등록할게요. (구글 캘린더에 일정 생성) 상담원: 등록했습니다.
병원, 미용실, 상담소처럼 전화로 예약을 받는 곳이라면 그대로 쓸 수 있습니다.
준비물
| 항목 | 비고 |
|---|---|
| ClawOps 계정 | 전화번호 1개 이상 |
| Zapier 계정 | 무료 플랜으로 시작 가능 |
| 구글 계정 | 캘린더가 있는 계정 |
1부. ClawOps에서 상담원 만들기
1-1. 전화번호 발급
전화번호 → 내 번호 → 번호 추가를 누르면 070 번호가 발급됩니다. 이미 번호가 있다면 건너뛰세요.

번호 발급이 처음이라면 070 번호 API 빠른 시작에 절차가 더 자세히 있습니다.
1-2. 에이전트 생성
에이전트 → 새 에이전트를 누르면 두 가지 유형이 나옵니다.

지능형 에이전트를 고릅니다. 외부 도구는 이쪽에서만 씁니다. 콜 플로우(ARS)는 정해진 순서대로 안내하는 방식이라 도구를 호출하지 않습니다.
이름만 정하면 바로 만들어집니다.

1-3. 시스템 프롬프트
상세 화면에서 성격과 규칙을 적습니다.

이번에 쓴 프롬프트입니다.
당신은 병원 예약 안내를 담당하는 AI 상담원입니다.
전화로 걸려온 환자에게 친절하고 간결하게 응대합니다.
역할:
- 환자가 원하는 날짜와 시간대의 예약 가능 여부를 캘린더에서 조회해 안내합니다.
- 일정이 이미 차 있으면 비어 있는 가까운 시간대를 함께 제안합니다.
규칙:
- 날짜가 불명확하면 반드시 되물어 확인합니다. 추측하지 않습니다.
- 캘린더 조회 도구를 쓸 때는 조회 중이라고 짧게 알리고, 결과가 오면 요약해서 말합니다.
- 조회에 실패하면 솔직히 말하고 다시 시도하거나 다른 날짜를 제안합니다.
- 의료 상담이나 진단은 하지 않습니다. 예약 안내만 담당합니다.
- 한 번에 한 가지만 묻습니다. 답변은 두세 문장으로 짧게 합니다.
"날짜가 불명확하면 되물어 확인한다"와 "결과를 요약해서 말한다" 두 줄을 눈여겨보세요. 뒤에서 이 규칙이 사고를 막는 장면이 나옵니다. 프롬프트 작성법은 AI 전화 에이전트 프롬프트 엔지니어링에서 더 다룹니다.

2부. Zapier에 MCP 서버 만들기
AI 상담원이 구글 캘린더를 다루려면 중간에 MCP 서버가 필요합니다. 구글 로그인 처리를 Zapier가 대신해 주기 때문에, 복잡한 인증을 직접 건드리지 않아도 됩니다.
💡 ClawOps에는 MCP 음성 서버라는 반대 방향 기능도 있습니다. 그쪽은 Claude 같은 AI가 ClawOps의 전화 기능을 쓰는 것이고, 이 글은 ClawOps 상담원이 외부 도구를 쓰는 것입니다. 이름이 비슷하니 헷갈리지 마세요.
2-1. 새 서버 만들기
mcp.zapier.com → New MCP Server

클라이언트를 고르라고 나오는데 목록에 ClawOps는 없습니다. See all을 펼쳐 맨 아래 Other를 선택하세요.

2-2. 구글 캘린더 연결
Add apps → Google Calendar를 고르면 쓸 수 있는 도구가 나옵니다.

이번에는 세 가지를 골랐습니다.
| 도구 | 역할 |
|---|---|
Find Events | 일정 조회 |
Find Busy Periods in Calendar | 비어 있는 시간 확인 |
Quick Add Event | 일정 생성 |

⚠️
Delete Event는 일부러 켜지 않았습니다. 통화 중 AI가 잘못 판단하면 고객 일정이 지워집니다. 필요한 것만 켜는 게 첫 번째 안전장치입니다.
구글 계정을 연결합니다. 처음이라면 여기서 구글 로그인 창이 뜨고, 이미 연결해 둔 계정이 있으면 목록에서 고르면 됩니다.

2-3. 서버 주소와 토큰 받기
Connect 탭 → Generate token을 누르면 주소와 토큰이 나옵니다. 우리가 쓸 값은 두 개입니다.
서버 주소 : https://mcp.zapier.com/api/v1/connect
토큰 : (Generate token으로 받은 값)
💡 Zapier는
...connect?token=XXX처럼 주소에 토큰을 붙인 형태를 먼저 보여줍니다. 하지만 ClawOps에서는 주소와 토큰을 나눠서 넣으세요. 토큰이 암호화되어 저장됩니다. 주소에 섞으면 그대로 노출된 채 보관됩니다.
3부. ClawOps에 연결하기
3-1. 도구 탭 열기
에이전트 상세 → 도구 탭입니다.

통화 종료·DTMF 전송·지식 검색은 기본 도구입니다. 그 아래 외부 도구 연결이 이번에 쓸 자리입니다.
3-2. 서버 등록
외부 도구 연결하기 → 새 서버를 고릅니다.

앞서 받은 값을 넣습니다.
| 항목 | 값 |
|---|---|
| 이름 | 구글 캘린더 (Zapier) |
| 서버 주소 | https://mcp.zapier.com/api/v1/connect |
| 전송 방식 | Streamable HTTP (기본) |
| 인증 | Bearer 토큰 |
| 자격증명 | Zapier에서 받은 토큰 |

💡 전송 방식은 서버마다 다릅니다. 주소가
/sse로 끝나면 대개 SSE이고, Zapier는 기본값 그대로 두면 됩니다.
3-3. 도구 고르기
연결 테스트를 누르면 서버가 제공하는 도구가 그 자리에 펼쳐집니다.

여기서 고른 도구만 통화 중 AI에게 노출됩니다. 두 번째 안전장치입니다.

이번에 켠 것은 네 가지입니다.
✅ google_calendar_find_events 일정 조회
✅ google_calendar_quick_add_event 일정 생성
✅ list_dynamic_enum_values (Zapier 헬퍼)
✅ get_dynamic_properties_schema (Zapier 헬퍼)
헬퍼 두 개가 핵심입니다. 이유는 바로 다음에 나옵니다.
4부. 테스트
4-1. 헬퍼를 안 켜면 이렇게 실패합니다
처음에는 조회 도구만 켜고 시도했습니다.

"조회가 실패했어요. 캘린더를 선택하는 값이 필요한데, 제가 그 목록을 자동으로 가져오지 못했습니다."
Zapier의 캘린더 선택 항목은 목록에서 골라야 하는 값이라, AI가 그 목록을 물어볼 방법이 있어야 합니다. 그게 list_dynamic_enum_values입니다.
Zapier MCP를 쓴다면 헬퍼 도구를 함께 켜세요. 도구 설명에도 "이 서버의 모든 도구에 필요한 필수 헬퍼"라고 적혀 있습니다.
4-2. 조회 성공
헬퍼를 켜고 다시 물었습니다.

나: 오늘 하루 일정만 조회해줘 상담원: 좋아요, 오늘 일정이 어떻게 잡혀 있는지 잠깐 조회해 볼게요. 상담원: 조회가 한 번에 안 되어 캘린더를 다시 선택해서 확인해 볼게요. 상담원: 오늘 하루에는 등록된 일정이 없습니다.
중간에 한 번 걸렸다가 AI가 스스로 캘린더를 다시 확인하고 답을 냈습니다. 헬퍼가 있으면 이렇게 자체 복구가 됩니다.
Zapier 쪽 기록에는 무엇을 보냈는지 정확히 남습니다.

start_time 2026-08-04T00:00:00 ← 오늘 0시
end_time 2026-08-04T23:59:59 ← 오늘 자정
calendarid you@example.com ← 헬퍼가 찾아준 값
"오늘 하루만"이라는 말이 정확한 시간 범위로 바뀌어 전달됐습니다.
4-3. 일정 추가 → 조회
이제 만들어 봅니다.

나: 오늘 오후 5시에 「이수진 환자 도수치료」 예약 잡아줘 상담원: 좋아요, 잠시만요. 예약 가능 여부를 확인해 볼게요. 상담원: 비어 있는 걸로 확인됐어요. 이제 말씀해주신 예약을 실제로 등록할게요. 상담원: 예약이 생성되긴 했는데, 시스템에서 날짜를 8월 5일 오후 5시로 잡았습니다. 오늘이 맞으신가요?
이 글에서 가장 중요한 장면입니다.
"오후 5시"라고만 말했는데 이미 오후 6시가 지난 시각이라, 구글이 다음 날 오후 5시로 해석했습니다. 그런데 상담원이 그냥 넘기지 않고 결과를 확인한 뒤 되물었습니다.
프롬프트에 넣어둔 두 줄이 작동한 것입니다.
- 날짜가 불명확하면 반드시 되물어 확인합니다. 추측하지 않습니다.
- 캘린더 조회 도구를 쓸 때는 ... 결과가 오면 요약해서 말합니다.
이 문장이 없었다면 상담원은 "네, 오늘 5시로 잡았습니다"라고 답했을 것이고, 환자는 엉뚱한 날에 병원에 왔을 겁니다. 도구를 붙일 때 프롬프트가 더 중요해지는 이유입니다.
겪은 문제와 해결
실제로 막혔던 지점들입니다. 같은 곳에서 헤매지 마세요.
① "캘린더 목록을 가져오지 못했습니다"
헬퍼 도구가 꺼져 있습니다. list_dynamic_enum_values와 get_dynamic_properties_schema를 함께 켜세요.
② 일정 생성이 계속 실패합니다
Create Detailed Event 대신 Quick Add Event를 쓰세요.
Create Detailed Event는 시작·종료 시각을 start__dateTime 같은 숨은 항목으로 받습니다. AI가 그 항목 이름을 알아내려면 도구를 한 번 더 호출해야 하는데, 통화 중에는 그럴 여유가 없습니다. 실제로 이 방식으로는 계속 실패했습니다.
Quick Add Event는 "오늘 오후 3시 김민수 물리치료"처럼 문장 한 줄만 넘기면 구글이 알아서 해석합니다. 전화 상담에 훨씬 잘 맞습니다.
③ 날짜가 하루씩 밀립니다
"오늘", "내일" 같은 표현은 실행 시점에 따라 달라집니다. 오후 6시에 "오후 5시"라고 하면 다음 날로 잡힙니다.
프롬프트에 **"결과를 확인하고 되묻기"**를 반드시 넣으세요. 그러면 AI가 스스로 이상을 발견하고 확인을 구합니다.
④ 만든 일정이 캘린더에 안 보입니다
구글 계정을 확인하세요. 브라우저에 여러 구글 계정이 로그인돼 있으면 다른 계정의 캘린더를 보고 있을 수 있습니다. 주소창의 /u/0/, /u/1/ 숫자가 계정 순번입니다.
안전하게 쓰는 법
통화 중 AI가 도구를 쓴다는 건 AI가 실제로 무언가를 바꿀 수 있다는 뜻입니다.
1. 꼭 필요한 도구만 켜세요.
Delete Event를 켜면 통화 중 삭제가 가능해집니다. 조회만 필요하면 조회만 켜세요.
2. 두 군데서 거를 수 있습니다. Zapier에서 서버에 담을 도구를 고르고, ClawOps에서 그중 에이전트가 쓸 것을 다시 고릅니다. 좁게 시작해서 필요할 때 넓히세요.
3. 변경 도구는 표시됩니다.
ClawOps는 이름에 create·delete 같은 단어가 들어간 도구에 "변경 가능" 표시를 붙입니다. 켜기 전에 한 번 더 생각하라는 신호입니다.
4. 서버 주소와 토큰은 비밀번호처럼 다루세요. Zapier MCP 주소는 그 자체로 연결된 앱에 접근할 수 있습니다. 공유하지 마시고, 유출이 의심되면 Zapier에서 토큰을 다시 발급하세요.
정리
| 단계 | 하는 일 |
|---|---|
| 1 | ClawOps에서 번호 발급 → 지능형 에이전트 생성 → 프롬프트 작성 |
| 2 | Zapier에서 MCP 서버 생성(Other) → 구글 캘린더 연결 → 도구 선택 → 토큰 발급 |
| 3 | ClawOps 도구 탭에서 주소·토큰 등록 → 연결 테스트 → 도구 선택(헬퍼 포함) |
| 4 | 채팅 테스트로 확인 → 전화번호 연결 → 실통화 |
코드는 한 줄도 쓰지 않았습니다.
두 번째 에이전트부터는 더 빠릅니다
한 번 등록한 연결은 계정에 남습니다. 다른 에이전트에서는 「등록된 연결」에서 고르기만 하면 됩니다. 주소도 토큰도 다시 넣지 않습니다.

에이전트마다 켤 도구를 다르게 정할 수 있습니다. 안내 전용 상담원은 조회만, 예약 전담 상담원은 조회와 생성을 켜는 식입니다.
캘린더 말고도 됩니다
같은 방식으로 Zapier가 지원하는 수천 개 앱을 붙일 수 있습니다. 예약 시스템, CRM, 고객 데이터베이스 무엇이든 순서는 같습니다. 서버 주소와 토큰을 넣고, 쓸 도구를 고르면 끝.
전화로 예약을 받는 일이 많다면 ClawOps에서 직접 만들어 보세요.
다음 단계
- AI 전화 에이전트 도구 연동 — 다른 도구 연결 사례
- AI 전화 에이전트 프롬프트 엔지니어링 — 도구를 쓰는 프롬프트 작성법
- 070 번호 API 빠른 시작 — 번호 발급부터 첫 통화까지
- MCP 음성 서버 — 반대로 Claude가 ClawOps 전화를 쓰는 법
이 글의 모든 화면은 2026년 8월 4일 실제 작업 과정을 기록한 것입니다.
관련 글 더 보기
ClawOps Node.js SDK 완전 가이드: TypeScript로 AI 전화 에이전트 만들기
ClawOps Node.js/TypeScript SDK로 AI 음성 에이전트를 구축하는 방법. 설치부터 REST API, AI Agent, Tool 등록, MCP 연동까지 실전 코드 예제와 함께 안내합니다.
가이드AI 전화 에이전트에 Tool 연동하기: 예약 조회, DB 검색, 외부 API 호출
ClawOps Voice Agent SDK의 Tool 등록 기능으로 AI 전화 에이전트가 DB 조회, 예약 확인, 외부 API 호출을 수행하게 만드는 방법. Python/Node.js 실전 코드 포함.
가이드AI 전화 에이전트 Call Transfer 구현 가이드: AI가 상담원에게 전화를 넘기는 법
ClawOps Voice Agent의 Call Transfer 기능으로 AI가 상담원에게 전화를 전환하는 방법. Blind Transfer, Warm Transfer, 전환 후 AI 복귀까지 Python/Node.js 코드와 함께 설명합니다.
가이드OpenAI 말고 Gemini·Claude로 AI 전화 에이전트 만들기: Pipeline 모드 완전 가이드
ClawOps Voice Agent SDK의 Gemini Realtime과 Pipeline 모드로 OpenAI 외 AI 엔진을 사용하는 방법. Deepgram STT + Claude LLM + ElevenLabs TTS 조합, 커스텀 Provider 구현까지.
가이드AI 전화 에이전트 만들기: AI가 실제로 전화를 걸고 받도록 구축하는 방법
ClawOps MCP 서버를 활용해 한국어 AI 전화 에이전트을 처음부터 끝까지 구축하는 방법. 070 번호 발급, 발신/수신 전화 처리, 웹훅 연동까지 단계별로 안내합니다.