This workflow corresponds to n8n.io template #7163 — we link there as the canonical source.
This workflow follows the Gmail → Google Sheets 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": "LCSqIlPZdq3OmgH0",
"name": "Hyper-Personalize Email Outreach with AI, Gmail & Google Sheets",
"tags": [],
"nodes": [
{
"id": "af621613-d8c3-411e-8f5b-26e08eb27133",
"name": "Get row(s) in sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
780,
920
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "{YOUR_SHEET_ID}",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{YOUR_GOOGLE_SHEET_ID}/edit#gid=0",
"cachedResultName": "{YOUR_SHEET_NAME}"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "{YOUR_GOOGLE_DOCUMENT_ID}",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{YOUR_GOOGLE_DOCUMENT_ID}/edit?usp=drivesdk",
"cachedResultName": "n8nEmail"
}
},
"typeVersion": 4.6
},
{
"id": "cf8bc124-04fd-4930-9040-6fc6ee6f25c4",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
240,
920
],
"parameters": {},
"typeVersion": 1
},
{
"id": "613fd1d4-ec8a-40be-9f31-ef64483acf87",
"name": "Send Personalized emails",
"type": "n8n-nodes-base.gmail",
"position": [
2700,
920
],
"parameters": {
"sendTo": "={{ $('Get row(s) in sheet').item.json['Email ID'] }}",
"message": "={{ $json.message.content }}",
"options": {
"appendAttribution": false
},
"subject": "=Re:{{ $('Get row(s) in sheet').item.json.Intent }}"
},
"typeVersion": 2.1
},
{
"id": "a40af7f9-b6f3-400e-ab4e-dd775003b733",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
60,
620
],
"parameters": {
"color": 5,
"width": 440,
"height": 280,
"content": "### Step 1: Kickoff the Conversation! \ud83d\udfe2\ud83d\udcec\n\nClick **\u201cExecute Workflow\u201d** to start the automation.\n\nWhat happens next?\n\n- \ud83d\udcc4 It reads data from the sheet (Name, Email, Intent, and Message).\n- \ud83d\ude80 Triggers the workflow to process each row individually.\n\nThis starts the process of sending personalized email to the end users\n"
},
"typeVersion": 1
},
{
"id": "b6a44211-9973-426f-970e-7cf92ba068cf",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
620,
1080
],
"parameters": {
"color": 3,
"width": 380,
"height": 480,
"content": "### Step 2: Sheet Scanner Activated! \ud83d\udcc4\ud83d\udd0d\n\nThis node connects to your **Google Sheet** and reads all the rows in it.\n\nConfigure your **document** and specific **sheet** here\n\nWhat it fetches:\n\n- \ud83e\uddd1\u200d\ud83d\udcbc First Name \n- \ud83d\udce7 Email ID \n- \ud83e\udde0 Intent \n- \ud83d\udcac Why They Sent the Email\n\nThis node is crucial to fetch the details for the ***automated*** e-mail process \n\nEach row represents a unique lead or contact, ready to be processed and responded to. It\u2019s your automation\u2019s inbox\u2014neatly structured and scalable.\n"
},
"typeVersion": 1
},
{
"id": "742daf1e-e03e-4aa5-a01f-6d7a89e562e9",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1900,
1120
],
"parameters": {
"color": 4,
"width": 420,
"height": 360,
"content": "### Step 4: Smart Email Writer \u270d\ufe0f\ud83e\udd16\n\nThis node uses **OpenAI** to craft a personalized email reply for each contact.\n\nUsing:\n\n- \ud83e\udde0 **Intent** (e.g., Demo Request, Partnership Inquiry)\n- \ud83d\udcac **Why They Sent the Email**\n\nIt generates a thoughtful, relevant, and human-like response tailored to each person\u2019s message.\n\nNo templates. Just context-aware communication\u2014written like a professional.\n"
},
"typeVersion": 1
},
{
"id": "41dad360-10ee-40f4-9e9b-1f2d490d2545",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2520,
500
],
"parameters": {
"color": 6,
"width": 380,
"height": 400,
"content": "### Step 5: Hitting Send \u2709\ufe0f\ud83d\udce8\n\nThis node uses the **Gmail integration** to send the personalized email generated in the previous step.\n\nWhat it does:\n\n- \u2705 Sends the message to the contact\u2019s **Email ID**.\n- \ud83d\udcac Includes the personalized content created by OpenAI.\n- \ud83d\udcc5 Ensures timely, automated follow-up\u2014without manual effort.\n\nThis node completes the automation process by sending the personalized emails to the end users.\n"
},
"typeVersion": 1
},
{
"id": "cfb4be86-d24c-4eb5-ab7e-649c851bbadc",
"name": "Message a model",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1920,
920
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "{YOUR_OPENAI_MODEL}",
"cachedResultName": "{YOUR_OPENAI_MODEL_NAME}"
},
"options": {},
"messages": {
"values": [
{
"content": "=Write a professional and friendly email reply to {{ $('Get row(s) in sheet').item.json['First Name'] }} . Their intent is \"{{ $('Get row(s) in sheet').item.json.Intent }}\". They wrote: \"{{ $('Get row(s) in sheet').item.json['Why They Sent Email'] }}\". Make the response specific to their message and helpful.No need to add the subject line. Generate in HTML formatting.\nThe footer signature should be of the following format\nThanks,\n{{ $json.sendAs[0].displayName }}\n"
}
]
}
},
"typeVersion": 1.8
},
{
"id": "e2b7d857-9ebb-4bff-914c-c7c8c4c87de2",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
1320,
920
],
"parameters": {
"url": "https://gmail.googleapis.com/gmail/v1/users/me/settings/sendAs",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "gmailOAuth2"
},
"typeVersion": 4.2,
"alwaysOutputData": true
},
{
"id": "c9140451-b3db-433e-9fc4-9c7ff088c455",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1100,
560
],
"parameters": {
"width": 420,
"height": 340,
"content": "### Step 3: Signature Sync \ud83d\udd8b\ufe0f\ud83d\udcdb\n\nThis node connects to your **Gmail account** to fetch your display name.\n\nWhy this matters:\n\n- \u2705 Ensures your name appears correctly in the email signature.\n- \ud83d\udcec Maintains professionalism and brand consistency.\n- \ud83e\udd1d Adds a personal touch to every automated reply.\n\nThis node ensures the email signature has your name on it instead of vague details\n"
},
"typeVersion": 1
},
{
"id": "da2db045-a86c-4735-bc81-b5d69df1b28a",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
20,
0
],
"parameters": {
"color": 4,
"width": 480,
"height": 520,
"content": "## \ud83d\udee0\ufe0f Prerequisites\n\nBefore running this workflow, make sure the following integrations are set up:\n\n1. **Google Account Setup** \n - Connect your Google account using **Client Credentials**. \n - Enable the following services: \n - \ud83d\udcc4 Google Sheets \n - \ud83d\udcc2 Google Drive \n - \ud83d\udce7 Gmail \n\n2. **OpenAI Integration** \n - Add and configure your **OpenAI API Key**. \n - Required for generating context-aware, personalized email replies.\n\n\nThis will ensure the smooth execution of your personalised email sending workflow\n"
},
"typeVersion": 1
},
{
"id": "50b85307-3566-4b05-b7a7-459864f53362",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2740,
1120
],
"parameters": {
"color": 6,
"width": 420,
"content": "### Support\n\nFor further support, or to develop and custom workflow, reach out to:\n\n getstarted@intuz.com"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "6da9d4a4-381a-4ecf-bb5d-d92075e7be16",
"connections": {
"HTTP Request": {
"main": [
[
{
"node": "Message a model",
"type": "main",
"index": 0
}
]
]
},
"Message a model": {
"main": [
[
{
"node": "Send Personalized emails",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Get row(s) in sheet",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
It powerfully combines AI with Gmail and Google Sheets, using specific keywords and prospect data to automatically craft unique, compelling email content that boosts engagement and secures more replies.
Source: https://n8n.io/workflows/7163/ — 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 intelligent email automation workflow helps you maximize engagement through domain-based outreach. It utilizes AI-powered personalization and strategic follow-ups to increase response rates. The
Send a target niche and location via Telegram message Workflow discovers businesses via Google Maps API AI enriches contacts with email and LinkedIn data via Serper GPT-4o scores and qualifies each le
This workflow is designed for SEO professionals, digital agencies, content creators, and WordPress site owners who want to improve their search engine rankings automatically. It’s also perfect for cur
This n8n workflow — HRMate — streamlines your entire recruitment process by automatically parsing incoming job applications, evaluating candidate fit using AI, and sending personalized acceptance or r
Overview