This workflow corresponds to n8n.io template #7781 — we link there as the canonical source.
This workflow follows the Airtable → Telegram 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 →
{
"meta": {
"templateCredsWarning": "Attach credentials after import. No secrets in JSON. Markdown stickies included for submission."
},
"name": "Graceful Client Onboarding Concierge \u2014 Pro (General Use, v3)",
"nodes": [
{
"name": "Sticky: README",
"type": "n8n-nodes-base.stickyNote",
"position": [
40,
-120
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky: Prereqs + CSV",
"type": "n8n-nodes-base.stickyNote",
"position": [
40,
0
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky: Setup Checklist",
"type": "n8n-nodes-base.stickyNote",
"position": [
40,
120
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky: Testing Notes",
"type": "n8n-nodes-base.stickyNote",
"position": [
40,
240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky: Compliance + Troubleshooting",
"type": "n8n-nodes-base.stickyNote",
"position": [
40,
360
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky: Changelog",
"type": "n8n-nodes-base.stickyNote",
"position": [
40,
480
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Client Intake Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-160,
40
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Manual Trigger",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-160,
200
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Set: User Config",
"type": "n8n-nodes-base.set",
"position": [
80,
200
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Function: Simulate Intake",
"type": "n8n-nodes-base.function",
"position": [
80,
200
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Function: Map Intake",
"type": "n8n-nodes-base.function",
"position": [
360,
60
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Function: Score Lead",
"type": "n8n-nodes-base.function",
"position": [
540,
60
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Notion: Create Client",
"type": "n8n-nodes-base.notion",
"position": [
780,
120
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Function: Build Welcome Email",
"type": "n8n-nodes-base.function",
"position": [
960,
60
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Email: Send Welcome",
"type": "n8n-nodes-base.emailSend",
"position": [
1140,
60
],
"parameters": {},
"typeVersion": 2
},
{
"name": "If: Telegram Enabled?",
"type": "n8n-nodes-base.if",
"position": [
980,
180
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Telegram: Notify Owner",
"type": "n8n-nodes-base.telegram",
"position": [
1140,
140
],
"parameters": {},
"typeVersion": 1
},
{
"name": "If: Airtable Enabled?",
"type": "n8n-nodes-base.if",
"position": [
980,
300
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Airtable: Create Row",
"type": "n8n-nodes-base.airtable",
"position": [
980,
520
],
"parameters": {},
"typeVersion": 3
},
{
"name": "If: HubSpot Enabled?",
"type": "n8n-nodes-base.if",
"position": [
980,
420
],
"parameters": {},
"typeVersion": 2
},
{
"name": "HubSpot: Create Contact",
"type": "n8n-nodes-base.hubspot",
"position": [
1140,
420
],
"parameters": {},
"typeVersion": 2
},
{
"name": "If: Calendar Hold Enabled?",
"type": "n8n-nodes-base.if",
"position": [
960,
540
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Function: Hold Times",
"type": "n8n-nodes-base.function",
"position": [
1080,
540
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Google Calendar: Create Hold",
"type": "n8n-nodes-base.googleCalendar",
"position": [
1140,
540
],
"parameters": {},
"typeVersion": 3
},
{
"name": "Opt-in Confirm Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-160,
540
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Function: Parse Optin",
"type": "n8n-nodes-base.function",
"position": [
80,
540
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Notion: Find by Token",
"type": "n8n-nodes-base.notion",
"position": [
360,
540
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Function: Pick Page",
"type": "n8n-nodes-base.function",
"position": [
540,
540
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Notion: Set Consent + Status",
"type": "n8n-nodes-base.notion",
"position": [
780,
400
],
"parameters": {},
"typeVersion": 2
},
{
"name": "On Error",
"type": "n8n-nodes-base.errorTrigger",
"position": [
-160,
360
],
"parameters": {},
"typeVersion": 1
},
{
"name": "On Error \u2192 Email Owner",
"type": "n8n-nodes-base.emailSend",
"position": [
1140,
60
],
"parameters": {},
"typeVersion": 2
}
],
"connections": {
"On Error": {
"main": [
[
{
"node": "On Error \u2192 Email Owner",
"type": "main",
"index": 0
}
]
]
},
"Manual Trigger": {
"main": [
[
{
"node": "Function: Simulate Intake",
"type": "main",
"index": 0
}
]
]
},
"Set: User Config": {
"main": [
[
{
"node": "Function: Map Intake",
"type": "main",
"index": 0
},
{
"node": "Function: Parse Optin",
"type": "main",
"index": 0
}
]
]
},
"Function: Pick Page": {
"main": [
[
{
"node": "Notion: Set Consent + Status",
"type": "main",
"index": 0
}
]
]
},
"Function: Hold Times": {
"main": [
[
{
"node": "Google Calendar: Create Hold",
"type": "main",
"index": 0
}
]
]
},
"Function: Map Intake": {
"main": [
[
{
"node": "Function: Score Lead",
"type": "main",
"index": 0
}
]
]
},
"Function: Score Lead": {
"main": [
[
{
"node": "Notion: Create Client",
"type": "main",
"index": 0
},
{
"node": "Function: Build Welcome Email",
"type": "main",
"index": 0
}
]
]
},
"If: HubSpot Enabled?": {
"main": [
[
{
"node": "HubSpot: Create Contact",
"type": "main",
"index": 0
}
],
[]
]
},
"Client Intake Webhook": {
"main": [
[
{
"node": "Set: User Config",
"type": "main",
"index": 0
}
]
]
},
"Function: Parse Optin": {
"main": [
[
{
"node": "Notion: Find by Token",
"type": "main",
"index": 0
}
]
]
},
"If: Airtable Enabled?": {
"main": [
[
{
"node": "Airtable: Create Row",
"type": "main",
"index": 0
}
],
[]
]
},
"If: Telegram Enabled?": {
"main": [
[
{
"node": "Telegram: Notify Owner",
"type": "main",
"index": 0
}
],
[]
]
},
"Notion: Find by Token": {
"main": [
[
{
"node": "Function: Pick Page",
"type": "main",
"index": 0
}
]
]
},
"Function: Simulate Intake": {
"main": [
[
{
"node": "Function: Map Intake",
"type": "main",
"index": 0
}
]
]
},
"If: Calendar Hold Enabled?": {
"main": [
[
{
"node": "Function: Hold Times",
"type": "main",
"index": 0
}
],
[]
]
},
"Function: Build Welcome Email": {
"main": [
[
{
"node": "Email: Send Welcome",
"type": "main",
"index": 0
},
{
"node": "If: Telegram Enabled?",
"type": "main",
"index": 0
},
{
"node": "If: Airtable Enabled?",
"type": "main",
"index": 0
},
{
"node": "If: HubSpot Enabled?",
"type": "main",
"index": 0
},
{
"node": "If: Calendar Hold Enabled?",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
A warm, reliable onboarding system for small businesses and studios. Captures a form submission via webhook, creates a Client record in Notion, sends a concierge-style welcome email (with scheduler + optional contract link), optionally pings the owner on Telegram, mirrors the…
Source: https://n8n.io/workflows/7781/ — 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 automates the entire lifecycle of a service-based client, combining four distinct business flows into a single view: Intake Leads: Receives a webhook from your form builder, validates th
Every Gumroad sale becomes a gentle, on-brand experience: instant delivery 💌, a Day-3 check-in 🌷, and a Day-7 1-click testimonial ⭐ — all saved to Notion for your “Wall of Love.” Install in \~15 minut
This template is ideal for small businesses, agencies, and solo professionals who want to automate appointment scheduling and caller follow-up through a voice-based AI receptionist. If you’re using to
This enterprise-grade n8n workflow automates the Pharmaceutical Raw Material COA Verification & Vendor Quality Scoring System — from upload to final reporting — using AI-powered document extraction, s
Plan a full week of scroll-stopping pins in under two minutes! 🚀