This workflow corresponds to n8n.io template #17419 — we link there as the canonical source.
This workflow follows the Error Trigger → Google Sheets 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": "n6IgOSv9n82X91DE",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "End-to-End AI Dental Clinic Patient Management",
"tags": [],
"nodes": [
{
"id": "78401c6f-9a7c-45b5-b0ca-73066f9c0c9e",
"name": "\ud83d\udccc Overview \u2013 How This Workflow Works",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3312,
576
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "59de9e42-a1aa-46dd-9d66-f74da4e1004f",
"name": "Section \u2013 Message Intake & Intent Detection",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2064,
1488
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "dcc23128-c3f9-4e14-8e86-9d81b16f59f9",
"name": "Section \u2013 Appointment Booking",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1216,
464
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "6b86dd93-5c4f-46a2-bb69-d6be79a8dc37",
"name": "Section \u2013 Treatment Plan Explanation",
"type": "n8n-nodes-base.stickyNote",
"position": [
-944,
1056
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b2d3bd35-01e6-48ec-9b55-96be24ab378e",
"name": "Section \u2013 Payment & EMI Plan",
"type": "n8n-nodes-base.stickyNote",
"position": [
-720,
1776
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "1128f8cb-a859-4a55-8a89-a320d89bf0eb",
"name": "Section \u2013 General AI Assistant",
"type": "n8n-nodes-base.stickyNote",
"position": [
-720,
2288
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "a780fc1c-1aff-4689-a1cd-ff5bd4ea6f7f",
"name": "Section \u2013 Scheduled Patient Reminders",
"type": "n8n-nodes-base.stickyNote",
"position": [
496,
1248
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "434f496e-a1bb-4546-96ee-d2eac4780406",
"name": "Section \u2013 Error Handling",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1424,
2992
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "d7d32cbc-b23b-40df-a3d1-43c7564101d9",
"name": "\ud83d\udd11 Credentials & Security",
"type": "n8n-nodes-base.stickyNote",
"position": [
784,
2816
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "375f34ef-44b9-4f52-9d52-fc16e86c25dc",
"name": "Patient Message Received",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-1936,
1744
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "5dc66cdd-1053-4961-b8f6-a79ed465064e",
"name": "Extract Message Data",
"type": "n8n-nodes-base.set",
"position": [
-1696,
1744
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "b288e351-7e8e-4932-b923-a1bce1b9a54f",
"name": "Detect Intent",
"type": "n8n-nodes-base.switch",
"position": [
-1456,
1712
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "5be8333c-026f-4b5d-9633-e7ce058b9347",
"name": "Save New Booking",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1104,
688
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "0de3c6c2-b278-4d63-ba09-13a645f30e31",
"name": "Send Booking Confirmation",
"type": "n8n-nodes-base.telegram",
"position": [
-864,
688
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "99eb7ee0-3bca-4bd1-b798-ac0508925705",
"name": "Generate Treatment Plan Explanation",
"type": "@n8n/n8n-nodes-langchain.openAi",
"onError": "continueErrorOutput",
"position": [
-864,
1312
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "5cfe9bc3-095f-428c-a2b1-b114e314a43e",
"name": "Update Treatment Plan",
"type": "n8n-nodes-base.googleSheets",
"position": [
-176,
1296
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "89c04c01-d0d8-4cbf-995b-dbc700cc432d",
"name": "Send Treatment Plan",
"type": "n8n-nodes-base.telegram",
"position": [
176,
1296
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "e05e95a2-6d46-47b1-90b4-87bf8a0f8dc2",
"name": "Calculate Installments",
"type": "n8n-nodes-base.code",
"position": [
-528,
1984
],
"parameters": {},
"typeVersion": 2
},
{
"id": "a5c864e6-1257-4000-b76f-81a9424ebdc1",
"name": "Update Payment Plan",
"type": "n8n-nodes-base.googleSheets",
"position": [
-288,
1984
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "e505dddb-d85b-46a3-b842-5f00fd7b3000",
"name": "Send Payment Schedule",
"type": "n8n-nodes-base.telegram",
"position": [
-48,
1984
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "96880411-bf1e-4fe5-b7a0-25c4a329caae",
"name": "General Dental Assistant Reply",
"type": "@n8n/n8n-nodes-langchain.openAi",
"onError": "continueErrorOutput",
"position": [
-528,
2512
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "aa3924a0-e8ad-4948-8810-c94eabab9e83",
"name": "Send General Reply",
"type": "n8n-nodes-base.telegram",
"position": [
0,
2496
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "d3fa7ff3-3bab-44f7-9c0d-b5e8082a7943",
"name": "Daily Reminder Check",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
560,
1808
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "66f79ae6-d205-49ae-ae9e-aed63a713569",
"name": "Get All Appointments",
"type": "n8n-nodes-base.googleSheets",
"position": [
800,
1808
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "94e69e8a-6837-4a36-9252-396f3ab92ef3",
"name": "Filter Tomorrow's Procedures",
"type": "n8n-nodes-base.filter",
"position": [
1232,
1456
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "31d87f64-6fb7-49b8-97ce-3e0a25e4707c",
"name": "Send Pre-Procedure Instructions",
"type": "n8n-nodes-base.telegram",
"position": [
1472,
1456
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "3f895c8d-4a0d-4958-8d86-4c0e9f0a05b3",
"name": "Filter Yesterday's Procedures",
"type": "n8n-nodes-base.filter",
"position": [
1280,
1808
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "e03d3516-26b5-458a-bbda-7189e9f52996",
"name": "Send Post-Procedure Care",
"type": "n8n-nodes-base.telegram",
"position": [
1520,
1808
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "7f54d1d6-ef3e-42e8-82a3-37271726c67e",
"name": "Send Review Request",
"type": "n8n-nodes-base.telegram",
"position": [
1760,
1808
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "ec7fed82-b6b9-4b24-ab4c-df9c15862932",
"name": "Filter 6-Month Recall",
"type": "n8n-nodes-base.filter",
"position": [
1344,
2144
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "3900172e-4961-4436-b320-e74bbd672be0",
"name": "Send 6-Month Recall",
"type": "n8n-nodes-base.telegram",
"position": [
1584,
2144
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "13b92f6b-638f-4395-92d0-055f37db52cb",
"name": "On Workflow Error",
"type": "n8n-nodes-base.errorTrigger",
"position": [
-1296,
3232
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e157e8b2-44fa-4e9e-8085-59f6a0161990",
"name": "Slack \u2013 Post Workflow Error Alert",
"type": "n8n-nodes-base.slack",
"position": [
-1024,
3232
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "383b7df1-3d60-4853-8ae1-bbe19b104e42",
"name": "Slack \u2013 Post Treatment Plan AI Error",
"type": "n8n-nodes-base.slack",
"position": [
-368,
1408
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "5b0e11c6-5893-470e-ae92-7b234e382bcd",
"name": "Slack \u2013 Post General AI Error",
"type": "n8n-nodes-base.slack",
"position": [
0,
2736
],
"parameters": {},
"typeVersion": 2.3
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"availableInMCP": false,
"executionOrder": "v1"
},
"versionId": "d3cab1c5-324d-452b-a967-2136e64fa943",
"nodeGroups": [],
"connections": {
"Detect Intent": {
"main": [
[
{
"node": "Save New Booking",
"type": "main",
"index": 0
}
],
[
{
"node": "Generate Treatment Plan Explanation",
"type": "main",
"index": 0
}
],
[
{
"node": "Calculate Installments",
"type": "main",
"index": 0
}
],
[
{
"node": "General Dental Assistant Reply",
"type": "main",
"index": 0
}
]
]
},
"Save New Booking": {
"main": [
[
{
"node": "Send Booking Confirmation",
"type": "main",
"index": 0
}
]
]
},
"On Workflow Error": {
"main": [
[
{
"node": "Slack \u2013 Post Workflow Error Alert",
"type": "main",
"index": 0
}
]
]
},
"Update Payment Plan": {
"main": [
[
{
"node": "Send Payment Schedule",
"type": "main",
"index": 0
}
]
]
},
"Daily Reminder Check": {
"main": [
[
{
"node": "Get All Appointments",
"type": "main",
"index": 0
}
]
]
},
"Extract Message Data": {
"main": [
[
{
"node": "Detect Intent",
"type": "main",
"index": 0
}
]
]
},
"Get All Appointments": {
"main": [
[
{
"node": "Filter Tomorrow's Procedures",
"type": "main",
"index": 0
},
{
"node": "Filter Yesterday's Procedures",
"type": "main",
"index": 0
},
{
"node": "Filter 6-Month Recall",
"type": "main",
"index": 0
}
]
]
},
"Filter 6-Month Recall": {
"main": [
[
{
"node": "Send 6-Month Recall",
"type": "main",
"index": 0
}
]
]
},
"Update Treatment Plan": {
"main": [
[
{
"node": "Send Treatment Plan",
"type": "main",
"index": 0
}
]
]
},
"Calculate Installments": {
"main": [
[
{
"node": "Update Payment Plan",
"type": "main",
"index": 0
}
]
]
},
"Patient Message Received": {
"main": [
[
{
"node": "Extract Message Data",
"type": "main",
"index": 0
}
]
]
},
"Send Post-Procedure Care": {
"main": [
[
{
"node": "Send Review Request",
"type": "main",
"index": 0
}
]
]
},
"Filter Tomorrow's Procedures": {
"main": [
[
{
"node": "Send Pre-Procedure Instructions",
"type": "main",
"index": 0
}
]
]
},
"Filter Yesterday's Procedures": {
"main": [
[
{
"node": "Send Post-Procedure Care",
"type": "main",
"index": 0
}
]
]
},
"General Dental Assistant Reply": {
"main": [
[
{
"node": "Send General Reply",
"type": "main",
"index": 0
}
],
[
{
"node": "Slack \u2013 Post General AI Error",
"type": "main",
"index": 0
}
]
]
},
"Slack \u2013 Post General AI Error": {
"main": [
[
{
"node": "Extract Message Data",
"type": "main",
"index": 0
}
]
]
},
"Generate Treatment Plan Explanation": {
"main": [
[
{
"node": "Update Treatment Plan",
"type": "main",
"index": 0
}
],
[
{
"node": "Slack \u2013 Post Treatment Plan AI Error",
"type": "main",
"index": 0
}
]
]
},
"Slack \u2013 Post Treatment Plan AI Error": {
"main": [
[
{
"node": "Extract Message Data",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow handles dental clinic patient conversations in Telegram, using OpenAI to answer treatment-plan and general questions, logging bookings and payment plans in Google Sheets, sending automated reminder messages on a daily schedule, and posting error alerts to Slack.…
Source: https://n8n.io/workflows/17419/ — 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.
This workflow handles customer order complaints submitted via Telegram by looking up order details in Google Sheets, using OpenAI to classify message sentiment, and routing each case to auto-approval,
This workflow handles COD order confirmation and abandoned-cart recovery by combining webhooks, Google Sheets logging, OpenAI message generation, and Telegram messaging with inline buttons, plus Slack
This workflow runs a Telegram restaurant ordering flow that uses OpenAI to parse orders and suggest an upsell, sends a Razorpay payment link, confirms paid orders via a Razorpay webhook, logs orders a
This workflow lets customers order and refill prescriptions via Telegram by extracting medicines from prescription images with Google Gemini, checking and updating inventory in Google Sheets, and send
This workflow runs weekly to pull HR datasets from Google Sheets, calculate rule-based attrition risk signals, and enrich them with an OpenAI (GPT-4o-mini) risk assessment. It logs results back to Goo