Skip to main content

Automated client onboarding system with Notion, email & CRM integration

Workflow preview

Workflow preview
100%
Automated client onboarding system with Notion, email & CRM integration preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

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 co...

Best for

  • CRM automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.webhook, n8n-nodes-base.manualtrigger, n8n-nodes-base.set, n8n-nodes-base.function, n8n-nodes-base.notion, n8n-nodes-base.emailsend, n8n-nodes-base.if

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Shelly-Ann Davy.

Original n8n.io source

1.1 Workflow description

Title
Automated client onboarding system with Notion, email & CRM integration
Workflow name
Automated client onboarding system with Notion, email & CRM integration

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, compute score and tier
  • Create in Notion: Clients page (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 Clients with 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

  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":"[email protected]","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 framing
  • design_studio – asset handoff + milestone language
  • ecommerce – store link + quick-win focus
  • services – 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_EMAIL is allowed by your provider.
  • No Notion page: verify NOTION_DB_ID and property names; check Notion permissions.
  • Webhook issues: ensure your form sends JSON; adapt mapping for form-encoded payloads.
  • Opt-in link fails: BASE_URL must be your public n8n domain; workflow must be active.
  • Calendar hold not created: set ENABLE_CAL_HOLD=true, attach Google Calendar creds, confirm CALENDAR_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)

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky: README

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Sticky: Prereqs + CSV

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Sticky: Setup Checklist

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Sticky: Testing Notes

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Sticky: Compliance + Troubleshooting

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 6 - Sticky: Changelog

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - Client Intake Webhook

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 1

Block 8 - Manual Trigger

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 9 - Set: User Config

Type / Role
n8n-nodes-base.set - set
Config choices
Version 2

Block 10 - Function: Simulate Intake

Type / Role
n8n-nodes-base.function - function
Config choices
Version 2

Block 11 - Function: Map Intake

Type / Role
n8n-nodes-base.function - function
Config choices
Version 2

Block 12 - Function: Score Lead

Type / Role
n8n-nodes-base.function - function
Config choices
Version 2

Block 13 - Notion: Create Client

Type / Role
n8n-nodes-base.notion - notion
Config choices
Version 2

Block 14 - Function: Build Welcome Email

Type / Role
n8n-nodes-base.function - function
Config choices
Version 2

Block 15 - Email: Send Welcome

Type / Role
n8n-nodes-base.emailSend - emailSend
Config choices
Version 2

Block 16 - If: Telegram Enabled?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 17 - Telegram: Notify Owner

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1

Block 18 - If: Airtable Enabled?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 19 - Airtable: Create Row

Type / Role
n8n-nodes-base.airtable - airtable
Config choices
Version 3

Block 20 - If: HubSpot Enabled?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 21 - HubSpot: Create Contact

Type / Role
n8n-nodes-base.hubspot - hubspot
Config choices
Version 2

Block 22 - If: Calendar Hold Enabled?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 23 - Function: Hold Times

Type / Role
n8n-nodes-base.function - function
Config choices
Version 2

Block 24 - Google Calendar: Create Hold

Type / Role
n8n-nodes-base.googleCalendar - googleCalendar
Config choices
Version 3

Showing the first 24 of 31 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Automated client onboarding system with Notion, email & CRM integration
Complexity advanced
Nodes 31
Categories CRM, Multimodal AI
Author Shelly-Ann Davy
Published 24 Aug 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/7781/7781.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Automated client onboarding system with Notion, email & CRM integration do?

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 co...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your CRM, Multimodal AI use case.