π€ Automated client onboarding system with Notion, email & CRM integration
β‘ 312 views Β· π€ CRM & Sales Operations
Description
Graceful Client Onboarding Concierge β Pro
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 lead to Airtable/HubSpot, places a temporary Google Calendar hold, and includes a double opt-in confirmation link.
Made for: coaches, designers, boutique agencies, e-commerce and service providers who want consistent follow-up without manual busywork.
What it does (flow)
- Trigger: Form β
POST /client-intake(or Manual Trigger for instant demo) - Normalize & Score: Map fields, auto-generate
optInToken, computescoreandtier - Create in Notion:
Clientspage (Name, Email, Package, Notes, Status, Score, Tier, OptInToken, Consent=false) - Welcome Email: industry-tuned copy + scheduler link (+ contract link for Growth/Pro/Custom packages)
- Owner Notify (optional): Telegram ping with tier + score
- CRM Mirrors (optional): Create Airtable row and/or HubSpot contact
- Calendar Hold (optional): 30-min βIntro Holdβ event (e.g., now + 48h)
- Double Opt-In:
/optin-confirm?token=...&email=...sets Consent=true & Status=Confirmed in Notion - Error Handling: On failure, send an email to the owner
flowchart TD
A[Form β Webhook /client-intake] --> B[Map Intake + Score Lead]
B --> C[Notion: Create Client]
B --> D[Build Welcome Email]
D --> E[Email: Send Welcome]
D --> F{Optional actions}
F -->|Telegram| G[Telegram: Notify Owner]
F -->|Airtable| H[Airtable: Create Row]
F -->|HubSpot| I[HubSpot: Create Contact]
F -->|Calendar Hold| J[Google Calendar: Create Hold]
K[GET /optin-confirm] --> L[Find Notion by OptInToken] --> M[Update: Consent=true, Status=Confirmed]
ER[Error Trigger] --> EH[Email Owner]
Prerequisites
- Notion database
Clientswith properties:Name (title),Email (email),Package (select),Notes (rich text),Status (select),Score (number),Tier (select),OptInToken (text),Consent (checkbox)(CSV header provided in the Sticky note on canvas.) - Email (SMTP or Gmail OAuth)
- Optional: Telegram Bot + Chat ID, Airtable (Base ID + Table), HubSpot (Contacts), Google Calendar (Calendar ID)
Configuration (Set these in Set: User Config)
NOTION_DB_ID = your Notion Clients DB ID
FROM_EMAIL = sender address for welcome email
OWNER_EMAIL = where error notifications go
SCHEDULER_URL = booking link (Calendly, Once, etc.)
BASE_URL = your public n8n domain (for opt-in link)
CONTRACT_BASE_URL = (optional) proposal/contract URL base
ENABLE_TELEGRAM = true|false
TELEGRAM_CHAT_ID = (if enabled)
ENABLE_AIRTABLE = true|false
AIRTABLE_BASE_ID = (if enabled)
AIRTABLE_TABLE = (if enabled)
ENABLE_HUBSPOT = true|false
ENABLE_CAL_HOLD = true|false
CALENDAR_ID = "primary" or calendar ID
HOLD_HOURS_FROM_NOW = number of hours (default 48)
INDUSTRY = coaching | design_studio | ecommerce | services
Credentials: Attach in node credentials panels (no secrets in JSON).
How to use
-
Import the workflow JSON.
-
Open Set: User Config and fill required values (see above).
-
Attach credentials: Notion + Email; optional Telegram/Airtable/HubSpot/Google Calendar.
-
Run Manual Trigger to simulate an intake and verify:
- Notion page created
- Welcome email received
- Optional Telegram/CRM/Calendar actions
-
Switch your form to the Production Webhook URL shown in the Client Intake Webhook node.
Sample JSON (for testing the live webhook):
{"name":"Ava Laurent","email":"ava@example.com","package":"Growth","message":"Excited to begin!"}
Double opt-in: The welcome email includes a link like
https://YOUR-N8N-DOMAIN/webhook/optin-confirm?token=...&email=...
Clicking it sets Consent=true and Status=Confirmed on the Notion record.
Industry-tuned welcome copy
Set INDUSTRY to control phrasing automatically:
coachingβ gentle goals/blocks framingdesign_studioβ asset handoff + milestone languageecommerceβ store link + quick-win focusservicesβ general service language
Submission compliance
- β Manual Trigger path for instant demo
- β Markdown sticky notes with clear H2 sections (README, Prereqs + CSV, Setup, Testing, Compliance, Changelog)
- β No hardcoded API keys (credentials only)
- β Timezone-safe ISO times for calendar hold
- β Clear placeholders and copy-paste CSV headers included
Troubleshooting (quick)
- No email: attach Email creds; ensure
FROM_EMAILis allowed by your provider. - No Notion page: verify
NOTION_DB_IDand property names; check Notion permissions. - Webhook issues: ensure your form sends JSON; adapt mapping for form-encoded payloads.
- Opt-in link fails:
BASE_URLmust be your public n8n domain; workflow must be active. - Calendar hold not created: set
ENABLE_CAL_HOLD=true, attach Google Calendar creds, confirmCALENDAR_ID.
Tags: onboarding, notion, email, crm, telegram, airtable, hubspot, calendar, double-opt-in, small business, concierge, women-led brands
Version: v3 (see Changelog sticky on canvas)
π Nodes Used
Airtable, Send Email, Function, Webhook, Telegram, HubSpot
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File