This workflow corresponds to n8n.io template #3759 — we link there as the canonical source.
This workflow follows the Agent → Emailsend recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "uegulU0Nytvdj1vn",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Advanced Appointment Booking Ai Agent",
"tags": [],
"nodes": [
{
"id": "af7b29cb-78d7-4aec-9166-387078c011b1",
"name": "GHL Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
1100,
280
],
"parameters": {},
"typeVersion": 1
},
{
"id": "95e60c00-4ac9-4803-98d7-10d2176ef767",
"name": "Notify Owner - New Lead",
"type": "n8n-nodes-base.emailSend",
"position": [
1660,
360
],
"parameters": {},
"typeVersion": 1
},
{
"id": "cca01cdb-7049-4cce-8fa7-b57fcbcc9645",
"name": "Notify Client - Received",
"type": "n8n-nodes-base.emailSend",
"position": [
1660,
660
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6d56449a-f6a6-4b75-ba53-0cbdf4759131",
"name": "AI Agent Core",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1400,
-160
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "52fe7d53-840b-4d93-b44a-19be1ebcc7ba",
"name": "Validation AI",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1440,
140
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "b00b3659-da69-4638-b90a-9bc6a179720e",
"name": "Conversation Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
1580,
20
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "14ae3b45-4d6c-4f6a-81f4-435477a3d765",
"name": "VAPI Call",
"type": "n8n-nodes-base.httpRequest",
"position": [
1860,
20
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d5873ce5-e2e7-4c5f-8a0d-bd5263dcca51",
"name": "GHL Update",
"type": "n8n-nodes-base.httpRequest",
"position": [
2940,
-20
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6a75c127-8078-478b-95a9-96ec6a295c8d",
"name": "Notify Owner - Confirmed",
"type": "n8n-nodes-base.emailSend",
"position": [
3280,
-20
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f248c78a-99a0-4823-a2f5-1741f08f1809",
"name": "Post-call Analysis",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
2220,
100
],
"parameters": {},
"typeVersion": 1.8
},
{
"id": "a4fbe959-3a60-4a6b-a3c6-dde34af6efe6",
"name": "Notify Owner - No booking",
"type": "n8n-nodes-base.emailSend",
"position": [
3220,
460
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "3bd762c7-afc9-4dcc-a2b8-4504c3105b12",
"name": "Booking Made Check",
"type": "n8n-nodes-base.if",
"position": [
2540,
180
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "76c2621a-c4f3-457b-97b5-d7ef8e34ba54",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1060,
180
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "75153be3-6402-4d72-a1d0-fc60434169e1",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1380,
-280
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b2e154a1-9a1b-451c-9210-990420439fed",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1320,
60
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "0541f436-eecd-4644-9f52-22b7b32215a9",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1580,
280
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "97e4449d-06b9-4a6b-b3e5-2d61b42a3da2",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1580,
560
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e44ad677-84b1-4642-be8e-9b507173a115",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1780,
-100
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "7317b63c-922a-40ee-9ab6-34d06aeef6e7",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2160,
-100
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "0ae8e341-c95c-4db6-8362-693a90a88dad",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2480,
-100
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "08aabbda-25ff-47a9-a818-f2fdcc176a7d",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
3160,
300
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "1c2bb298-50b2-40a4-9c37-843ac7ddd284",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
2860,
-180
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "f4cf1bbc-ca0f-446d-add3-8c331d5e4b51",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
3200,
-180
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "0fc54645-3ab9-4e24-be0c-79f60217f572",
"connections": {
"VAPI Call": {
"main": [
[
{
"node": "Post-call Analysis",
"type": "main",
"index": 0
}
]
]
},
"GHL Update": {
"main": [
[
{
"node": "Notify Owner - Confirmed",
"type": "main",
"index": 0
}
]
]
},
"GHL Webhook": {
"main": [
[
{
"node": "Notify Owner - New Lead",
"type": "main",
"index": 0
},
{
"node": "Notify Client - Received",
"type": "main",
"index": 0
},
{
"node": "AI Agent Core",
"type": "main",
"index": 0
}
]
]
},
"AI Agent Core": {
"main": [
[
{
"node": "VAPI Call",
"type": "main",
"index": 0
}
]
]
},
"Validation AI": {
"ai_languageModel": [
[
{
"node": "AI Agent Core",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Booking Made Check": {
"main": [
[
{
"node": "GHL Update",
"type": "main",
"index": 0
}
],
[
{
"node": "Notify Owner - No booking",
"type": "main",
"index": 0
}
]
]
},
"Post-call Analysis": {
"main": [
[
{
"node": "Booking Made Check",
"type": "main",
"index": 0
}
]
]
},
"Conversation Memory": {
"ai_memory": [
[
{
"node": "AI Agent Core",
"type": "ai_memory",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Automate AI-driven appointment booking with phone call confirmations, real-time lead validation, CRM updates, and email notifications—powered by n8n, OpenAI, VAPI.ai, and GoHighLevel. GoHighLevel (CRM & appointment management) VAPI.ai (AI phone calls) OpenAI (GPT-4 for lead…
Source: https://n8n.io/workflows/3759/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Remi 1.1. Uses lmChatOpenAi, memoryPostgresChat, openAi, postgres. Webhook trigger; 89 nodes.
This n8n workflow orchestrates a powerful suite of AI Agents and automations to manage and optimize various aspects of an e-commerce operation, particularly for platforms like Shopify. It leverages La
My workflow 15. Uses httpRequest, memoryBufferWindow, agent, lmChatOpenAi. Webhook trigger; 74 nodes.
Code Schedule. Uses memoryBufferWindow, agent, stickyNote, outputParserStructured. Event-driven trigger; 45 nodes.
3790. Uses memoryBufferWindow, agent, outputParserStructured, lmChatOpenAi. Event-driven trigger; 45 nodes.