🀝 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)

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


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

  1. Import the workflow JSON.

  2. Open Set: User Config and fill required values (see above).

  3. Attach credentials: Notion + Email; optional Telegram/Airtable/HubSpot/Google Calendar.

  4. Run Manual Trigger to simulate an intake and verify:

    • Notion page created
    • Welcome email received
    • Optional Telegram/CRM/Calendar actions
  5. 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:


Submission compliance


Troubleshooting (quick)


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

πŸ“– Importing guide Β· πŸ”‘ Credential setup