This workflow corresponds to n8n.io template #12633 — we link there as the canonical source.
This workflow follows the Gmail → Notion 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": "RyxP4Crl73QMcSq6",
"name": "Send automated onboarding emails to Notion leads via Gmail",
"tags": [],
"nodes": [
{
"id": "09b9b37a-213c-4eb9-ab90-489d4e116bfb",
"name": "Run Daily",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-1808,
-176
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 24
}
]
}
},
"typeVersion": 1.2
},
{
"id": "0b3a9e50-ea04-4917-b31c-6afea67b1eac",
"name": "Manual Trigger",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1808,
-352
],
"parameters": {},
"typeVersion": 1
},
{
"id": "8c177e20-1b16-4db4-b5fb-f201c89ed0b9",
"name": "\ud83d\udcdd CONFIGURATION",
"type": "n8n-nodes-base.set",
"notes": "\ud83d\udc47 EDIT EMAILS HERE",
"position": [
-1552,
-272
],
"parameters": {
"values": {
"string": [
{
"name": "PRODUCT_NAME",
"value": "My SaaS Product"
},
{
"name": "MANAGER_NAME",
"value": "Alex"
},
{
"name": "TELEGRAM_CHAT_ID",
"value": "-1+1234567890"
},
{
"name": "EMAIL_WELCOME_SUBJ",
"value": "\ud83d\ude80 Welcome! Let's get started"
},
{
"name": "EMAIL_WELCOME_BODY",
"value": "Hi!<br><br>Thanks for joining. Reply to this email to get help."
},
{
"name": "EMAIL_DAY1_SUBJ",
"value": "\ud83d\udca1 Pro Tip: How to get more value"
},
{
"name": "EMAIL_DAY1_BODY",
"value": "Did you know that configuring your profile increases success by 35%?"
},
{
"name": "EMAIL_DAY3_SUBJ",
"value": "\ud83d\udc4b Checking in..."
},
{
"name": "EMAIL_DAY3_BODY",
"value": "It's been 3 days. Do you need any help setting things up?"
},
{
"name": "EMAIL_DAY7_SUBJ",
"value": "Personal assistance for you"
},
{
"name": "EMAIL_DAY7_BODY",
"value": "I noticed you haven't fully activated your account. Reply 'YES' and I'll help."
},
{
"name": "EMAIL_PAYMENT_SUBJ",
"value": "\u26a0\ufe0f Your trial is expiring"
},
{
"name": "EMAIL_PAYMENT_BODY",
"value": "Your trial ends in 3 days. Upgrade now to keep access."
}
]
},
"options": {}
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "ed4799ac-1c78-4c15-bae0-6d0bb28bd753",
"name": "1. Get New Users",
"type": "n8n-nodes-base.notion",
"notes": "Step 0: Welcome",
"position": [
-1152,
-768
],
"parameters": {
"filters": {
"conditions": [
{
"key": "Pipeline Stage|status",
"condition": "equals",
"statusValue": "New"
},
{
"key": "Onboarding: Welcome|checkbox",
"condition": "equals"
}
]
},
"options": {},
"resource": "databasePage",
"matchType": "allFilters",
"operation": "getAll",
"databaseId": {
"__rl": true,
"mode": "list",
"value": ""
},
"filterType": "manual"
},
"typeVersion": 2.2
},
{
"id": "117af622-a85a-4501-b073-2894c609af03",
"name": "\ud83d\udce7 Send Welcome",
"type": "n8n-nodes-base.gmail",
"position": [
-928,
-768
],
"parameters": {
"sendTo": "={{ $json.properties.Email.email }}",
"message": "={{ $('\ud83d\udcdd CONFIGURATION').first().json.EMAIL_WELCOME_BODY }}",
"options": {
"appendAttribution": false
},
"subject": "={{ $('\ud83d\udcdd CONFIGURATION').first().json.EMAIL_WELCOME_SUBJ }}"
},
"typeVersion": 2.1
},
{
"id": "38c749d0-3a54-47a0-b1b7-cbe1286bf7a8",
"name": "\u2705 Mark Welcome",
"type": "n8n-nodes-base.notion",
"notes": "\u26a0\ufe0f Select DB",
"position": [
-704,
-768
],
"parameters": {
"pageId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"resource": "databasePage",
"operation": "update",
"propertiesUi": {
"propertyValues": [
{
"key": "Onboarding: Welcome|checkbox",
"checkboxValue": true
}
]
}
},
"typeVersion": 2.2
},
{
"id": "eebc0ff3-558a-4545-b009-4b4962508379",
"name": "2. Get Day 1 Users",
"type": "n8n-nodes-base.notion",
"notes": "Step 1: Tips",
"position": [
-1152,
-512
],
"parameters": {
"filters": {
"conditions": [
{
"key": "Onboarding: Tip #1|checkbox",
"condition": "equals"
},
{
"key": "Registration Date|date",
"date": "={{ new Date(Date.now() - 1 * 24 * 60 * 60 * 1000).toISOString().slice(0, 10) }}",
"condition": "before"
}
]
},
"options": {},
"resource": "databasePage",
"matchType": "allFilters",
"operation": "getAll",
"databaseId": {
"__rl": true,
"mode": "list",
"value": ""
},
"filterType": "manual"
},
"typeVersion": 2.2
},
{
"id": "351f5254-704f-4677-b870-700f4d4a5134",
"name": "\ud83d\udce7 Send Tip #1",
"type": "n8n-nodes-base.gmail",
"position": [
-928,
-512
],
"parameters": {
"sendTo": "={{ $json.properties.Email.email }}",
"message": "={{ $('\ud83d\udcdd CONFIGURATION').first().json.EMAIL_DAY1_BODY }}",
"options": {
"appendAttribution": false
},
"subject": "={{ $('\ud83d\udcdd CONFIGURATION').first().json.EMAIL_DAY1_SUBJ }}"
},
"typeVersion": 2.1
},
{
"id": "d79fb447-59ed-4784-9e4f-dc876720b271",
"name": "\u2705 Mark Tip #1",
"type": "n8n-nodes-base.notion",
"notes": "\u26a0\ufe0f Select DB",
"position": [
-704,
-512
],
"parameters": {
"pageId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"resource": "databasePage",
"operation": "update",
"propertiesUi": {
"propertyValues": [
{
"key": "Onboarding: Tip #1|checkbox",
"checkboxValue": true
}
]
}
},
"typeVersion": 2.2
},
{
"id": "966007fd-60e6-437f-996f-04c113c98b90",
"name": "3. Get Day 3 Users",
"type": "n8n-nodes-base.notion",
"notes": "Step 2: Check-in",
"position": [
-1136,
-224
],
"parameters": {
"filters": {
"conditions": [
{
"key": "Onboarding: Follow-up|checkbox",
"condition": "equals"
},
{
"key": "Registration Date|date",
"date": "={{ new Date(Date.now() - 3 * 24 * 60 * 60 * 1000).toISOString().slice(0, 10) }}",
"condition": "before"
}
]
},
"options": {},
"resource": "databasePage",
"matchType": "allFilters",
"operation": "getAll",
"databaseId": {
"__rl": true,
"mode": "list",
"value": ""
},
"filterType": "manual"
},
"typeVersion": 2.2
},
{
"id": "e968eb2d-6dd5-44f6-9688-2c7e5d3f0054",
"name": "\ud83d\udce7 Send Follow-up",
"type": "n8n-nodes-base.gmail",
"position": [
-912,
-224
],
"parameters": {
"sendTo": "={{ $json.properties.Email.email }}",
"message": "={{ $('\ud83d\udcdd CONFIGURATION').first().json.EMAIL_DAY3_BODY }}",
"options": {
"appendAttribution": false
},
"subject": "={{ $('\ud83d\udcdd CONFIGURATION').first().json.EMAIL_DAY3_SUBJ }}"
},
"typeVersion": 2.1
},
{
"id": "cd7a391c-5674-4e6c-9fd0-f13544fb81ab",
"name": "\u2705 Mark Follow-up",
"type": "n8n-nodes-base.notion",
"notes": "\u26a0\ufe0f Select DB",
"position": [
-688,
-224
],
"parameters": {
"pageId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"resource": "databasePage",
"operation": "update",
"propertiesUi": {
"propertyValues": [
{
"key": "Onboarding: Follow-up|checkbox",
"checkboxValue": true
}
]
}
},
"typeVersion": 2.2
},
{
"id": "f83d14c5-18c1-40df-9745-d92028cd1e40",
"name": "4. Get Day 7 Users",
"type": "n8n-nodes-base.notion",
"notes": "Step 3: Personal",
"position": [
-1136,
64
],
"parameters": {
"filters": {
"conditions": [
{
"key": "Onboarding: Personal|checkbox",
"condition": "equals"
},
{
"key": "Registration Date|date",
"date": "={{ new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString().slice(0, 10) }}",
"condition": "before"
}
]
},
"options": {},
"resource": "databasePage",
"matchType": "allFilters",
"operation": "getAll",
"databaseId": {
"__rl": true,
"mode": "list",
"value": ""
},
"filterType": "manual"
},
"typeVersion": 2.2
},
{
"id": "a9a0a80b-2955-4e0e-9184-23dd79c354cc",
"name": "\ud83d\udce7 Send Manager Email",
"type": "n8n-nodes-base.gmail",
"position": [
-912,
64
],
"parameters": {
"sendTo": "={{ $json.properties.Email.email }}",
"message": "={{ $('\ud83d\udcdd CONFIGURATION').first().json.EMAIL_DAY7_BODY }}",
"options": {
"appendAttribution": false
},
"subject": "={{ $('\ud83d\udcdd CONFIGURATION').first().json.EMAIL_DAY7_SUBJ }}"
},
"typeVersion": 2.1
},
{
"id": "0195b8df-0d83-45eb-b6eb-613b9733c3c2",
"name": "\u2705 Mark Personal",
"type": "n8n-nodes-base.notion",
"notes": "\u26a0\ufe0f Select DB",
"position": [
-688,
64
],
"parameters": {
"pageId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"resource": "databasePage",
"operation": "update",
"propertiesUi": {
"propertyValues": [
{
"key": "Onboarding: Personal|checkbox",
"checkboxValue": true
}
]
}
},
"typeVersion": 2.2
},
{
"id": "c64c6dd2-d53b-48f1-8f05-2cd2a6271160",
"name": "\ud83d\udce2 Notify Team",
"type": "n8n-nodes-base.telegram",
"position": [
-480,
64
],
"parameters": {
"text": "=\ud83d\udd25 <b>Hot Lead Alert! (Day 7)</b>\n\n\ud83c\udfe2 <b>{{ $json[\"properties\"][\"Company Name\"][\"title\"][0][\"plain_text\"] }}</b>\n\n\u26a1\ufe0f <b>Status:</b> User registered 7 days ago and still hasn't converted.\n\nAssigned to: {{ $('\ud83d\udcdd CONFIGURATION').first().json.MANAGER_NAME }}",
"chatId": "={{ $('\ud83d\udcdd CONFIGURATION').first().json.TELEGRAM_CHAT_ID }}",
"additionalFields": {
"parse_mode": "HTML",
"appendAttribution": false
}
},
"typeVersion": 1.2
},
{
"id": "4098cada-111d-44c1-b315-63a6d68ed1df",
"name": "5. Get Expiring Users",
"type": "n8n-nodes-base.notion",
"notes": "Step 4: Payment",
"position": [
-1152,
352
],
"parameters": {
"filters": {
"conditions": [
{
"key": "Subscription Status|status",
"condition": "equals",
"statusValue": "Trial"
},
{
"key": "System: Payment Alert|checkbox",
"condition": "equals"
},
{
"key": "Expiry Date|date",
"date": "={{ new Date(Date.now() + 3 * 24 * 60 * 60 * 1000).toISOString().slice(0, 10) }}",
"condition": "before"
}
]
},
"options": {},
"resource": "databasePage",
"matchType": "allFilters",
"operation": "getAll",
"databaseId": {
"__rl": true,
"mode": "list",
"value": ""
},
"filterType": "manual"
},
"typeVersion": 2.2
},
{
"id": "e84a7d03-8f32-40d8-8f5a-e507a68d5257",
"name": "\ud83d\udce7 Send Payment Alert",
"type": "n8n-nodes-base.gmail",
"position": [
-928,
352
],
"parameters": {
"sendTo": "={{ $json.properties.Email.email }}",
"message": "={{ $('\ud83d\udcdd CONFIGURATION').first().json.EMAIL_PAYMENT_BODY }}",
"options": {
"appendAttribution": false
},
"subject": "={{ $('\ud83d\udcdd CONFIGURATION').first().json.EMAIL_PAYMENT_SUBJ }}"
},
"typeVersion": 2.1
},
{
"id": "720c1af0-95fd-4158-a923-5f1e8539303d",
"name": "\u2705 Update Status",
"type": "n8n-nodes-base.notion",
"notes": "\u26a0\ufe0f Select DB",
"position": [
-704,
352
],
"parameters": {
"pageId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"resource": "databasePage",
"operation": "update",
"propertiesUi": {
"propertyValues": [
{
"key": "Subscription Status|status",
"statusValue": "Expiring"
},
{
"key": "System: Payment Alert|checkbox",
"checkboxValue": true
}
]
}
},
"typeVersion": 2.2
},
{
"id": "26653e3f-9f04-4f1a-bd0e-3790406e6d2a",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1632,
-432
],
"parameters": {
"color": 7,
"width": 280,
"height": 372,
"content": "## \ud83d\udcdd CONFIGURATION\nSet all your email subjects and body texts here.\n\nAlso set your **Telegram Chat ID** for internal notifications."
},
"typeVersion": 1
},
{
"id": "221be588-79d8-4f31-b6e9-1c8c7a62679e",
"name": "Sticky Note 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1216,
-864
],
"parameters": {
"color": 7,
"width": 796,
"height": 252,
"content": "## Stage 1: Welcome (Day 0)\nIdentifies new signups and immediately sends the welcome email."
},
"typeVersion": 1
},
{
"id": "df43d5c5-7bfb-4edc-bd45-1c237d5ae087",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2288,
-560
],
"parameters": {
"width": 352,
"height": 704,
"content": "# \ud83d\ude80 SaaS Onboarding Drip\nThis workflow automates a 5-step email sequence for new users stored in Notion. It handles welcome emails, pro-tips, check-ins, and trial expiration alerts automatically.\n\n## How it works\n1. **Checks Database:** Runs daily to find users matching specific criteria (e.g., \"Registered 3 days ago\").\n2. **Sends Emails:** Uses Gmail to send the relevant email for that stage.\n3. **Updates CRM:** Marks the stage as \"Completed\" in Notion to prevent duplicate sends.\n4. **Alerts Team:** Sends a Telegram notification if a lead is unresponsive after 7 days.\n\n## Setup steps\n1. **Configure Nodes:** Open the `\ud83d\udcdd CONFIGURATION` node to set your email subjects, body text, and Telegram Chat ID.\n2. **Connect Accounts:** Add your credentials for Notion, Gmail, and Telegram.\n3. **Map Database:** In the Notion nodes, select your specific database and ensure property names match."
},
"typeVersion": 1
},
{
"id": "3f94f18c-559e-4b57-bd5e-d3ea72dab1c1",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1216,
-592
],
"parameters": {
"color": 7,
"width": 800,
"height": 240,
"content": "## Stage 2: Pro Tip (Day 1)\nSends a value-add tip 24 hours after registration to increase feature adoption."
},
"typeVersion": 1
},
{
"id": "321df32d-f09d-42b2-84d6-bee7c3e81fd6",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1216,
-336
],
"parameters": {
"color": 7,
"width": 800,
"height": 272,
"content": "## Stage 3: Soft Check-in (Day 3)\nAutomatically asks users if they need help setting up their account."
},
"typeVersion": 1
},
{
"id": "e029f2ce-4902-4971-ba07-fc029009d436",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1216,
-48
],
"parameters": {
"color": 7,
"width": 928,
"height": 272,
"content": "## Stage 4: Sales Push (Day 7)\nSends a \"personal\" email from a manager and alerts the team via Telegram about unconverted leads."
},
"typeVersion": 1
},
{
"id": "dce3d563-1cc0-4d60-a086-37efcd1ef333",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1216,
240
],
"parameters": {
"color": 7,
"width": 784,
"height": 272,
"content": "## Stage 5: Trial Expiry\nDetects users whose trial ends in 3 days and sends an upgrade reminder."
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "a75ad100-f8b8-45d4-b185-c10e2151e6a1",
"connections": {
"Run Daily": {
"main": [
[
{
"node": "\ud83d\udcdd CONFIGURATION",
"type": "main",
"index": 0
}
]
]
},
"Manual Trigger": {
"main": [
[
{
"node": "\ud83d\udcdd CONFIGURATION",
"type": "main",
"index": 0
}
]
]
},
"1. Get New Users": {
"main": [
[
{
"node": "\ud83d\udce7 Send Welcome",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udce7 Send Tip #1": {
"main": [
[
{
"node": "\u2705 Mark Tip #1",
"type": "main",
"index": 0
}
]
]
},
"\u2705 Mark Personal": {
"main": [
[
{
"node": "\ud83d\udce2 Notify Team",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udce7 Send Welcome": {
"main": [
[
{
"node": "\u2705 Mark Welcome",
"type": "main",
"index": 0
}
]
]
},
"2. Get Day 1 Users": {
"main": [
[
{
"node": "\ud83d\udce7 Send Tip #1",
"type": "main",
"index": 0
}
]
]
},
"3. Get Day 3 Users": {
"main": [
[
{
"node": "\ud83d\udce7 Send Follow-up",
"type": "main",
"index": 0
}
]
]
},
"4. Get Day 7 Users": {
"main": [
[
{
"node": "\ud83d\udce7 Send Manager Email",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udcdd CONFIGURATION": {
"main": [
[
{
"node": "1. Get New Users",
"type": "main",
"index": 0
},
{
"node": "2. Get Day 1 Users",
"type": "main",
"index": 0
},
{
"node": "3. Get Day 3 Users",
"type": "main",
"index": 0
},
{
"node": "4. Get Day 7 Users",
"type": "main",
"index": 0
},
{
"node": "5. Get Expiring Users",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udce7 Send Follow-up": {
"main": [
[
{
"node": "\u2705 Mark Follow-up",
"type": "main",
"index": 0
}
]
]
},
"5. Get Expiring Users": {
"main": [
[
{
"node": "\ud83d\udce7 Send Payment Alert",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udce7 Send Manager Email": {
"main": [
[
{
"node": "\u2705 Mark Personal",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udce7 Send Payment Alert": {
"main": [
[
{
"node": "\u2705 Update Status",
"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 automates a complete 5-step user onboarding sequence by integrating Notion (as a CRM), Gmail (for sending emails), and Telegram (for team alerts).
Source: https://n8n.io/workflows/12633/ — 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.
I created this workflow with great care to help you simplify your daily reporting routine. If you manage Meta Ads campaigns, you know how time-consuming it can be to open Ads Manager, filter data, and
I built this workflow to remove the daily pain of Meta Ads reporting. If you manage multiple ad accounts, you know how time-consuming it is to open Ads Manager, export campaign data, clean spreadsheet
This workflow automatically enriches incoming form leads, applies a customizable scoring model, then routes high-value prospects to a Notion CRM database and a Matrix channel for instant sales notific
This workflow monitors Meta Ads and Google Ads campaigns on a daily schedule to detect performance drops. It fetches yesterday’s campaign data, standardizes metrics, and calculates CTR and ROAS agains
Track companies adopting tools that complement yours and send AI-drafted co-marketing outreach emails to new adopters.