새로운 Calendly 예약을 Google 시트에 자동 추가
초급
이것은CRM, Multimodal AI분야의자동화 워크플로우로, 5개의 노드를 포함합니다.주로 Code, Webhook, GoogleSheets 등의 노드를 사용하며. 새 Calendly 예약을 Google 시트에 자동 추가
사전 요구사항
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
- •Google Sheets API 인증 정보
사용된 노드 (5)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc"
},
"nodes": [
{
"id": "f99e1679-71a7-44f9-bdd5-948b9f25603d",
"name": "설정 안내",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"width": 280,
"height": 220,
"content": "📅 **SETUP REQUIRED:**\n\n1. **Create Google Sheet:**\n - Headers: Name | Email | Phone | Event Type\n - Date | Time | Status | Meeting Link | Notes\n - Replace YOUR_GOOGLE_SHEET_ID below\n\n2. **Calendly Webhook:**\n - Calendly Account → Integrations → Webhooks\n - Add webhook URL from node below\n - Select: invitee.created event\n\n3. **Google Sheets OAuth:**\n - Connect Google account credentials\n\n🎯 Auto-logs all new bookings with details!"
},
"typeVersion": 1
},
{
"id": "e43f2bf7-edc3-4112-912a-5ce1417fcf8c",
"name": "Calendly 예약 웹훅",
"type": "n8n-nodes-base.webhook",
"position": [
0,
224
],
"webhookId": "calendly-booking-webhook",
"parameters": {
"path": "calendly-booking",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 1
},
{
"id": "92230608-50d3-4e5a-be13-f6a0318dabec",
"name": "예약 데이터 정규화",
"type": "n8n-nodes-base.code",
"position": [
208,
224
],
"parameters": {
"jsCode": "// Normalize Calendly booking data\nconst webhookData = $input.first().json;\nconst payload = webhookData.payload || webhookData;\n\n// Handle different Calendly webhook structures\nconst event = payload.event || payload;\nconst invitee = event.invitee || event;\nconst eventType = event.event_type || event.event || {};\n\n// Extract meeting details\nconst startTime = new Date(event.start_time || event.scheduled_event?.start_time);\nconst endTime = new Date(event.end_time || event.scheduled_event?.end_time);\n\n// Parse custom form questions/answers\nconst questions = invitee.questions_and_responses || invitee.questions_and_answers || [];\nlet phone = '';\nlet notes = '';\n\n// Extract phone and notes from questions\nquestions.forEach(qa => {\n const question = (qa.question || '').toLowerCase();\n if (question.includes('phone') || question.includes('mobile')) {\n phone = qa.answer || qa.response || '';\n } else if (question.includes('note') || question.includes('comment') || question.includes('message')) {\n notes += (qa.answer || qa.response || '') + ' ';\n }\n});\n\nconst normalizedData = {\n name: invitee.name || 'Unknown',\n email: invitee.email || '',\n phone: phone.trim(),\n event_type: eventType.name || eventType.type || 'Meeting',\n date: startTime.toLocaleDateString(),\n time: `${startTime.toLocaleTimeString()} - ${endTime.toLocaleTimeString()}`,\n status: invitee.status || event.status || 'Scheduled',\n meeting_link: event.location?.join_url || event.join_url || '',\n notes: notes.trim(),\n duration: Math.round((endTime - startTime) / (1000 * 60)), // Duration in minutes\n timezone: invitee.timezone || event.timezone || 'UTC',\n booking_created: new Date().toISOString(),\n calendly_event_id: event.uuid || event.id || '',\n invitee_id: invitee.uuid || invitee.id || ''\n};\n\nconsole.log('Normalized Calendly booking:', {\n name: normalizedData.name,\n email: normalizedData.email,\n event_type: normalizedData.event_type,\n date: normalizedData.date,\n time: normalizedData.time\n});\n\nreturn {\n json: normalizedData\n};"
},
"typeVersion": 2
},
{
"id": "44827cf4-aa34-4df3-9a9f-63184fc1ee86",
"name": "예약을 스프레드시트에 저장",
"type": "n8n-nodes-base.googleSheets",
"position": [
400,
224
],
"parameters": {
"options": {
"useAppend": true
},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "YOUR_GOOGLE_SHEET_ID"
}
},
"typeVersion": 4
},
{
"id": "f3264f93-3929-4ae7-921a-b4df8d10ab01",
"name": "예약 성공 로그 기록",
"type": "n8n-nodes-base.code",
"position": [
608,
224
],
"parameters": {
"jsCode": "// Optional: Send confirmation or notification\nconst booking = $input.first().json;\n\n// Log successful booking save\nconsole.log(`✅ Successfully saved booking for ${booking.name}`);\nconsole.log(`📅 Event: ${booking.event_type}`);\nconsole.log(`📧 Email: ${booking.email}`);\nconsole.log(`🕒 Time: ${booking.date} at ${booking.time}`);\n\n// You could extend this to send confirmation emails,\n// Slack notifications, or other integrations\n\nconst summary = {\n success: true,\n booking_summary: `New ${booking.event_type} booking for ${booking.name} on ${booking.date}`,\n next_actions: [\n 'Booking saved to Google Sheets',\n 'Consider sending confirmation email',\n 'Add to calendar if needed'\n ]\n};\n\nreturn {\n json: summary\n};"
},
"typeVersion": 2
}
],
"pinData": {},
"connections": {
"92230608-50d3-4e5a-be13-f6a0318dabec": {
"main": [
[
{
"node": "44827cf4-aa34-4df3-9a9f-63184fc1ee86",
"type": "main",
"index": 0
}
]
]
},
"44827cf4-aa34-4df3-9a9f-63184fc1ee86": {
"main": [
[
{
"node": "f3264f93-3929-4ae7-921a-b4df8d10ab01",
"type": "main",
"index": 0
}
]
]
},
"e43f2bf7-edc3-4112-912a-5ce1417fcf8c": {
"main": [
[
{
"node": "92230608-50d3-4e5a-be13-f6a0318dabec",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
초급 - 고객관계관리, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Zoom 참가자를 위한 Airtable CRM 레코드 자동 생성
Zoom 참가자 대상 Airtable CRM 레코드 자동 생성
Code
Webhook
Airtable
+
Code
Webhook
Airtable
4 노드David Olusola
고객관계관리
Instagram 잠재 고객을 Google 스프레드시트에 자동 저장
Instagram 잠재 고객을 Google 스프레드시트에 자동 저장
Code
Webhook
Google Sheets
+
Code
Webhook
Google Sheets
4 노드David Olusola
리드 생성
CSV 업로드 정리 및 표준화하여 Google Sheets와 Drive에가져오기
CSV 업로드을 정리하고 표준화하여 Google 스프레드시트와 Drive에가져오기
Code
Webhook
Google Drive
+
Code
Webhook
Google Drive
10 노드David Olusola
문서 추출
Zoom 녹화를 Google 드라이브에 자동 저장 및 Airtable에 회의 기록
Zoom 녹화를 Google 드라이브에 자동 저장 및 Airtable에 회의 기록
Code
Webhook
Airtable
+
Code
Webhook
Airtable
7 노드David Olusola
파일 관리
Stripe 결제 트리거 및 Gmail을 사용하여 PDF 인보이스 자동 발송
Stripe 결제 트리거 및 Gmail을 사용하여 PDF 인voice 자동 발송
Code
Gmail
Webhook
+
Code
Gmail
Webhook
5 노드David Olusola
청구서 처리
GPT-4를 사용하여 Zoom 녹화 자동 요약 및 Slack 및 이메일로 전송
GPT-4를 사용하여 Zoom 녹화 자동 요약 및 Slack 및 이메일로 전송
Code
Gmail
Slack
+
Code
Gmail
Slack
6 노드David Olusola
AI 요약
워크플로우 정보
난이도
초급
노드 수5
카테고리2
노드 유형4
저자
David Olusola
@dae221I help ambitious businesses eliminate operational bottlenecks and scale faster with AI automation. My clients typically see 40-60% efficiency gains within 90 days. Currently accepting 3 new projects this quarter - david@daexai.com
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유