VAPI 및 n8N을 사용한 레스토랑 가상 리셉션 및 테이블 예약 시스템
이것은Support Chatbot, AI Chatbot분야의자동화 워크플로우로, 9개의 노드를 포함합니다.주로 Webhook, Postgres, RespondToWebhook 등의 노드를 사용하며. VAPI 및 PostgreSQL을 사용한 레스토랑 전화 처리 및 테이블 예약 자동화 시스템
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
- •PostgreSQL 데이터베이스 연결 정보
{
"id": "s5rkGHiTGnf7F9PT",
"meta": {
"instanceId": "dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281",
"templateCredsSetupCompleted": true
},
"name": "Restaurant Virtual Receptionist & Table Booking with VAPI and n8n",
"tags": [],
"nodes": [
{
"id": "aa3b9f79-7923-47df-87d8-72ceaa3f0127",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-580,
-380
],
"parameters": {
"width": 420,
"height": 200,
"content": "📝 Description\n\nHandles incoming calls for the restaurant using VAPI to collect user details (name, booking time, number of people), checks table availability in a PostgreSQL database via n8n, books the table if available, sends confirmation to VAPI, and provides hotel service details via VAPI.\n"
},
"typeVersion": 1
},
{
"id": "0cc6d135-9098-4be1-8de3-fe027653d3d9",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-100,
20
],
"parameters": {
"color": 3,
"width": 780,
"height": 280,
"content": " 🟢 Availability Check Flow\n"
},
"typeVersion": 1
},
{
"id": "511c9929-3614-4d09-b1b6-27c14ce304a7",
"name": "테이블 가용성 조회 (Postgres)",
"type": "n8n-nodes-base.postgres",
"position": [
220,
100
],
"parameters": {
"table": {
"__rl": true,
"mode": "name",
"value": "table_id"
},
"schema": {
"__rl": true,
"mode": "list",
"value": "public"
},
"options": {},
"operation": "select"
},
"credentials": {
"postgres": {
"id": "4Y4qEFGqF2krfRHZ",
"name": "Postgres-test"
}
},
"typeVersion": 2.6
},
{
"id": "08671a05-f26e-477a-80ab-b6885e10dfd6",
"name": "응답: 가용성 상태 (VAPI)",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
440,
100
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "={\n \"results\": [\n {\n \"toolCallId\": \"{{ $('Trigger: Booking Request (VAPI)\t').item.json.body.message.toolCalls[0].id }}\",\n \"result\": \"{{ $json.available }}\"\n }\n ]\n}"
},
"typeVersion": 1.2
},
{
"id": "3efaa272-9bdb-4db1-bb63-94ffca5a161e",
"name": "스티키 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-100,
-260
],
"parameters": {
"color": 4,
"width": 780,
"height": 280,
"content": " 🔵 Booking Flow\n\n"
},
"typeVersion": 1
},
{
"id": "0fbfd74a-e2a4-4666-9055-c5d588ad6cff",
"name": "트리거: 예약 요청 (VAPI)",
"type": "n8n-nodes-base.webhook",
"position": [
0,
100
],
"webhookId": "027f0f14-93f4-42ff-90a7-715f23316a86",
"parameters": {
"path": "027f0f14-93f4-42ff-90a7-715f23316a86",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2
},
{
"id": "13d32034-198f-4429-9515-f71275ff2333",
"name": "Postgres에 예약 업서트",
"type": "n8n-nodes-base.postgres",
"position": [
220,
-160
],
"parameters": {
"table": {
"__rl": true,
"mode": "name",
"value": "table_id"
},
"schema": {
"__rl": true,
"mode": "list",
"value": "public"
},
"columns": {
"value": {},
"schema": [],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "upsert"
},
"credentials": {
"postgres": {
"id": "4Y4qEFGqF2krfRHZ",
"name": "Postgres-test"
}
},
"typeVersion": 2.6
},
{
"id": "16c88128-1e44-42df-bbd3-2cd7b1c2e6b0",
"name": "응답: 예약 확인 (VAPI)",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
440,
-160
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "={\n \"results\": [\n {\n \"toolCallId\": \"{{ $('Trigger: Booking Request (VAPI)\t1').item.json.body.message.toolCalls[0].id }}\",\n \"result\": \"{{ $json.status }}\"\n }\n ]\n}"
},
"typeVersion": 1.2
},
{
"id": "ee35e567-9de8-4518-a66f-0d168a973544",
"name": "트리거: 예약 요청 (VAPI) 1",
"type": "n8n-nodes-base.webhook",
"position": [
0,
-160
],
"webhookId": "2f7eff83-2e85-45ee-b544-7f889ca3ad07",
"parameters": {
"path": "2f7eff83-2e85-45ee-b544-7f889ca3ad07",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2
}
],
"active": false,
"pinData": {},
"settings": {
"timezone": "Asia/Kolkata",
"callerPolicy": "workflowsFromSameOwner",
"executionOrder": "v1"
},
"versionId": "50da786a-d8c6-4453-9bbe-835b7b673c43",
"connections": {
"13d32034-198f-4429-9515-f71275ff2333": {
"main": [
[
{
"node": "16c88128-1e44-42df-bbd3-2cd7b1c2e6b0",
"type": "main",
"index": 0
}
]
]
},
"0fbfd74a-e2a4-4666-9055-c5d588ad6cff": {
"main": [
[
{
"node": "511c9929-3614-4d09-b1b6-27c14ce304a7",
"type": "main",
"index": 0
}
]
]
},
"ee35e567-9de8-4518-a66f-0d168a973544": {
"main": [
[
{
"node": "13d32034-198f-4429-9515-f71275ff2333",
"type": "main",
"index": 0
}
]
]
},
"511c9929-3614-4d09-b1b6-27c14ce304a7": {
"main": [
[
{
"node": "08671a05-f26e-477a-80ab-b6885e10dfd6",
"type": "main",
"index": 0
}
]
]
}
}
}이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 지원 챗봇, AI 챗봇
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Oneclick AI Squad
@oneclick-aiThe AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.
이 워크플로우 공유