AutomationFlowsAI & RAG › Generate AI Market Research Reports with Perplexity, Claude, Google Trends,…

Generate AI Market Research Reports with Perplexity, Claude, Google Trends,…

Original n8n title: Generate AI Market Research Reports with Perplexity, Claude, Google Trends, and Autype

By8Automator @kesim0 on n8n.io

Important: This workflow uses the Autype and SerpAPI Official community nodes and requires a self-hosted n8n instance.

Event trigger★★★★☆ complexityAI-powered20 nodesForm TriggerN8N Nodes SerpapiHTTP RequestAgentOpenRouter ChatN8N Nodes AutypeGoogle Drive
AI & RAG Trigger: Event Nodes: 20 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #13908 — 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 →

Download .json
{
  "id": "",
  "name": "Generate AI market research reports with Perplexity, Google Trends, and Autype",
  "tags": [],
  "nodes": [
    {
      "id": "295e94c4-6aee-45f6-951b-a9474f67c421",
      "name": "Market Research Form",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        640,
        608
      ],
      "parameters": {
        "options": {
          "respondWithOptions": {
            "values": {
              "formSubmittedText": "Your market research report is being generated. This may take a minute..."
            }
          }
        },
        "formTitle": "Market Research Report Generator",
        "formFields": {
          "values": [
            {
              "fieldName": "productName",
              "fieldLabel": "Product Name",
              "placeholder": "e.g. Autype",
              "requiredField": true
            },
            {
              "fieldName": "industry",
              "fieldLabel": "Industry / Market",
              "placeholder": "e.g. AI-powered document automation",
              "requiredField": true
            },
            {
              "fieldName": "productDescription",
              "fieldType": "textarea",
              "fieldLabel": "Product Description",
              "placeholder": "Describe what your product does, who it serves, and its key features...",
              "requiredField": true
            },
            {
              "fieldName": "language",
              "fieldType": "dropdown",
              "fieldLabel": "Report Language",
              "fieldOptions": {
                "values": [
                  {
                    "option": "English"
                  },
                  {
                    "option": "German"
                  },
                  {
                    "option": "French"
                  },
                  {
                    "option": "Spanish"
                  }
                ]
              },
              "requiredField": true
            }
          ]
        },
        "responseMode": "lastNode",
        "formDescription": "Enter your product details below. The workflow will automatically research your market, identify competitors, analyze trends, and generate a professional PDF report."
      },
      "typeVersion": 2.5
    },
    {
      "id": "6acec199-2bda-4720-8ac9-06c82f007770",
      "name": "Google Trends",
      "type": "n8n-nodes-serpapi.serpApi",
      "position": [
        1008,
        368
      ],
      "parameters": {
        "operation": "google_trends",
        "requestOptions": {},
        "additionalFields": {
          "date": "today 12-m"
        }
      },
      "credentials": {
        "serpApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ea829df0-0a86-4590-bd14-ada02a7088ce",
      "name": "Search Competitors",
      "type": "n8n-nodes-serpapi.serpApi",
      "position": [
        1008,
        608
      ],
      "parameters": {
        "requestOptions": {},
        "additionalFields": {
          "num": "10"
        }
      },
      "credentials": {
        "serpApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "db43f2ae-f426-495a-8462-ca3b8d0504ea",
      "name": "Download Markdown Syntax",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1008,
        848
      ],
      "parameters": {
        "url": "https://autype.com/llm-resources/markdown-syntax.md",
        "options": {
          "response": {
            "response": {
              "responseFormat": "text"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a48690e4-d1fc-446a-b13a-3b81671bca45",
      "name": "Merge Trends + Competitors",
      "type": "n8n-nodes-base.merge",
      "position": [
        1280,
        496
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.1
    },
    {
      "id": "31f1c008-1c58-4e84-af7e-86dde9075231",
      "name": "Merge With Syntax",
      "type": "n8n-nodes-base.merge",
      "position": [
        1504,
        608
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.1
    },
    {
      "id": "c445484e-8fda-41cf-9be2-3f0b1badba95",
      "name": "Prepare Research Context",
      "type": "n8n-nodes-base.code",
      "position": [
        1728,
        608
      ],
      "parameters": {
        "jsCode": "const items = $input.all();\nconst form = $('Market Research Form').first().json;\n\n// Extract Google Trends data\nlet trendsSummary = 'No Google Trends data available.';\nfor (const item of items) {\n  const d = item.json;\n  if (d.interest_over_time?.timeline_data) {\n    const timeline = d.interest_over_time.timeline_data;\n    const latest = timeline.slice(-6);\n    trendsSummary = 'Google Trends interest (last 6 months):\\n';\n    for (const point of latest) {\n      const value = point.values?.[0]?.extracted_value || 0;\n      trendsSummary += `- ${point.date}: ${value}/100\\n`;\n    }\n    break;\n  }\n}\n\n// Extract competitor search results\nlet competitorSearchResults = '';\nfor (const item of items) {\n  const d = item.json;\n  if (d.organic_results) {\n    competitorSearchResults = d.organic_results\n      .slice(0, 10)\n      .map((r, i) => `${i + 1}. ${r.title}\\n   ${r.snippet || ''}\\n   ${r.link}`)\n      .join('\\n');\n    break;\n  }\n}\n\n// Extract markdown syntax\nlet markdownSyntax = '';\nfor (const item of items) {\n  const d = item.json;\n  if (d.data && typeof d.data === 'string' && d.data.includes('Markdown')) {\n    markdownSyntax = d.data;\n    break;\n  }\n}\n\nreturn [{\n  json: {\n    productName: form.productName,\n    industry: form.industry,\n    productDescription: form.productDescription,\n    language: form.language || 'English',\n    trendsSummary,\n    competitorSearchResults,\n    markdownSyntax\n  }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "f6f12a16-769f-4958-b6fe-723fc012dd3e",
      "name": "AI Research Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2000,
        608
      ],
      "parameters": {
        "text": "=Conduct deep market research for the following product:\n\n**Product:** {{ $json.productName }}\n**Industry:** {{ $json.industry }}\n**Description:** {{ $json.productDescription }}\n\nHere are Google Search results about competitors in this market:\n{{ $json.competitorSearchResults }}\n\nHere is Google Trends data for this industry:\n{{ $json.trendsSummary }}\n\nBased on this data and your real-time web knowledge, provide:\n1. A comprehensive market overview (market size, growth rate, key drivers, challenges)\n2. Identify the top 5-8 competitors and for each: name, website, key features, pricing model, target audience, strengths, weaknesses\n3. Current market trends and predictions for the next 2 years\n4. Where the user's product ({{ $json.productName }}) fits in this landscape\n\nBe specific and factual. Include numbers, percentages, and dates where possible.\nWrite in: {{ $json.language }}",
        "options": {
          "maxIterations": 3,
          "systemMessage": "You are a senior market research analyst with access to real-time web data. Your job is to conduct thorough competitive and market analysis. Be factual, specific, and data-driven. Always identify real companies and real data points. Structure your response clearly with sections for market overview, competitor profiles, trends, and positioning."
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "e0abbf23-0a30-44fc-9cd2-aa3ec7947c38",
      "name": "OpenRouter Perplexity",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        1920,
        816
      ],
      "parameters": {
        "model": "perplexity/sonar-pro",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "45ea95bc-1d9e-4740-ab1e-0b32a6c7362a",
      "name": "Prepare Report Input",
      "type": "n8n-nodes-base.code",
      "position": [
        2288,
        608
      ],
      "parameters": {
        "jsCode": "const researchOutput = $json.output;\nconst form = $('Market Research Form').first().json;\nconst context = $('Prepare Research Context').first().json;\n\nreturn [{\n  json: {\n    researchData: researchOutput,\n    productName: form.productName,\n    industry: form.industry,\n    productDescription: form.productDescription,\n    language: context.language,\n    trendsSummary: context.trendsSummary,\n    markdownSyntax: context.markdownSyntax\n  }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "9d1585da-755b-4718-b4aa-53aed5d274e4",
      "name": "AI Report Writer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2560,
        608
      ],
      "parameters": {
        "text": "=Write a professional market research report for **{{ $json.productName }}** in the **{{ $json.industry }}** market.\n\nProduct description: {{ $json.productDescription }}\n\nUse the following research data to write the report:\n\n--- RESEARCH DATA (from Perplexity AI) ---\n{{ $json.researchData }}\n\n--- GOOGLE TRENDS DATA ---\n{{ $json.trendsSummary }}\n\nWrite the report in: {{ $json.language }}\n\n--- USE THIS TEMPLATE AS TITLE PAGE AND TOC ---\n\n```\n---page{align=center}---\n\n![](https://img.icons8.com/?size=100&id=4910&format=png&color=000000){align=center}\n\n<h1 align=\"center\">REPORT NAME</h1>\n\n<h1 align=\"center\">PRODUCT \u2013 PRODUCT DESCRIPTION (2/3Words)</h1>\n\n---spacer{height=4}---\n\n| **Created:** {{date}} \n| **Segment:** SEGMENT \n| **Language:** LANG\n\n---/page---\n\n::toc{title=\"Inhaltsverzeichnis\" maxLevel=3}\n\n---\n\n...\n```",
        "options": {
          "maxIterations": 3,
          "systemMessage": "=You are a senior market research analyst writing professional reports.\n\nYou MUST write the report using Autype Extended Markdown syntax. Here is the full syntax reference:\n\n{{ $json.markdownSyntax }}\n\n---\n\nIMPORTANT RENDERING CONSTRAINTS:\n- NEVER use &nbsp; -- they cannot be processed by the renderer.\n- Page breaks before h1 and h2 headings are inserted AUTOMATICALLY by the rendering engine via the defaults. Do NOT insert manual page breaks (---) before headings.\n- For blockquotes (> syntax), you may ONLY set `color` and `borderColor` as inline attributes. Example: `> {color=#1e40af borderColor=#3b82f6} Key takeaway text here`. Do not set background, padding, indent, or other blockquote attributes.\n- Use standard Markdown horizontal rules (---) ONLY for visual separation where no heading follows, since headings already force page breaks.\n\nReport structure (use these exact sections with ## headings):\n1. Executive Summary\n2. Market Overview (size, growth rate, key drivers)\n3. Trend Analysis (include Google Trends data interpretation)\n4. Competitive Landscape (table comparing competitors)\n5. SWOT Analysis (use a table for the user's product)\n6. Key Findings & Recommendations\n7. Sources\n\nFormatting rules:\n- Use ## for main sections, ### for subsections\n- Use tables (with :::table wrapper for styling) for competitor comparisons and SWOT analysis\n- Use **bold** for key metrics and findings\n- Use > blockquotes for key takeaways (only with color and borderColor attributes)\n- Use numbered lists for recommendations\n- Keep the report between 1500 and 3000 words\n- Be factual and specific -- include numbers, percentages, and dates\n- Do NOT wrap the output in markdown code fences\n- Output ONLY the markdown content, nothing else"
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "32885260-1adb-409a-abe6-73fc0ea1322d",
      "name": "Prepare Render Payload",
      "type": "n8n-nodes-base.code",
      "position": [
        2880,
        608
      ],
      "parameters": {
        "jsCode": "const markdown = $json.output;\nconst form = $('Market Research Form').first().json;\nconst today = new Date().toISOString().split('T')[0];\n\n// Clean up: strip code fences if the LLM wrapped the output\nlet content = markdown;\nif (content.startsWith('```')) {\n  content = content.replace(/^```(?:markdown)?\\n?/, '').replace(/\\n?```$/, '');\n}\n\nconst slug = form.productName.toLowerCase().replace(/[^a-z0-9]+/g, '-');\n\nreturn [{\n  json: {\n    content,\n    title: `Market Research Report: ${form.productName} - ${form.industry}`,\n    filename: `market-research-${slug}-${today}.pdf`\n  }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "a334b2fd-d3a8-4350-af86-af686700f6bf",
      "name": "Render Report PDF",
      "type": "n8n-nodes-autype.autype",
      "position": [
        3168,
        608
      ],
      "parameters": {
        "content": "={{ $json.content }}",
        "operation": "renderMarkdown",
        "downloadOutput": true,
        "markdownAdditionalFields": {
          "size": "A4",
          "title": "={{ $json.title }}",
          "defaults": "{\n  \"fontFamily\": \"Open Sans\",\n  \"fontSize\": 11,\n  \"color\": \"#1a1a1a\",\n  \"lineHeight\": 1.6,\n  \"spacing\": {\n    \"before\": { \"h1\": 24, \"h2\": 20, \"h3\": 16, \"h4\": 14, \"h5\": 12, \"h6\": 10, \"text\": 0, \"table\": 12, \"list\": 10, \"image\": 12, \"code\": 12, \"chart\": 12, \"math\": 10, \"blockquote\": 20 },\n    \"after\": { \"h1\": 16, \"h2\": 14, \"h3\": 12, \"h4\": 10, \"h5\": 8, \"h6\": 6, \"text\": 10, \"table\": 16, \"list\": 10, \"image\": 16, \"code\": 16, \"chart\": 16, \"math\": 15, \"blockquote\": 20 }\n  },\n  \"chart\": {\n    \"colors\": [\"#3b82f6\", \"#ef4444\", \"#10b981\", \"#f59e0b\", \"#8b5cf6\"],\n    \"borderColors\": [\"#2563eb\", \"#dc2626\", \"#059669\", \"#d97706\", \"#7c3aed\"]\n  },\n  \"styles\": {\n    \"h1\": { \"color\": \"#000000\", \"fontSize\": 28, \"fontWeight\": \"bold\", \"pageBreakBefore\": true },\n    \"h2\": { \"color\": \"#333333\", \"fontSize\": 22, \"fontWeight\": \"bold\", \"pageBreakBefore\": true },\n    \"h3\": { \"color\": \"#444444\", \"fontSize\": 18, \"fontWeight\": \"bold\" },\n    \"h4\": { \"fontSize\": 16, \"fontWeight\": \"bold\" },\n    \"h5\": { \"fontSize\": 14, \"fontWeight\": \"normal\" },\n    \"h6\": { \"fontSize\": 12, \"fontWeight\": \"normal\" },\n    \"text\": { \"fontSize\": 11 },\n    \"blockquote\": { \"indentLeft\": 0, \"indentRight\": 0 }\n  },\n  \"header\": {\n    \"left\": { \"type\": \"text\", \"content\": [{ \"text\": \"SearchIT Inc.\", \"color\": \"#6700FF\", \"fontSize\": 10, \"fontWeight\": \"bold\" }] },\n    \"right\": { \"src\": \"https://img.icons8.com/?size=100&id=HLcedHsnUGdr&format=png&color=6700FF\", \"type\": \"image\", \"width\": 50 },\n    \"center\": \"\",\n    \"excludeFirstPage\": true\n  },\n  \"footer\": {\n    \"left\": \"\",\n    \"right\": \"\",\n    \"center\": \"Page {{pageNumber}}\",\n    \"excludeFirstPage\": true\n  }\n}"
        }
      },
      "credentials": {
        "autypeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "733e6d15-ac9b-4211-abe7-2a0d36e8de54",
      "name": "Save Report to Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        3408,
        608
      ],
      "parameters": {
        "name": "={{ $('Prepare Render Payload').item.json.filename }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_FOLDER_ID"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "e719827e-bbe2-4279-af31-ad17fb4d105a",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -16,
        32
      ],
      "parameters": {
        "width": 576,
        "height": 960,
        "content": "## Generate AI Market Research Reports with Perplexity, Google Trends, and Autype\n\n### Submit a simple form with your product name, industry, and description. The workflow automatically researches your market, discovers competitors, analyzes trends, and generates a professionally styled PDF report.\n\n**Fully automated -- no manual competitor input required.**\n\n**Data pipeline:**\n1. You fill out a form (product name, industry, description)\n2. SerpAPI fetches Google Trends data and Google Search results for competitors\n3. Perplexity AI (via OpenRouter) conducts deep market and competitor research\n4. Anthropic Claude (via OpenRouter) writes a structured report in Autype Extended Markdown\n5. Autype renders a styled PDF and saves it to Google Drive\n\n**Report sections:**\n1. Executive Summary\n2. Market Overview\n3. Trend Analysis (with Google Trends data)\n4. Competitive Landscape (table)\n5. SWOT Analysis (table)\n6. Key Findings & Recommendations\n7. Sources\n\n**Use Case:** Product managers, startup founders, strategists, and consultants who need quick, automated market research reports for investor decks, board meetings, or strategic planning.\n\n### Requirements\n* **SerpAPI account** -- Free tier: 100 searches/month ([serpapi.com](https://serpapi.com)). Install community node: `n8n-nodes-serpapi`.\n* **OpenRouter account** -- For Perplexity Sonar model ([openrouter.ai](https://openrouter.ai))\n* **Autype account** -- [app.autype.com](https://app.autype.com) > Settings > API Keys\n* **Google Drive** -- OAuth2 credential (optional)\n* **n8n-nodes-autype** -- Install via Settings > Community Nodes\n\n> Community nodes required: `n8n-nodes-autype`, `n8n-nodes-serpapi`. Only available on self-hosted n8n."
      },
      "typeVersion": 1
    },
    {
      "id": "4297648b-afe8-45b8-b665-20245e1634a0",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        128
      ],
      "parameters": {
        "color": 7,
        "width": 672,
        "height": 912,
        "content": "### 1. Form Input & Data Gathering\nThe **Market Research Form** collects product name, industry, description, and report language. Three parallel requests then run:\n- **Google Trends** (SerpAPI Official node) -- 12-month search interest for the industry\n- **Search Competitors** (SerpAPI Google Search) -- discovers competitors automatically from web results\n- **Download Markdown Syntax** -- fetches Autype's extended markdown reference for the report writer\n\nAll results are merged and prepared as a single context object."
      },
      "typeVersion": 1
    },
    {
      "id": "a5c30f7b-e06c-4dca-af42-8787a2c85fb4",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1888,
        336
      ],
      "parameters": {
        "color": 7,
        "width": 560,
        "height": 432,
        "content": "### 2. AI Research (Perplexity via OpenRouter)\nThe **AI Research Agent** uses Perplexity Sonar Pro (via OpenRouter) to conduct deep market research with real-time web access. It receives the Google Search results and Trends data as context, then provides:\n- Comprehensive market overview with data points\n- Detailed competitor profiles (features, pricing, positioning)\n- Market trends and predictions\n- Product positioning analysis\n\nPerplexity's web search capability ensures the data is current and cited."
      },
      "typeVersion": 1
    },
    {
      "id": "eeebff9e-612c-4d75-aec7-f43b393b6de3",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2480,
        336
      ],
      "parameters": {
        "color": 7,
        "width": 560,
        "height": 432,
        "content": "### 3. AI Report Writer (Anthropic Claude)\nThe **AI Report Writer** uses Anthropic Claude (via OpenRouter) to take all research data and write a structured market research report using Autype Extended Markdown. The system prompt includes the full syntax reference and enforces:\n- No &nbsp; entities (unsupported)\n- Blockquotes: only color + borderColor attributes\n- Page breaks before h1/h2 are automatic (no manual ---  needed)\n\nThe report is then cleaned, rendered to a styled PDF via Autype (Open Sans font, professional heading hierarchy, comfortable spacing, header/footer), and saved to Google Drive."
      },
      "typeVersion": 1
    },
    {
      "id": "ee52c460-5609-4f11-b5f4-ed37b8fb822e",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3088,
        320
      ],
      "parameters": {
        "color": 7,
        "width": 608,
        "height": 444,
        "content": "### 4. Render PDF & Save\nThe **Prepare Render Payload** strips code fences and sets the title/filename. **Render Report PDF** uses Autype Render from Markdown with professional defaults:\n- Font: Open Sans, 11pt\n- Headings: h1 28pt, h2 22pt, h3 18pt with automatic page breaks\n- Chart colors: blue, red, green, amber, purple palette\n- Header: company name + logo (excluded on first page)\n- Footer: centered page number (excluded on first page)\n- Generous spacing for readability\n\nReplace the Google Drive node with Email, S3, Slack, or any other output."
      },
      "typeVersion": 1
    },
    {
      "id": "d0f66025-af03-4bc7-8e25-41a27e26c1dc",
      "name": "OpenRouter Anthropic Claude",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        2432,
        816
      ],
      "parameters": {
        "model": "anthropic/claude-sonnet-4.6",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "",
  "connections": {
    "Google Trends": {
      "main": [
        [
          {
            "node": "Merge Trends + Competitors",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Report Writer": {
      "main": [
        [
          {
            "node": "Prepare Render Payload",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Research Agent": {
      "main": [
        [
          {
            "node": "Prepare Report Input",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge With Syntax": {
      "main": [
        [
          {
            "node": "Prepare Research Context",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Render Report PDF": {
      "main": [
        [
          {
            "node": "Save Report to Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Competitors": {
      "main": [
        [
          {
            "node": "Merge Trends + Competitors",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Market Research Form": {
      "main": [
        [
          {
            "node": "Google Trends",
            "type": "main",
            "index": 0
          },
          {
            "node": "Search Competitors",
            "type": "main",
            "index": 0
          },
          {
            "node": "Download Markdown Syntax",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Report Input": {
      "main": [
        [
          {
            "node": "AI Report Writer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Perplexity": {
      "ai_languageModel": [
        [
          {
            "node": "AI Research Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Render Payload": {
      "main": [
        [
          {
            "node": "Render Report PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Markdown Syntax": {
      "main": [
        [
          {
            "node": "Merge With Syntax",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Prepare Research Context": {
      "main": [
        [
          {
            "node": "AI Research Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Trends + Competitors": {
      "main": [
        [
          {
            "node": "Merge With Syntax",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Anthropic Claude": {
      "ai_languageModel": [
        [
          {
            "node": "AI Report Writer",
            "type": "ai_languageModel",
            "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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Important: This workflow uses the Autype and SerpAPI Official community nodes and requires a self-hosted n8n instance.

Source: https://n8n.io/workflows/13908/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Product Videos. Uses formTrigger, stickyNote, googleDrive, lmChatOpenRouter. Event-driven trigger; 24 nodes.

Form Trigger, Google Drive, OpenRouter Chat +3
AI & RAG

🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.

OpenAI, HTTP Request, Form Trigger +7
AI & RAG

The AI-Powered Shopify SEO Content Automation is an enterprise-grade workflow that transforms product content creation for e-commerce stores. This sophisticated multi-agent system integrates GPT-4o, C

Perplexity Tool, Memory Buffer Window, Agent +15
AI & RAG

Deep Research new (fr). Uses outputParserStructured, formTrigger, chainLlm, form. Event-driven trigger; 82 nodes.

Output Parser Structured, Form Trigger, Chain Llm +8
AI & RAG

Who is this for? Agencies, consultants, and service providers who conduct discovery calls and need to quickly turn conversations into professional proposals.

Tool Think, Tool Calculator, Agent Tool +18