This workflow corresponds to n8n.io template #9545 — we link there as the canonical source.
This workflow follows the Agent → Form Trigger 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": "00edb258-54e9-422e-a7a2-3aa33c0eb3d7",
"name": "Form Submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
-2032,
560
],
"parameters": {
"options": {},
"formTitle": "Free Landing Page Audit - By Evervise",
"formFields": {
"values": [
{
"fieldLabel": "Landing Page URL",
"placeholder": "https://yourwebsite.com/landing-page",
"requiredField": true
},
{
"fieldLabel": "What's your industry?",
"placeholder": "e.g., SaaS, E-commerce, Real Estate, Coaching"
},
{
"fieldType": "dropdown",
"fieldLabel": "Primary goal of this page",
"fieldOptions": {
"values": [
{
"option": "Generate Leads"
},
{
"option": "Drive Sales"
},
{
"option": "Get Sign-ups"
},
{
"option": "Book Appointments"
},
{
"option": "Download Resource"
},
{
"option": "Other"
}
]
},
"requiredField": true
},
{
"fieldLabel": "Current conversion rate (if known)",
"placeholder": "e.g., 2.5% or 'I don't know'"
},
{
"fieldType": "textarea",
"fieldLabel": "Biggest frustration with current page",
"placeholder": "e.g., Low conversions, high bounce rate, unclear messaging"
},
{
"fieldType": "email",
"fieldLabel": "Your Email",
"placeholder": "your@email.com",
"requiredField": true
}
]
},
"formDescription": "Get a $2,000 professional landing page audit in 90 seconds. Powered by 4 AI specialists who analyze design, copy, SEO, and conversion strategy."
},
"typeVersion": 2.3
},
{
"id": "7e2c45b5-dfd9-4a1d-9321-3658268a2281",
"name": "Initialize Variables",
"type": "n8n-nodes-base.set",
"position": [
-1792,
560
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "url",
"name": "landing_page_url",
"type": "string",
"value": "={{ $json['Landing Page URL'] }}"
},
{
"id": "industry",
"name": "industry",
"type": "string",
"value": "={{ $json[\"What's your industry?\"] || 'General' }}"
},
{
"id": "goal",
"name": "primary_goal",
"type": "string",
"value": "={{ $json['Primary goal of this page'] }}"
},
{
"id": "conv_rate",
"name": "current_conversion",
"type": "string",
"value": "={{ $json['Current conversion rate (if known)'] || 'Unknown' }}"
},
{
"id": "frustration",
"name": "biggest_frustration",
"type": "string",
"value": "={{ $json['Biggest frustration with current page'] || 'Not specified' }}"
},
{
"id": "email",
"name": "user_email",
"type": "string",
"value": "={{ $json['Your Email'] }}"
},
{
"id": "timestamp",
"name": "analysis_timestamp",
"type": "string",
"value": "={{ new Date().toISOString() }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "471cb0d7-1dc9-430b-8654-f3d98efdd6b3",
"name": "Fetch Page HTML",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1520,
480
],
"parameters": {
"url": "={{ $json.landing_page_url }}",
"options": {
"timeout": 10000,
"response": {
"response": {
"neverError": true,
"fullResponse": true
}
}
}
},
"typeVersion": 4.1,
"continueOnFail": true
},
{
"id": "28c8b537-b38d-4db5-806b-f02f46a5baab",
"name": "Extract Page Elements",
"type": "n8n-nodes-base.code",
"position": [
-1328,
480
],
"parameters": {
"jsCode": "// Extract key HTML elements for analysis\nconst html = $json.body || '';\nconst url = $('Initialize Variables').item.json.landing_page_url;\n\n// Extract title\nconst titleMatch = html.match(/<title[^>]*>([^<]+)<\\/title>/i);\nconst pageTitle = titleMatch ? titleMatch[1].trim() : 'No title found';\n\n// Extract meta description\nconst metaDescMatch = html.match(/<meta[^>]*name=[\"']description[\"'][^>]*content=[\"']([^\"']+)[\"']/i);\nconst metaDescription = metaDescMatch ? metaDescMatch[1] : 'No meta description';\n\n// Extract headings\nconst h1Matches = html.match(/<h1[^>]*>([^<]+)<\\/h1>/gi) || [];\nconst h1s = h1Matches.map(h => h.replace(/<[^>]*>/g, '').trim()).slice(0, 5);\n\nconst h2Matches = html.match(/<h2[^>]*>([^<]+)<\\/h2>/gi) || [];\nconst h2s = h2Matches.map(h => h.replace(/<[^>]*>/g, '').trim()).slice(0, 10);\n\n// Extract CTAs (buttons and links with common CTA text)\nconst ctaPattern = /(get started|buy now|sign up|subscribe|download|learn more|contact|book|try|start|join)/gi;\nconst buttonMatches = html.match(/<button[^>]*>([^<]+)<\\/button>/gi) || [];\nconst linkMatches = html.match(/<a[^>]*>([^<]+)<\\/a>/gi) || [];\nconst allCTAs = [...buttonMatches, ...linkMatches]\n .map(cta => cta.replace(/<[^>]*>/g, '').trim())\n .filter(text => ctaPattern.test(text))\n .slice(0, 10);\n\n// Count forms\nconst formCount = (html.match(/<form/gi) || []).length;\n\n// Check for common frameworks/tools\nconst hasReact = html.includes('react');\nconst hasBootstrap = html.includes('bootstrap');\nconst hasTailwind = html.includes('tailwind');\nconst hasGA = html.includes('google-analytics') || html.includes('gtag');\nconst hasFBPixel = html.includes('facebook');\n\n// Extract word count (rough estimate)\nconst textContent = html.replace(/<script[^>]*>.*?<\\/script>/gi, '')\n .replace(/<style[^>]*>.*?<\\/style>/gi, '')\n .replace(/<[^>]*>/g, ' ')\n .replace(/\\s+/g, ' ')\n .trim();\nconst wordCount = textContent.split(/\\s+/).length;\n\n// Check mobile viewport\nconst hasMobileViewport = html.includes('viewport');\n\n// Extract images\nconst imgMatches = html.match(/<img[^>]*>/gi) || [];\nconst imageCount = imgMatches.length;\nconst hasAltTags = imgMatches.filter(img => /alt=[\"'][^\"']+[\"']/i.test(img)).length;\n\nreturn {\n url: url,\n page_title: pageTitle,\n meta_description: metaDescription,\n h1_headings: h1s,\n h2_headings: h2s,\n cta_buttons: allCTAs,\n form_count: formCount,\n word_count: wordCount,\n image_count: imageCount,\n images_with_alt: hasAltTags,\n has_mobile_viewport: hasMobileViewport,\n detected_tech: {\n react: hasReact,\n bootstrap: hasBootstrap,\n tailwind: hasTailwind,\n google_analytics: hasGA,\n facebook_pixel: hasFBPixel\n },\n html_preview: html.substring(0, 3000),\n analysis_ready: true\n};"
},
"typeVersion": 2
},
{
"id": "ad942109-b994-4402-b0ec-3899b1b38c40",
"name": "Design Critic Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
-960,
784
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-sonnet-4-5-20250929",
"cachedResultName": "Claude Sonnet 4.5"
},
"options": {
"topP": 0.9,
"temperature": 0.4
}
},
"credentials": {
"anthropicApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "fc5bc3ff-5a5b-4740-a9d3-bb57f4ae46e6",
"name": "Copywriter Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
-512,
784
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-sonnet-4-5-20250929",
"cachedResultName": "Claude Sonnet 4.5"
},
"options": {
"topP": 0.9,
"temperature": 0.5
}
},
"credentials": {
"anthropicApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "89e26ce8-fd3b-446b-829a-2b12bc0f00b3",
"name": "SEO Specialist Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
-128,
816
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-sonnet-4-5-20250929",
"cachedResultName": "Claude Sonnet 4.5"
},
"options": {
"topP": 0.85,
"temperature": 0.3
}
},
"credentials": {
"anthropicApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "ee0f74d0-a91b-4eb3-8aee-4c548fd95764",
"name": "Growth Strategist Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
272,
784
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-sonnet-4-5-20250929",
"cachedResultName": "Claude Sonnet 4.5"
},
"options": {
"topP": 0.95,
"temperature": 0.6
}
},
"credentials": {
"anthropicApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "23de0e39-87ed-4eb5-9361-ea79bc6f1112",
"name": "Agent 1: Design Critic",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-928,
544
],
"parameters": {
"text": "=Landing Page Data:\n- URL: {{ $('Extract Page Elements').item.json.url }}\n- Industry: {{ $('Initialize Variables').item.json.industry }}\n- Goal: {{ $('Initialize Variables').item.json.primary_goal }}\n- Title: {{ $('Extract Page Elements').item.json.page_title }}\n- H1 Headings: {{ JSON.stringify($('Extract Page Elements').item.json.h1_headings) }}\n- CTA Buttons: {{ JSON.stringify($('Extract Page Elements').item.json.cta_buttons) }}\n- Form Count: {{ $('Extract Page Elements').item.json.form_count }}\n- Image Count: {{ $('Extract Page Elements').item.json.image_count }}\n- Images with Alt Tags: {{ $('Extract Page Elements').item.json.images_with_alt }}\n- Mobile Viewport: {{ $('Extract Page Elements').item.json.has_mobile_viewport }}\n- Detected Tech: {{ JSON.stringify($('Extract Page Elements').item.json.detected_tech) }}\n\nAnalyze this landing page from a DESIGN and USER EXPERIENCE perspective.\n\nProvide detailed feedback on:\n1. Visual hierarchy and layout\n2. CTA design and placement\n3. Use of whitespace\n4. Color scheme effectiveness\n5. Mobile responsiveness indicators\n6. Trust signals (testimonials, badges, etc.)\n7. Above-the-fold content\n8. Overall design cohesion\n\nScore each area 0-10 and provide specific improvement recommendations.",
"options": {
"systemMessage": "You are a senior UX/UI designer and conversion optimization expert with 15+ years experience analyzing landing pages.\n\nYou evaluate pages based on:\n- Visual hierarchy (F-pattern, Z-pattern)\n- CTA prominence and clarity\n- Color psychology for the industry\n- Trust indicators and social proof placement\n- Mobile-first design principles\n- Whitespace and breathing room\n- Professional polish vs. amateur mistakes\n\nOutput your analysis in this structure:\n\n\ud83d\udcca DESIGN SCORES (0-10 each):\n- Visual Hierarchy: X/10\n- CTA Design: X/10 \n- Mobile Responsiveness: X/10\n- Trust Signals: X/10\n- Professional Polish: X/10\n\n\ud83c\udfa8 KEY FINDINGS:\n[3-5 bullet points of main design issues or strengths]\n\n\ud83d\udd25 CRITICAL DESIGN FLAWS:\n[List any deal-breaker design problems]\n\n\u2728 QUICK WINS:\n[3-5 easy design improvements that would have immediate impact]\n\n\ud83d\udca1 ADVANCED RECOMMENDATIONS:\n[Bigger picture design strategy suggestions]\n\nBe specific, honest, and constructive. Reference actual elements from the page data provided."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "71d7715f-49ec-42a8-9b38-24a5f2a81cf0",
"name": "Agent 2: Copywriter",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-528,
544
],
"parameters": {
"text": "=Landing Page Data:\n- URL: {{ $('Extract Page Elements').item.json.url }}\n- Industry: {{ $('Initialize Variables').item.json.industry }}\n- Goal: {{ $('Initialize Variables').item.json.primary_goal }}\n- Title: {{ $('Extract Page Elements').item.json.page_title }}\n- Meta Description: {{ $('Extract Page Elements').item.json.meta_description }}\n- H1 Headings: {{ JSON.stringify($('Extract Page Elements').item.json.h1_headings) }}\n- H2 Headings: {{ JSON.stringify($('Extract Page Elements').item.json.h2_headings) }}\n- CTA Buttons: {{ JSON.stringify($('Extract Page Elements').item.json.cta_buttons) }}\n- Word Count: {{ $('Extract Page Elements').item.json.word_count }}\n\nAnalyze this landing page from a COPYWRITING and MESSAGING perspective.\n\nProvide detailed feedback on:\n1. Headline effectiveness (does it hook attention?)\n2. Value proposition clarity\n3. Benefit vs. feature focus\n4. Emotional triggers and persuasion\n5. CTA copy (is it compelling?)\n6. Overall message clarity\n7. Voice and tone for the industry\n8. Scannability and readability\n\nScore each area 0-10 and provide specific copy improvements.",
"options": {
"systemMessage": "You are a world-class copywriter and conversion expert specializing in landing pages.\n\nYou evaluate copy based on:\n- Headline formulas (curiosity, benefit, urgency)\n- Value proposition clarity (can a 5-year-old understand it?)\n- Benefits-focused language vs. feature-dumping\n- Emotional triggers (fear, desire, curiosity, belonging)\n- CTA psychology (action-oriented, value-driven)\n- Readability (Flesch score, sentence length)\n- Voice & tone match to audience\n- Objection handling\n\nOutput your analysis in this structure:\n\n\ud83d\udcca COPY SCORES (0-10 each):\n- Headline Impact: X/10\n- Value Proposition Clarity: X/10\n- Benefit Focus: X/10\n- CTA Effectiveness: X/10\n- Overall Persuasiveness: X/10\n\n\u270d\ufe0f KEY FINDINGS:\n[3-5 bullet points of main copy issues or strengths]\n\n\ud83d\udea8 CRITICAL COPY PROBLEMS:\n[List any messaging deal-breakers]\n\n\u26a1 QUICK COPY FIXES:\n[3-5 easy rewrites that would boost conversions]\n\n\ud83c\udfaf REWRITE SUGGESTIONS:\n[Provide specific headline and CTA alternatives]\n\n\ud83d\udcac MESSAGING STRATEGY:\n[Overall approach to improve persuasion]\n\nBe specific and provide actual rewrite examples. Reference the goal and industry context."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "8eab43b8-deb2-440a-9836-b52f7ae5f7fa",
"name": "Agent 3: SEO & Technical",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-128,
544
],
"parameters": {
"text": "=Landing Page Data:\n- URL: {{ $('Extract Page Elements').item.json.url }}\n- Title: {{ $('Extract Page Elements').item.json.page_title }}\n- Meta Description: {{ $('Extract Page Elements').item.json.meta_description }}\n- H1 Count: {{ $('Extract Page Elements').item.json.h1_headings.length }}\n- Word Count: {{ $('Extract Page Elements').item.json.word_count }}\n- Image Count: {{ $('Extract Page Elements').item.json.image_count }}\n- Images with Alt: {{ $('Extract Page Elements').item.json.images_with_alt }}\n- Mobile Viewport: {{ $('Extract Page Elements').item.json.has_mobile_viewport }}\n- Has Analytics: {{ $('Extract Page Elements').item.json.detected_tech.google_analytics }}\n\nAnalyze this landing page from an SEO and TECHNICAL perspective.\n\nProvide detailed feedback on:\n1. Title tag optimization\n2. Meta description quality\n3. Heading structure (H1, H2 hierarchy)\n4. Image optimization (alt tags)\n5. Mobile-friendliness\n6. Page speed indicators\n7. Analytics tracking\n8. Technical SEO basics\n\nScore each area 0-10 and provide specific technical improvements.",
"options": {
"systemMessage": "You are a technical SEO expert and web performance specialist.\n\nYou evaluate pages based on:\n- On-page SEO fundamentals\n- Title tag best practices (50-60 chars, keyword placement)\n- Meta description optimization (150-160 chars)\n- Proper heading hierarchy\n- Image optimization (alt tags, lazy loading)\n- Mobile-first indexing requirements\n- Core Web Vitals\n- Analytics and tracking setup\n- Accessibility standards\n\nOutput your analysis in this structure:\n\n\ud83d\udcca SEO & TECHNICAL SCORES (0-10 each):\n- Title Tag Optimization: X/10\n- Meta Description: X/10\n- Heading Structure: X/10\n- Image Optimization: X/10\n- Mobile Readiness: X/10\n- Technical Health: X/10\n\n\ud83d\udd0d KEY FINDINGS:\n[3-5 bullet points of main SEO/technical issues]\n\n\u26a0\ufe0f CRITICAL SEO ISSUES:\n[List any red flags that hurt rankings]\n\n\u26a1 QUICK TECHNICAL WINS:\n[3-5 easy fixes for immediate SEO improvement]\n\n\ud83d\udee0\ufe0f TECHNICAL RECOMMENDATIONS:\n[Deeper technical improvements]\n\n\ud83d\udcc8 SEO STRATEGY:\n[Overall approach to improve search visibility]\n\nBe specific and actionable. Provide exact character counts for meta elements."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "51e1e27e-1a9d-46a6-be24-6d0cc1325fc1",
"name": "Agent 4: Growth Strategist",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
272,
544
],
"parameters": {
"text": "=Original Request:\n- Industry: {{ $('Initialize Variables').item.json.industry }}\n- Goal: {{ $('Initialize Variables').item.json.primary_goal }}\n- Current Conversion: {{ $('Initialize Variables').item.json.current_conversion }}\n- Biggest Frustration: {{ $('Initialize Variables').item.json.biggest_frustration }}\n\nDesign Analysis:\n{{ $('Agent 1: Design Critic').item.json.output }}\n\nCopy Analysis:\n{{ $('Agent 2: Copywriter').item.json.output }}\n\nSEO Analysis:\n{{ $('Agent 3: SEO & Technical').item.json.output }}\n\nAs the growth strategist, synthesize all analyses and provide:\n1. Overall landing page grade (A+ to F) with explanation\n2. Top 5 priorities ranked by impact\n3. Estimated conversion lift potential\n4. Strategic recommendations\n5. Comprehensive score card across all dimensions\n\nBe brutally honest but constructive.",
"options": {
"systemMessage": "You are a growth strategist and conversion rate optimization (CRO) expert who synthesizes design, copy, and technical insights into actionable business strategy.\n\nYour job is to:\n- Assign an overall grade (A+ to F) based on all agent feedback\n- Prioritize improvements by ROI (impact vs. effort)\n- Estimate realistic conversion lift potential\n- Provide strategic, business-focused recommendations\n- Create a balanced scorecard\n\nOutput your analysis in this EXACT structure:\n\n\ud83c\udfaf OVERALL LANDING PAGE GRADE\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nGrade: [A+, A, A-, B+, B, B-, C+, C, C-, D, F]\nScore: X/100\n\n[2-3 sentence explanation of the grade]\n\n\ud83d\udcca COMPREHENSIVE SCORECARD\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nDesign & UX: X/10\n[Brief justification]\n\nCopywriting & Messaging: X/10\n[Brief justification]\n\nSEO & Technical: X/10\n[Brief justification]\n\nConversion Potential: X/10\n[Brief justification]\n\nMobile Experience: X/10\n[Brief justification]\n\nTrust & Credibility: X/10\n[Brief justification]\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n\ud83d\udd25 TOP 5 PRIORITIES (Ranked by Impact)\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n1. [Priority 1]\n Impact: [High/Medium/Low] | Effort: [Easy/Medium/Hard]\n Expected Lift: X-Y%\n [Why this matters]\n\n2. [Priority 2]\n Impact: [High/Medium/Low] | Effort: [Easy/Medium/Hard]\n Expected Lift: X-Y%\n [Why this matters]\n\n[... continue for all 5]\n\n\ud83d\udcc8 CONVERSION LIFT POTENTIAL\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nConservative Estimate: +X%\nRealistic Target: +Y%\nOptimistic Scenario: +Z%\n\n[2-3 sentences explaining the basis for these estimates]\n\n\ud83d\udcaa KEY STRENGTHS\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2022 [Strength 1]\n\u2022 [Strength 2]\n\u2022 [Strength 3]\n\n\u26a0\ufe0f CRITICAL WEAKNESSES\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2022 [Weakness 1]\n\u2022 [Weakness 2]\n\u2022 [Weakness 3]\n\n\ud83d\ude80 STRATEGIC RECOMMENDATIONS\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n[3-5 paragraphs of strategic, high-level recommendations that tie everything together]\n\n\ud83d\udca1 NEXT STEPS\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n1. [Immediate action item]\n2. [Short-term improvement]\n3. [Long-term strategy]\n\nBe honest but motivating. Focus on business outcomes, not just metrics."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "49410bcd-f4c6-4756-8a68-0928795bb198",
"name": "Format Email Report",
"type": "n8n-nodes-base.code",
"position": [
592,
544
],
"parameters": {
"jsCode": "// Format the comprehensive email report\nconst designAnalysis = $('Agent 1: Design Critic').item.json.output;\nconst copyAnalysis = $('Agent 2: Copywriter').item.json.output;\nconst seoAnalysis = $('Agent 3: SEO & Technical').item.json.output;\nconst strategyAnalysis = $('Agent 4: Growth Strategist').item.json.output;\n\nconst userData = $('Initialize Variables').item.json;\nconst pageData = $('Extract Page Elements').item.json;\n\n// Extract grade and score from strategy analysis\nconst gradeMatch = strategyAnalysis.match(/Grade:\\s*([A-F][+-]?)/i);\nconst grade = gradeMatch ? gradeMatch[1] : 'N/A';\n\nconst scoreMatch = strategyAnalysis.match(/Score:\\s*(\\d+)\\/100/i);\nconst score = scoreMatch ? scoreMatch[1] : '0';\n\n// Determine grade color\nconst getGradeColor = (grade) => {\n if (grade.startsWith('A')) return '#28a745';\n if (grade.startsWith('B')) return '#17a2b8';\n if (grade.startsWith('C')) return '#ffc107';\n if (grade.startsWith('D')) return '#fd7e14';\n return '#dc3545';\n};\n\nconst gradeColor = getGradeColor(grade);\n\n// Format sections for email\nconst formatSection = (content, title, icon, color) => {\n return `\n <div style=\"margin: 30px 0; padding: 20px; background: #f8f9fa; border-left: 4px solid ${color}; border-radius: 4px;\">\n <h2 style=\"margin: 0 0 15px 0; color: ${color}; font-size: 20px;\">${icon} ${title}</h2>\n <div style=\"white-space: pre-line; line-height: 1.8; color: #333;\">${content}</div>\n </div>\n `;\n};\n\nconst emailHtml = `\n<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<style>\n body { \n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n line-height: 1.6; \n color: #333; \n background: #f5f5f5; \n margin: 0;\n padding: 0;\n }\n .container { \n max-width: 800px; \n margin: 0 auto; \n background: white;\n }\n .header { \n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n color: white; \n padding: 40px 30px; \n text-align: center;\n }\n .header h1 { \n margin: 0; \n font-size: 32px; \n font-weight: 700;\n }\n .header p { \n margin: 10px 0 0 0; \n opacity: 0.95;\n font-size: 16px;\n }\n .grade-banner {\n background: white;\n text-align: center;\n padding: 40px 20px;\n border-bottom: 2px solid #e9ecef;\n }\n .grade-circle {\n width: 180px;\n height: 180px;\n border-radius: 50%;\n border: 8px solid ${gradeColor};\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin-bottom: 20px;\n }\n .grade-letter {\n font-size: 72px;\n font-weight: 700;\n color: ${gradeColor};\n line-height: 1;\n }\n .grade-score {\n font-size: 20px;\n color: #6c757d;\n margin-top: 5px;\n }\n .content { \n padding: 30px;\n }\n .cta-box {\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n color: white;\n padding: 40px;\n text-align: center;\n margin: 40px 0;\n border-radius: 8px;\n }\n .cta-box h2 {\n margin: 0 0 15px 0;\n font-size: 28px;\n }\n .cta-box p {\n margin: 0 0 25px 0;\n font-size: 18px;\n opacity: 0.95;\n }\n .cta-button {\n display: inline-block;\n background: white;\n color: #667eea;\n padding: 15px 40px;\n text-decoration: none;\n border-radius: 6px;\n font-weight: 700;\n font-size: 18px;\n transition: transform 0.2s;\n }\n .cta-button:hover {\n transform: translateY(-2px);\n }\n .footer { \n background: #2c3e50;\n color: white;\n padding: 30px;\n text-align: center;\n }\n .footer p {\n margin: 10px 0;\n opacity: 0.9;\n }\n .footer a {\n color: #3498db;\n text-decoration: none;\n }\n @media only screen and (max-width: 600px) {\n .header h1 { font-size: 24px; }\n .grade-circle { width: 150px; height: 150px; }\n .grade-letter { font-size: 60px; }\n .content { padding: 20px; }\n }\n</style>\n</head>\n<body>\n<div class=\"container\">\n <!-- Header -->\n <div class=\"header\">\n <h1>\ud83c\udfaf Your Landing Page Audit</h1>\n <p>Professional analysis from 4 AI specialists</p>\n <p style=\"font-size: 14px; margin-top: 15px; opacity: 0.8;\">${new Date().toLocaleDateString('en-US', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })}</p>\n </div>\n \n <!-- Grade Banner -->\n <div class=\"grade-banner\">\n <div class=\"grade-circle\">\n <div class=\"grade-letter\">${grade}</div>\n <div class=\"grade-score\">${score}/100</div>\n </div>\n <h2 style=\"margin: 0; color: #2c3e50;\">Landing Page: ${pageData.page_title}</h2>\n <p style=\"color: #6c757d; margin: 10px 0 0 0;\">${userData.landing_page_url}</p>\n <p style=\"color: #6c757d; margin: 5px 0 0 0;\">Industry: ${userData.industry} | Goal: ${userData.primary_goal}</p>\n </div>\n \n <!-- Content -->\n <div class=\"content\">\n <!-- Strategic Overview -->\n ${formatSection(strategyAnalysis, 'Strategic Overview & Score Card', '\ud83d\ude80', '#667eea')}\n \n <!-- Design Analysis -->\n ${formatSection(designAnalysis, 'Design & User Experience Analysis', '\ud83c\udfa8', '#e74c3c')}\n \n <!-- Copy Analysis -->\n ${formatSection(copyAnalysis, 'Copywriting & Messaging Analysis', '\u270d\ufe0f', '#3498db')}\n \n <!-- SEO Analysis -->\n ${formatSection(seoAnalysis, 'SEO & Technical Analysis', '\ud83d\udd0d', '#2ecc71')}\n \n <!-- CTA Box -->\n <div class=\"cta-box\">\n <h2>Want Us To Fix It For You?</h2>\n <p>Our team of experts can implement all these recommendations and boost your conversions.</p>\n <a href=\"https://evervise.com/landing-page-optimization\" class=\"cta-button\">Get a Custom Quote \u2192</a>\n <p style=\"font-size: 14px; margin-top: 20px;\">Or book a free 30-minute strategy call</p>\n </div>\n \n <!-- What's Next -->\n <div style=\"background: #fff3cd; padding: 25px; border-left: 4px solid #ffc107; border-radius: 4px; margin: 30px 0;\">\n <h3 style=\"margin: 0 0 15px 0; color: #856404;\">\ud83d\udccb What To Do With This Report</h3>\n <ol style=\"margin: 0; padding-left: 20px; color: #856404;\">\n <li style=\"margin: 10px 0;\"><strong>Start with Quick Wins:</strong> Implement the easy improvements first for immediate results</li>\n <li style=\"margin: 10px 0;\"><strong>Prioritize by Impact:</strong> Focus on the TOP 5 PRIORITIES listed in the strategic overview</li>\n <li style=\"margin: 10px 0;\"><strong>Track Results:</strong> Measure conversion rate before and after each change</li>\n <li style=\"margin: 10px 0;\"><strong>Need Help?</strong> Our team can handle all implementation and testing for you</li>\n </ol>\n </div>\n \n <!-- Page Stats -->\n <div style=\"background: #f8f9fa; padding: 20px; border-radius: 8px; margin: 30px 0;\">\n <h3 style=\"margin: 0 0 15px 0; color: #495057;\">\ud83d\udcca Page Statistics</h3>\n <div style=\"display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px;\">\n <div>\n <strong>Total Words:</strong> ${pageData.word_count.toLocaleString()}<br>\n <strong>CTAs Found:</strong> ${pageData.cta_buttons.length}<br>\n <strong>Forms:</strong> ${pageData.form_count}\n </div>\n <div>\n <strong>Images:</strong> ${pageData.image_count}<br>\n <strong>With Alt Tags:</strong> ${pageData.images_with_alt}<br>\n <strong>Mobile Viewport:</strong> ${pageData.has_mobile_viewport ? 'Yes \u2705' : 'No \u274c'}\n </div>\n </div>\n </div>\n </div>\n \n <!-- Footer -->\n <div class=\"footer\">\n <h3 style=\"margin: 0 0 15px 0; color: white;\">Evervise - Digital Marketing & Automation Experts</h3>\n <p>This audit was automatically generated by our AI-powered landing page analyzer.</p>\n <p>We specialize in landing page optimization, automation, and digital transformation.</p>\n <p style=\"margin-top: 25px;\">\n <a href=\"https://evervise.com\">Visit Our Website</a> | \n <a href=\"https://evervise.com/contact\">Contact Us</a> | \n <a href=\"https://evervise.com/services\">Our Services</a>\n </p>\n <p style=\"font-size: 12px; margin-top: 25px; opacity: 0.7;\">\n \u00a9 ${new Date().getFullYear()} Evervise. All rights reserved.\n </p>\n </div>\n</div>\n</body>\n</html>\n`;\n\nreturn {\n email_html: emailHtml,\n email_subject: `\ud83c\udfaf Your Landing Page Grade: ${grade} (${score}/100) - ${pageData.page_title}`,\n user_email: userData.user_email,\n grade: grade,\n score: score,\n url: userData.landing_page_url,\n timestamp: userData.analysis_timestamp\n};"
},
"typeVersion": 2
},
{
"id": "19a16469-6dc1-412c-9bbc-b0f1fe5f8d3d",
"name": "Send Email Report",
"type": "n8n-nodes-base.gmail",
"position": [
832,
544
],
"parameters": {
"sendTo": "={{ $json.user_email }}",
"message": "={{ $json.email_html }}",
"options": {},
"subject": "={{ $json.email_subject }}"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "0bb1744e-ecba-4678-9c94-394b032dccb0",
"name": "Workflow Overview",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2512,
336
],
"parameters": {
"color": 6,
"width": 380,
"height": 448,
"content": "## \ud83d\udccb WORKFLOW OVERVIEW\n**AI Landing Page Analyzer & Optimizer**\n\n\u23f1\ufe0f **Performance:**\n- Avg completion: 60-90 seconds\n- 4 AI agents working in parallel\n- Cost per analysis: ~$0.15-0.25\n\n\ud83c\udfaf **Conversion Funnel:**\n- Free: Full audit report\n- Paid Tier 1 ($297): We fix it\n- Paid Tier 2 ($997): Fix + A/B testing\n- Enterprise: Full optimization program\n\n\ud83d\udca1 **Optimization Ideas:**\n- Add screenshot capture (UrlBox API)\n- Generate visual mockups (v2)\n- A/B test different email formats\n- Track which recommendations get implemented"
},
"typeVersion": 1
},
{
"id": "c28e0d4d-2cae-4706-a3df-a87079174761",
"name": "Form Section",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2048,
144
],
"parameters": {
"color": 7,
"width": 380,
"height": 348,
"content": "## \ud83d\udcdd FORM INTAKE\n**User submits landing page for audit**\n\n\u2728 **Customization Options:**\n- Add company size field\n- Add budget/pricing tier selector\n- Require phone for high-intent leads\n- Add \"How did you hear about us?\"\n\n\ud83c\udfa8 **Design Tips:**\n- Keep it simple (6 fields max)\n- Use dropdown for goal (reduces friction)\n- Make conversion rate optional\n- Email is the only hard requirement"
},
"typeVersion": 1
},
{
"id": "c6fd62f6-b133-4a1c-85fa-6025f54efd71",
"name": "Scraping Section",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1536,
0
],
"parameters": {
"color": 7,
"width": 380,
"height": 412,
"content": "## \ud83c\udf10 WEB SCRAPING\n**Extracts page content for analysis**\n\n\u2699\ufe0f **What It Does:**\n- Fetches HTML of landing page\n- Extracts headings, CTAs, forms\n- Counts images and checks alt tags\n- Detects mobile viewport\n- Identifies frameworks/tools\n\n\ud83d\udca1 **Enhancement Ideas:**\n- Add screenshot capture (UrlBox/Puppeteer)\n- Extract CSS for color analysis\n- Check page load speed\n- Scan for broken links\n- Use Apify Crawler or Crawl4AI(also provided below) - You can use raw output for those"
},
"typeVersion": 1
},
{
"id": "cff336b5-d8d0-42fb-8a5b-077bfc851641",
"name": "Agent 1 Info",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1008,
16
],
"parameters": {
"color": 7,
"width": 336,
"height": 452,
"content": "## \ud83e\udd16 AGENT 1: Design Critic\n**UX/UI analysis expert**\n\n\ud83c\udfa8 **Focus Areas:**\n- Visual hierarchy\n- CTA placement & design\n- Whitespace usage\n- Trust signals\n- Mobile responsiveness\n\n\u2699\ufe0f **Model Settings:**\n- Temperature: 0.4 (balanced)\n- Creative but consistent\n\n\ud83d\udcca **Output:**\n- 5 design scores (0-10)\n- Critical flaws\n- Quick wins\n- Advanced recommendations"
},
"typeVersion": 1
},
{
"id": "8118065f-3628-4c23-bbc1-ef38da849ac1",
"name": "Agent 2 Info",
"type": "n8n-nodes-base.stickyNote",
"position": [
-592,
16
],
"parameters": {
"color": 7,
"width": 320,
"height": 452,
"content": "## \ud83e\udd16 AGENT 2: Copywriter\n**Messaging & persuasion expert**\n\n\u270d\ufe0f **Focus Areas:**\n- Headline effectiveness\n- Value proposition clarity\n- Benefits vs features\n- CTA copy strength\n- Emotional triggers\n\n\u2699\ufe0f **Model Settings:**\n- Temperature: 0.5 (creative)\n- Great for copy ideas\n\n\ud83d\udcca **Output:**\n- 5 copy scores (0-10)\n- Rewrite suggestions\n- Specific alternatives\n- Messaging strategy"
},
"typeVersion": 1
},
{
"id": "a1e78d0d-7668-4dc0-ad88-0f54ff3e40fb",
"name": "Agent 3 Info",
"type": "n8n-nodes-base.stickyNote",
"position": [
-176,
-16
],
"parameters": {
"color": 7,
"width": 320,
"height": 500,
"content": "## \ud83e\udd16 AGENT 3: SEO Specialist\n**Technical & search optimization**\n\n\ud83d\udd0d **Focus Areas:**\n- Title tag optimization\n- Meta description\n- Heading structure\n- Image optimization\n- Mobile-friendliness\n- Analytics tracking\n\n\u2699\ufe0f **Model Settings:**\n- Temperature: 0.3 (precise)\n- Technical accuracy critical\n\n\ud83d\udcca **Output:**\n- 6 technical scores (0-10)\n- Critical SEO issues\n- Quick technical wins\n- SEO strategy"
},
"typeVersion": 1
},
{
"id": "859c9e16-1ac4-42a0-8d09-30fdaafd53bb",
"name": "Agent 4 Info",
"type": "n8n-nodes-base.stickyNote",
"position": [
208,
-16
],
"parameters": {
"color": 7,
"width": 360,
"height": 500,
"content": "## \ud83e\udd16 AGENT 4: Growth Strategist\n**Synthesis & strategic recommendations**\n\n\ud83d\ude80 **Responsibilities:**\n- Assign overall grade (A-F)\n- Create comprehensive scorecard\n- Rank top 5 priorities\n- Estimate conversion lift\n- Strategic recommendations\n\n\u2699\ufe0f **Model Settings:**\n- Temperature: 0.6 (strategic thinking)\n- Balances all inputs\n\n\ud83d\udcca **Output:**\n- Overall grade & score (/100)\n- 6-dimension scorecard\n- Prioritized action items\n- Conversion lift estimates\n- Strategic roadmap"
},
"typeVersion": 1
},
{
"id": "ac9f53db-4ab1-44d9-af00-96a26c39c445",
"name": "Email Section",
"type": "n8n-nodes-base.stickyNote",
"position": [
1040,
368
],
"parameters": {
"color": 7,
"width": 340,
"height": 468,
"content": "## \ud83d\udce7 EMAIL DELIVERY\n**Beautiful HTML report**\n\n\ud83c\udfa8 **Email Includes:**\n- Grade banner with score\n- All 4 agent analyses\n- Comprehensive scorecard\n- Page statistics\n- Clear CTA to paid services\n\n\ud83d\udca1 **Customization:**\n- Add calendar booking link\n- Segment by score (A/B get different CTA)\n- Include video explanation\n- Add social proof\n\n\ud83d\udcca **Track:**\n- Email open rate\n- CTA click rate\n- Conversion to paid"
},
"typeVersion": 1
},
{
"id": "211da7b9-9d8e-4aac-bb9a-117ace8194d0",
"name": "Scrape single URL",
"type": "@apify/n8n-nodes-apify.apify",
"position": [
-1520,
640
],
"parameters": {
"url": "={{ $('Initialize Variables').item.json.landing_page_url }}",
"operation": "Scrape single URL"
},
"credentials": {
"apifyApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "2366b186-a26b-4c07-ab23-643c5aa241e6",
"name": "Crawl4AI",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
-1520,
864
],
"parameters": {
"url": "Crawl4AIInstanceLink/crawl",
"method": "POST",
"options": {},
"jsonBody": "={\n \"urls\": [\"{{ $('Initialize Variables').item.json.landing_page_url }}\"],\n \"browser_config\": {\n \"params\": { \"headless\": true }\n },\n \"priority\": 10,\n \"crawler_config\": {\n \"type\": \"CrawlerRunConfig\",\n \"params\": { \"cache_mode\": \"bypass\" },\n \"max_pages\":10,\n \"max_depth\":2\n }\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "918286d4-4b03-4756-9ce8-71f9c0bb1a47",
"name": "Sticky Note19",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2544,
816
],
"parameters": {
"color": 6,
"width": 448,
"height": 272,
"content": "## \ud83d\ude80 Built by Evervise\n\n**Automating the repetitive so you can focus on what matters**\n\n### Need Help?\n\ud83d\udce7 **Support**: mark.marin@evervise.com\n\ud83c\udf10 **Website**: [evervise.ai](https://evervise.ai) \n\ud83d\udcac **Response Time**: Usually within 24 hours\n**License**: Customize freely for your needs\n\n*Questions about customization? We've been there. Reach out.*"
},
"typeVersion": 1
}
],
"connections": {
"Crawl4AI": {
"main": [
[
{
"node": "Extract Page Elements",
"type": "main",
"index": 0
}
]
]
},
"Fetch Page HTML": {
"main": [
[
{
"node": "Extract Page Elements",
"type": "main",
"index": 0
}
]
]
},
"Form Submission": {
"main": [
[
{
"node": "Initialize Variables",
"type": "main",
"index": 0
}
]
]
},
"Copywriter Model": {
"ai_languageModel": [
[
{
"node": "Agent 2: Copywriter",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Scrape single URL": {
"main": [
[
{
"node": "Extract Page Elements",
"type": "main",
"index": 0
}
]
]
},
"Agent 2: Copywriter": {
"main": [
[
{
"node": "Agent 3: SEO & Technical",
"type": "main",
"index": 0
}
]
]
},
"Design Critic Model": {
"ai_languageModel": [
[
{
"node": "Agent 1: Design Critic",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Format Email Report": {
"main": [
[
{
"node": "Send Email Report",
"type": "main",
"index": 0
}
]
]
},
"Initialize Variables": {
"main": [
[
{
"node": "Fetch Page HTML",
"type": "main",
"index": 0
}
]
]
},
"SEO Specialist Model": {
"ai_languageModel": [
[
{
"node": "Agent 3: SEO & Technical",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Extract Page Elements": {
"main": [
[
{
"node": "Agent 1: Design Critic",
"type": "main",
"index": 0
}
]
]
},
"Agent 1: Design Critic": {
"main": [
[
{
"node": "Agent 2: Copywriter",
"type": "main",
"index": 0
}
]
]
},
"Growth Strategist Model": {
"ai_languageModel": [
[
{
"node": "Agent 4: Growth Strategist",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Agent 3: SEO & Technical": {
"main": [
[
{
"node": "Agent 4: Growth Strategist",
"type": "main",
"index": 0
}
]
]
},
"Agent 4: Growth Strategist": {
"main": [
[
{
"node": "Format Email Report",
"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.
anthropicApiapifyApigmailOAuth2httpHeaderAuth
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Transform your landing page audits into a powerful lead generation machine with this professional n8n workflow powered by 4 specialized AI agents.
Source: https://n8n.io/workflows/9545/ — 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.
Transform your manual hiring process into an intelligent evaluation system that saves 15-20 minutes per candidate! This workflow automates the entire candidate assessment pipeline - from CSV/XLSX uplo
A complete n8n automation that discovers TikTok influencers using Bright Data, evaluates their fit using Claude AI, and sends personalized outreach emails. Designed for marketing teams and brands that
Dual-AI translator that turns legal jargon into plain English with 0-100 risk scoring
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.
This workflow is designed for marketers, founders, agencies, and product teams who want to understand how real customers talk about a product category, market, or problem space.