This workflow corresponds to n8n.io template #6533 — we link there as the canonical source.
This workflow follows the Gmail → HTTP Request 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "11e4e4bf-3381-445e-9b0a-a1d96d741b1a",
"name": "Markdown",
"type": "n8n-nodes-base.markdown",
"position": [
460,
0
],
"parameters": {
"html": "={{ $json.data }}",
"options": {}
},
"typeVersion": 1
},
{
"id": "4e033490-ea17-4500-99f3-94c86b6860d8",
"name": "Gmail",
"type": "n8n-nodes-base.gmail",
"position": [
1620,
0
],
"parameters": {
"sendTo": "={{ $('Intake Form Submitted').item.json.Email }}",
"message": "=Hey {{ $('Intake Form Submitted').item.json['First name'].split(\" \").first() }}, I just got your form submission.\n<br><br>\n{{ $json.message.content }} Thanks for getting in touch, looking forward to chatting with you later. \n<br>Feel free to reach out if you have any questions:)\n<br><br>\nBest,<br>\nAbdul",
"options": {
"appendAttribution": false
},
"subject": "=Thanks for reaching out"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "053a900d-9097-4713-b859-7f956aafca32",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
-100
],
"parameters": {
"color": 6,
"width": 1040,
"height": 320,
"content": "## Intake form submitted -> Get website copy"
},
"typeVersion": 1
},
{
"id": "f55e9c3b-24ab-46da-9651-cd11ce7c357d",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
1400,
0
],
"parameters": {
"amount": 250
},
"typeVersion": 1.1
},
{
"id": "b783788e-7228-4a7f-9788-b37cd037e540",
"name": "Intake Form Submitted",
"type": "n8n-nodes-base.typeformTrigger",
"position": [
0,
0
],
"parameters": {
"formId": "LlUNhoPN"
},
"credentials": {
"typeformApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.1
},
{
"id": "e1a7b783-7c11-4a9a-af9c-d05ade5fa333",
"name": "Scrape Website",
"type": "n8n-nodes-base.httpRequest",
"position": [
240,
0
],
"parameters": {
"url": "={{ $json['What\\'s your website URL?'] }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "fa93ff64-dbf9-4a4a-9715-48dbe33cd84e",
"name": "Website Plain Copy",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
680,
0
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "GPT-4O-MINI"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "You're a helpful, intelligent web scraping assistant."
},
{
"content": "Your task is to take the raw markdown of a website and convert it into structured data using the following format:\n\n{\"plainTextWebsiteCopy\":\"a long string containing just the text of the site, no formatting\",\n\"oneLineSummary\":\"brief summary of what the website is and what it's about\"}"
},
{
"content": "=Markdown: {{ $json.data }}"
}
]
},
"jsonOutput": true
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.8
},
{
"id": "0ead9204-97ca-422d-ad17-5bd9f5283d27",
"name": "Email Customization",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1040,
0
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "GPT-4O"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "=You are an intelligent email copy writing assistant"
},
{
"content": "=Below are details from a website scrape. Use it to customize an email to a prospect. Write in a short, succinct way, 1-2 sentences only.\nUse this template and (fill in the variables with data from the site). Output the email copy only and nothing else:\n\n\"(CompanyName) looks great, love your (uniqueValueProp/something interesting).\"\n\nRules:\n-Write in a casual human tone, don't just recite the text from the website. (\"love that you're in automation\" instead of \"love that you're helping small to medium plumbing businesses scale through automating their admin work\")\n-Keep it short\n-If you can't generate something, please output nothing.\n\n--\n\nWebsite Copy: {{ $json.message.content.plainTextWebsiteCopy }}\none line summary: {{ $json.message.content.oneLineSummary }}"
}
]
}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.8
},
{
"id": "a4321ddb-0673-4332-973a-b28515c918ba",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1000,
-100
],
"parameters": {
"color": 6,
"width": 800,
"height": 320,
"content": "## Write a \"customized\" thank you email"
},
"typeVersion": 1
},
{
"id": "8b3fbe12-0037-46b0-8460-664c31be57d7",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-720,
-100
],
"parameters": {
"width": 620,
"height": 1260,
"content": "# Send a personalized thank-you email after form submission using website insights\n## Overview\nImpress your leads with ultra-personalized \u201cthank you\u201d emails that look hand-written \u2014 sent automatically seconds after they submit your intake form.\n\nThis workflow instantly scrapes the prospect's website, extracts meaningful copy, and uses AI to write a custom thank-you message referencing something specific from their site. It gives the impression you immediately reviewed their business and crafted a thoughtful reply \u2014 without lifting a finger.\n\n### Who\u2019s it for\n- Agencies and consultants using intake forms \n- Freelancers booking discovery calls \n- B2B businesses that want high-touch first impressions \n- Sales teams automating initial follow-ups \n\n### How it works\n- Triggered when a form (e.g. Tally, Typeform) is submitted \n- Scrapes the website URL provided in the form \n- Converts HTML to Markdown and extracts plain copy \n- Uses AI to write a personalized thank-you message referencing the site \n- Waits briefly to simulate real typing delay \n- Sends the message via Gmail (or any email provider)\n\n### Example use case\n> Prospect submits a form with their website: `coolstartup.ai` \n> \n> 30 seconds later, they receive: \n> \n> _\u201cThanks for reaching out! I just checked out Cool Startup\u2019s homepage \u2014 love the clean UX and mission around AI for teams. Looking forward to diving into how we might collaborate!\u201d_\n\n### How to set up\n1. Connect your form tool (e.g. Tally or Typeform) \n2. Connect Gmail or another email provider \n3. Customize the AI prompt to match your tone \n4. Set the wait time (e.g. 30 seconds) for a realistic delay \n5. Update your website scraping logic if needed \n\n### Requirements\n- Form tool with webhook support \n- OpenAI (or other LLM) credentials \n- Email sending integration (Gmail, Mailgun, Postmark, etc.)\n\n### How to customize\n- Edit the email tone (casual, formal, funny, etc.) \n- Add CRM integration to log form submission and response \n- Trigger additional workflows like lead scoring or Slack alerts \n- Add fallback logic if the website doesn\u2019t scrape cleanly\n"
},
"typeVersion": 1
},
{
"id": "94f3c35a-c552-496c-ac87-397934418691",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
260
],
"parameters": {
"color": 5,
"width": 440,
"height": 240,
"content": "## Hey, I'm Abdul \ud83d\udc4b\n### I build growth systems for consultants & agencies. If you want to work together or need help automating your business, check out my website: \n### **https://www.builtbyabdul.com/**\n### Or email me at **abdul@buildabdul.com**\n### Have a lovely day ;)`"
},
"typeVersion": 1
}
],
"connections": {
"Wait": {
"main": [
[
{
"node": "Gmail",
"type": "main",
"index": 0
}
]
]
},
"Markdown": {
"main": [
[
{
"node": "Website Plain Copy",
"type": "main",
"index": 0
}
]
]
},
"Scrape Website": {
"main": [
[
{
"node": "Markdown",
"type": "main",
"index": 0
}
]
]
},
"Website Plain Copy": {
"main": [
[
{
"node": "Email Customization",
"type": "main",
"index": 0
}
]
]
},
"Email Customization": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Intake Form Submitted": {
"main": [
[
{
"node": "Scrape Website",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
gmailOAuth2openAiApitypeformApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Impress your leads with ultra-personalized “thank you” emails that look hand-written — sent automatically seconds after they submit your intake form.
Source: https://n8n.io/workflows/6533/ — 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.
Stop spending hours formatting proposals. This workflow turns a short post-call form into a high-converting, fully-personalized PandaDoc proposal—plus updates your CRM and drafts the follow-up email f
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
What it is An automated LinkedIn content system that takes a simple form (idea + optional file), generates LinkedIn posts with OpenAI, stores them in Notion, builds Google Slides carousels, and auto-p
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