{"workflow":{"id":13908,"name":"Generate AI market research reports with Perplexity, Claude, Google Trends, and Autype","views":216,"recentViews":2,"totalViews":216,"createdAt":"2026-03-06T09:21:52.660Z","description":"![screenshotworkflow.png](fileId:4776)\n\nImportant: This workflow uses the [Autype](https://www.npmjs.com/package/n8n-nodes-autype) and [SerpAPI Official](https://www.npmjs.com/package/n8n-nodes-serpapi) community nodes and requires a self-hosted n8n instance.\n\nSubmit a simple form with your product name, industry, and description. The workflow automatically researches your market via Google Trends and Google Search (SerpAPI), conducts deep analysis with Perplexity AI (via OpenRouter), writes a structured report with Anthropic Claude (via OpenRouter), and renders a professionally styled PDF using Autype Extended Markdown. No manual competitor input required -- everything is discovered automatically.\n\n## Who is this for?\n\nProduct managers, startup founders, strategists, and consultants who need quick market research reports for investor decks, board meetings, competitive positioning, or strategic planning. Instead of spending hours compiling data from multiple sources, this workflow automates the entire research-to-PDF pipeline from a single form submission.\n\n**Concrete example:** A SaaS startup preparing for a Series A fundraise needs a market research report on the document automation space. They fill in their product name and industry, describe their product, and submit the form. In under two minutes they get a polished PDF with current market trends, auto-discovered competitor comparisons, SWOT analysis, and strategic recommendations -- ready to attach to their pitch deck.\n\n## What this workflow does\n\nWhen a user submits the form, the workflow sends parallel requests to Google Trends (12-month interest data) and Google Search (competitor discovery) via SerpAPI, and downloads Autype's extended markdown syntax reference. All data is merged and passed to an AI Research Agent powered by Perplexity Sonar Pro (via OpenRouter) for deep market and competitor analysis with real-time web citations. The research output is then handed to an AI Report Writer (Anthropic Claude via OpenRouter) that writes a structured market research report in Autype Extended Markdown. The markdown is rendered to a styled PDF via Autype's Render from Markdown operation, and the final report is saved to Google Drive.\n\n## How it works\n\n1. **Market Research Form** -- An n8n Form Trigger collects product name, industry, product description, and report language.\n2. **Google Trends** -- SerpAPI Official node fetches 12 months of search interest data for the industry.\n3. **Search Competitors** -- SerpAPI Google Search automatically discovers competitors and market leaders.\n4. **Download Markdown Syntax** -- Fetches Autype's extended markdown syntax reference so the report writer knows all formatting options.\n5. **Prepare Research Context** -- A Code node merges trends data, competitor search results, and syntax reference into a single context.\n6. **AI Research Agent** -- An AI Agent with OpenRouter (Perplexity Sonar Pro) conducts deep market research: market overview, competitor profiles, trends, and product positioning.\n7. **Prepare Report Input** -- A Code node combines the research output with the markdown syntax reference and form data.\n8. **AI Report Writer** -- An AI Agent (Anthropic Claude via OpenRouter) writes the final report in Autype Extended Markdown. The prompt includes a title page template.\n9. **Prepare Render Payload** -- A Code node cleans the AI output and sets title/filename.\n10. **Render Report PDF** -- Autype renders the extended markdown to a professionally styled PDF with Open Sans font, heading hierarchy (28/22/18pt), automatic page breaks before h1/h2, chart color palette, header with company name and logo, footer with page numbers, and generous spacing.\n11. **Save Report to Drive** -- The PDF is uploaded to Google Drive.\n\n## Setup\n\n1. Install community nodes via **Settings &gt; Community Nodes**: `n8n-nodes-autype` and `n8n-nodes-serpapi`.\n2. Create an **Autype API credential** with your API key from [app.autype.com](https://app.autype.com). See [API Keys in Settings](https://docs.autype.com/getting-started/editor/settings#api-keys).\n3. Create a **SerpAPI credential** with your API key from [serpapi.com](https://serpapi.com) (free tier: 250 searches/month).\n4. Create **two OpenRouter API credentials** with your key(s) from [openrouter.ai](https://openrouter.ai). One is used for Perplexity Sonar Pro (research), the other for Anthropic Claude (report writing). You can use the same API key for both.\n5. Create a **Google Drive OAuth2 credential** and connect your Google account.\n6. Import this workflow and assign your credentials to each node.\n7. Set `YOUR_FOLDER_ID` in the \"Save Report to Drive\" node to your target Google Drive folder.\n8. Activate the workflow and open the form URL to generate a report.\n\n**Note:** You need a self-hosted n8n instance to use the Community Nodes.\n\n## Requirements\n\n- Self-hosted n8n instance (community nodes are not available on n8n Cloud)\n- Autype account with API key (free tier available)\n- `n8n-nodes-autype` community node installed\n- `n8n-nodes-serpapi` community node installed (verified)\n- OpenRouter API key (for Perplexity Sonar Pro and Anthropic Claude models)\n- SerpAPI account (free tier: 100 searches/month)\n- Google Drive account with OAuth2 credentials (optional, can replace with other output)\n\n## How to customize\n\n- **Add more data sources:** Insert additional HTTP Request or SerpAPI nodes before the merge to pull from Google News, Google Scholar, or other engines.\n- **Use a different research model:** Swap the OpenRouter Perplexity model for any other OpenRouter model (e.g. Gemini) or replace the sub-node entirely.\n- **Use a different report writer:** Swap the Anthropic Claude model for OpenAI, Google Gemini, or any other OpenRouter-compatible model.\n- **Customize header/footer:** Edit the `defaults` JSON in the Render Report PDF node to change the company name, logo URL, or footer text.\n- **Customize title page:** Edit the title page template in the AI Report Writer's user prompt to change the logo, layout, or metadata fields.\n- **Change report structure:** Edit the system prompt in the AI Report Writer node to add or remove sections, change the tone, or adjust the word count.\n- **Customize PDF styling:** Edit the `defaults` JSON in the Render Report PDF node to change fonts, colors, spacing, and heading styles. See the [Autype defaults schema](https://docs.autype.com/api-reference/json-syntax/defaults) for all options.\n- **Generate DOCX instead of PDF:** Change the output format in the Render Report PDF node from PDF to DOCX.\n- **Schedule automatic reports:** Add a Schedule Trigger alongside the Form Trigger for recurring market monitoring.\n- **Change output destination:** Replace the Google Drive node with Email (SMTP), S3, Slack, or any other n8n output node.\n- **Add more languages:** Edit the dropdown options in the Market Research Form node.\n","workflow":{"id":"","meta":{},"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],"webhookId":"","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":{"id":"YOUR_SERPAPI_CREDENTIAL_ID","name":"SerpApi account"}},"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":{"id":"YOUR_SERPAPI_CREDENTIAL_ID","name":"SerpApi account"}},"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":{"id":"YOUR_OPENROUTER_CREDENTIAL_ID","name":"OpenRouter account"}},"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 – 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":{"id":"YOUR_AUTYPE_CREDENTIAL_ID","name":"Autype account"}},"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":{"id":"YOUR_GOOGLE_CREDENTIAL_ID","name":"Google Drive account"}},"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":{"id":"YOUR_OPENROUTER_CREDENTIAL_ID","name":"OpenRouter account"}},"typeVersion":1}],"active":false,"pinData":{},"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}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":20,"nodeTypes":{"n8n-nodes-base.code":{"count":3},"n8n-nodes-base.merge":{"count":2},"n8n-nodes-autype.autype":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-serpapi.serpApi":{"count":2},"n8n-nodes-base.formTrigger":{"count":1},"n8n-nodes-base.googleDrive":{"count":1},"n8n-nodes-base.httpRequest":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":2},"@n8n/n8n-nodes-langchain.lmChatOpenRouter":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"8Automator","username":"kesim0","bio":"Software Developer with 6+ years of experience based in Bavaria, Germany. I specialize in building business automation solutions, integrations, and tools with n8n to streamline workflows and improve efficiency.","verified":true,"links":[""],"avatar":"https://gravatar.com/avatar/752654f7c39695b04e1c549d8ec67c3cd526e8a97843ec25601baab4a707541e?r=pg&d=retro&size=200"},"nodes":[{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":58,"icon":"file:googleDrive.svg","name":"n8n-nodes-base.googleDrive","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Google Drive"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgODEgNzMiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwNjZkYSIgZD0ibTYuMDQ4IDYxLjI2IDMuNTI4IDYuMDk0Yy43MzMgMS4yODMgMS43ODcgMi4yOTEgMy4wMjQgMy4wMjRsMTIuNi0yMS44MUgwYTguMyA4LjMgMCAwIDAgMS4xIDQuMTI0eiIvPjxwYXRoIGZpbGw9IiMwMGFjNDciIGQ9Ik00MCAyMi45MSAyNy40IDEuMWMtMS4yMzcuNzMzLTIuMjkxIDEuNzQxLTMuMDI0IDMuMDI0TDEuMSA0NC40NDVBOC4zIDguMyAwIDAgMCAwIDQ4LjU2OGgyNS4yeiIvPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik02Ny40IDcwLjM3OGMxLjIzNy0uNzMzIDIuMjkxLTEuNzQxIDMuMDI0LTMuMDI0bDEuNDY2LTIuNTIgNy4wMS0xMi4xNDJhOC4zIDguMyAwIDAgMCAxLjEtNC4xMjRINTQuNzk4bDUuMzYzIDEwLjUzOHoiLz48cGF0aCBmaWxsPSIjMDA4MzJkIiBkPSJNNDAgMjIuOTEgNTIuNiAxLjFDNTEuMzYzLjM2NyA0OS45NDMgMCA0OC40NzcgMEgzMS41MjRjLTEuNDY2IDAtMi44ODcuNDEyLTQuMTI0IDEuMXoiLz48cGF0aCBmaWxsPSIjMjY4NGZjIiBkPSJNNTQuNzk5IDQ4LjU2OEgyNS4ybC0xMi42IDIxLjgxYzEuMjM3LjczMyAyLjY1NyAxLjEgNC4xMjQgMS4xaDQ2LjU1MmMxLjQ2NiAwIDIuODg3LS40MTIgNC4xMjQtMS4xeiIvPjxwYXRoIGZpbGw9IiNmZmJhMDAiIGQ9Ik02Ny4yNjIgMjQuMjg0IDU1LjYyNCA0LjEyNEM1NC44OTEgMi44NDEgNTMuODM3IDEuODMzIDUyLjYgMS4xTDQwIDIyLjkxbDE0LjggMjUuNjU5aDI1LjE1NWE4LjMgOC4zIDAgMCAwLTEuMS00LjEyNHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Google Drive","typeVersion":3,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1225,"icon":"file:form.svg","name":"n8n-nodes-base.formTrigger","codex":{"data":{"alias":["table","submit","post"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Other Trigger Nodes"]}}},"group":"[\"trigger\"]","defaults":{"name":"On form submission"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwQjdCQyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzQuOTc4IDM3LjczMmExLjU2IDEuNTYgMCAwIDEtMS41NjIgMS41NjNINi4yNmExLjU2IDEuNTYgMCAwIDEtMS41NjMtMS41NjNWOS42MDdjMC0uNDA1LjE1Ny0uNzk0LjQzOC0xLjA4Nmw2LjMwNC02LjUzMXY1LjM0NEg4LjIxM2ExLjE3MiAxLjE3MiAwIDEgMCAwIDIuMzQzaDQuNDNhMS4xNyAxLjE3IDAgMCAwIDEuMTcxLTEuMTcxVi4yMzJoMTkuNjAyYTEuNTYgMS41NiAwIDAgMSAxLjU2MiAxLjU2M3YxMC4zMjdsLTIuODYgMi44Ni04LjI1MiA4LjI3NmE0MTMuMDA2IDQxMy4wMDYgMCAwIDEtMS42NTQgMS42NjJsLS4zMzcuMzM3YTIgMiAwIDAgMC0uNTU3IDEuMDhMMjAuMyAzMS45MjJjLS4xMDguNjM4LS4yMTUgMS4wNzkuMjExIDEuNDE4LjQwMy4zMi45LjE3NCAxLjU0LjA2Nmw1LjQwOC0uOTI4YTIgMiAwIDAgMCAxLjA4LS41NTZsNi40NC02LjQyOXptLTI0LjAzLTIxLjI2NWExLjE4IDEuMTggMCAwIDAgMS4xNzEgMS4xNzJoMTMuMTYzYTEuMTcyIDEuMTcyIDAgMSAwIDAtMi4zNDRIMTIuMTE5YTEuMTcgMS4xNyAwIDAgMC0xLjE3MiAxLjE3Mm03LjI5NCAxNC43NjZhMS4xNyAxLjE3IDAgMCAwLTEuMTcyLTEuMTcySDEyLjEyYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNC45NTFhMS4xNyAxLjE3IDAgMCAwIDEuMTcyLTEuMTcybS44Ni03LjM5MWExLjE3IDEuMTcgMCAwIDAtMS4xNzItMS4xNzJoLTUuODExYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNS44MWExLjE2NCAxLjE2NCAwIDAgMCAxLjE3My0xLjE3MSIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iIzAwQjdCQyIgZD0ibTMzLjUzMiAxNi4zOTcgNC4yODktNC4yODkgMy43NTggMy43MSAxLjYxNy0xLjYxNiAyLjI1OCAyLjI1N2MuMjE4LjIxOC4zNC41MTMuMzQzLjgyLS4wMDIuMzExLS4xMjUuNjA4LS4zNDQuODNsLTYuODA0IDYuNzk2YTEuMTMgMS4xMyAwIDAgMS0uODI4LjM0MyAxLjE1IDEuMTUgMCAwIDEtLjgyOC0uMzQzIDEuMTggMS4xOCAwIDAgMSAwLTEuNjU3bDUuOTc2LTUuOTY4LTEuMzEyLTEuMzEzLTEuMzgzIDEuNDE0LTEzLjE0OSAxMy4xMjUtNC42MTcuNzgyLjc4Mi00LjYxNy4zMzYtLjMzNyAyLjU2MiAyLjU1NWExLjEgMS4xIDAgMCAwIC44MjguMzQ0Yy4zMTIuMDA1LjYxMi0uMTIuODI4LS4zNDRhMS4xOCAxLjE4IDAgMCAwIDAtMS42NTZsLTIuNTYyLTIuNTYyek00NC43MzYgMTIuMjRjMCAuNDE0LS4xNjMuODEtLjQ1NCAxLjEwMmwtLjkyMi45MTQtMy44NTItMy44MjguOTMtLjkzYTEuNTYzIDEuNTYzIDAgMCAxIDIuMjAzIDBsMS42NCAxLjY0MWMuMjkxLjI5My40NTUuNjkuNDU1IDEuMTAyIi8+PC9zdmc+"},"displayName":"n8n Form Trigger","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1281,"icon":"file:openrouter.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenrouter/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenRouter Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjOTRBM0I4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMCAwIDI0IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjx0aXRsZT5PcGVuUm91dGVyPC90aXRsZT48cGF0aCBkPSJNMTYuODA0IDEuOTU3bDcuMjIgNC4xMDV2LjA4N0wxNi43MyAxMC4yMWwuMDE3LTIuMTE3LS44MjEtLjAzYy0xLjA1OS0uMDI4LTEuNjExLjAwMi0yLjI2OC4xMS0xLjA2NC4xNzUtMi4wMzguNTc3LTMuMTQ3IDEuMzUyTDguMzQ1IDExLjAzYy0uMjg0LjE5NS0uNDk1LjMzNi0uNjguNDU1bC0uNTE1LjMyMi0uMzk3LjIzNC4zODUuMjMuNTMuMzM4Yy40NzYuMzE0IDEuMTcuNzk2IDIuNzAxIDEuODY2IDEuMTEuNzc1IDIuMDgzIDEuMTc3IDMuMTQ3IDEuMzUybC4zLjA0NWMuNjk0LjA5MSAxLjM3NS4wOTQgMi44MjUuMDMzbC4wMjItMi4xNTkgNy4yMiA0LjEwNXYuMDg3TDE2LjU4OSAyMmwuMDE0LTEuODYyLS42MzUuMDIyYy0xLjM4Ni4wNDItMi4xMzcuMDAyLTMuMTM4LS4xNjItMS42OTQtLjI4LTMuMjYtLjkyNi00Ljg4MS0yLjA1OWwtMi4xNTgtMS41YTIxLjk5NyAyMS45OTcgMCAwMC0uNzU1LS40OThsLS40NjctLjI4YTU1LjkyNyA1NS45MjcgMCAwMC0uNzYtLjQzQzIuOTA4IDE0LjczLjU2MyAxNC4xMTYgMCAxNC4xMTZWOS44ODhsLjE0LjAwNGMuNTY0LS4wMDcgMi45MS0uNjIyIDMuODA5LTEuMTI0bDEuMDE2LS41OC40MzgtLjI3NGMuNDI4LS4yOCAxLjA3Mi0uNzI2IDIuNjg2LTEuODUzIDEuNjIxLTEuMTMzIDMuMTg2LTEuNzggNC44ODEtMi4wNTkgMS4xNTItLjE5IDEuOTc0LS4yMTMgMy44MTQtLjEzOGwuMDItMS45MDd6Ij48L3BhdGg+PC9zdmc+Cg=="},"displayName":"OpenRouter Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":32,"name":"Market Research"},{"id":49,"name":"AI Summarization"}],"image":[{"id":4776,"url":"https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/screenshot_workflow_f2bb5b72dd.png"}]}}