{
  "workflow": {
    "id": 6437,
    "name": "Automate deep research with ScrapeGraphAI, GPT-4 & Google Sheets",
    "views": 939,
    "recentViews": 0,
    "totalViews": 939,
    "createdAt": "2025-07-25T12:18:39.012Z",
    "description": "# Deep Research Agent with AI Analysis and Multi-Source Data Collection\n\n## 🎯 Target Audience\n- Market researchers and analysts\n- Business intelligence teams\n- Academic researchers and students\n- Content creators and journalists\n- Product managers conducting market research\n- Consultants performing competitive analysis\n- Data scientists gathering research data\n- Marketing teams analyzing industry trends\n\n## 🚀 Problem Statement\nManual research processes are time-consuming, inconsistent, and often miss critical information from multiple sources. This template solves the challenge of automating comprehensive research across web, news, and academic sources while providing AI-powered analysis and actionable insights.\n\n## 🔧 How it Works\n\nThis workflow automatically conducts deep research on any topic using AI-powered web scraping, collects data from multiple source types, and provides comprehensive analysis with actionable insights.\n\n### Key Components\n\n1. **Webhook Trigger** - Receives research requests and initiates the automated research process\n2. **Research Configuration Processor** - Validates and processes research parameters, generates search queries\n3. **Multi-Source AI Scraping** - Uses ScrapeGraphAI to collect data from web, news, and academic sources\n4. **Data Processing Engine** - Combines and structures data from all sources for analysis\n5. **AI Research Analyst** - Uses GPT-4 to provide comprehensive analysis and insights\n6. **Data Storage** - Stores all research findings in Google Sheets for historical tracking\n7. **Response System** - Returns structured research results via webhook response\n\n## 📊 Google Sheets Column Specifications\n\nThe template creates the following columns in your Google Sheets:\n\n| Column | Data Type | Description | Example |\n|--------|-----------|-------------|---------|\n| **sessionId** | String | Unique research session identifier | \"research_1703123456789\" |\n| **query** | String | Research query that was executed | \"artificial intelligence trends\" |\n| **timestamp** | DateTime | When the research was conducted | \"2024-01-15T10:30:00Z\" |\n| **analysis** | Text | AI-generated comprehensive analysis | \"Executive Summary: AI trends show...\" |\n| **totalSources** | Number | Total number of sources analyzed | 15 |\n\n## 🛠️ Setup Instructions\n\n**Estimated setup time: 20-25 minutes**\n\n### Prerequisites\n- n8n instance with community nodes enabled\n- ScrapeGraphAI API account and credentials\n- OpenAI API account and credentials\n- Google Sheets account with API access\n\n### Step-by-Step Configuration\n\n#### 1. Install Community Nodes\n```bash\n# Install required community nodes\nnpm install n8n-nodes-scrapegraphai\n```\n\n#### 2. Configure ScrapeGraphAI Credentials\n- Navigate to Credentials in your n8n instance\n- Add new ScrapeGraphAI API credentials\n- Enter your API key from ScrapeGraphAI dashboard\n- Test the connection to ensure it's working\n\n#### 3. Set up OpenAI Credentials\n- Add OpenAI API credentials\n- Enter your API key from OpenAI dashboard\n- Ensure you have access to GPT-4 model\n- Test the connection to verify API access\n\n#### 4. Set up Google Sheets Connection\n- Add Google Sheets OAuth2 credentials\n- Grant necessary permissions for spreadsheet access\n- Create a new spreadsheet for research data\n- Configure the sheet name (default: \"Research_Data\")\n\n#### 5. Configure Research Parameters\n- Update the webhook endpoint URL\n- Customize default research parameters in the configuration processor\n- Set appropriate search query generation logic\n- Configure research depth levels (basic, detailed, comprehensive)\n\n#### 6. Test the Workflow\n- Send a test webhook request with research parameters\n- Verify data collection from all source types\n- Check Google Sheets for proper data storage\n- Validate AI analysis output quality\n\n## 🔄 Workflow Customization Options\n\n### Modify Research Sources\n- Add or remove source types (web, news, academic)\n- Customize search queries for specific industries\n- Adjust source credibility scoring algorithms\n- Implement custom data extraction patterns\n\n### Extend Analysis Capabilities\n- Add industry-specific analysis frameworks\n- Implement comparative analysis between sources\n- Create custom insight generation rules\n- Add sentiment analysis for news sources\n\n### Customize Data Storage\n- Add more detailed metadata tracking\n- Implement research versioning and history\n- Create multiple sheet tabs for different research types\n- Add data export capabilities\n\n### Output Customization\n- Create custom response formats\n- Add research summary generation\n- Implement citation and source tracking\n- Create executive dashboard integration\n\n## 📈 Use Cases\n\n- **Market Research**: Comprehensive industry and competitor analysis\n- **Academic Research**: Literature reviews and citation gathering\n- **Content Creation**: Research for articles, reports, and presentations\n- **Business Intelligence**: Strategic decision-making support\n- **Product Development**: Market validation and trend analysis\n- **Investment Research**: Due diligence and market analysis\n\n## 🚨 Important Notes\n\n- Respect website terms of service and robots.txt files\n- Implement appropriate delays between requests to avoid rate limiting\n- Monitor API usage to manage costs effectively\n- Keep your credentials secure and rotate them regularly\n- Consider data privacy and compliance requirements\n- Validate research findings from multiple sources\n\n## 🔧 Troubleshooting\n\n**Common Issues:**\n- ScrapeGraphAI connection errors: Verify API key and account status\n- OpenAI API errors: Check API key and model access permissions\n- Google Sheets permission errors: Check OAuth2 scope and permissions\n- Research data quality issues: Review search query generation logic\n- Rate limiting: Adjust request frequency and implement delays\n- Webhook response errors: Check response format and content\n\n**Support Resources:**\n- ScrapeGraphAI documentation and API reference\n- OpenAI API documentation and model specifications\n- n8n community forums for workflow assistance\n- Google Sheets API documentation for advanced configurations\n",
    "workflow": {
      "id": "VhEwspDqzu7ssFVE",
      "meta": {
        "instanceId": "f4b0efaa33080e7774e0d9285c40c7abcd2c6f7cf1a8b901fa7106170dd4cda3",
        "templateCredsSetupCompleted": true
      },
      "name": "My workflow 2",
      "tags": [],
      "nodes": [
        {
          "id": "48a84828-73de-4f4b-beb1-60e668342c11",
          "name": "Research Request Webhook",
          "type": "n8n-nodes-base.webhook",
          "position": [
            -2048,
            624
          ],
          "webhookId": "5a9368a9-013f-41db-82cc-18be19ea6684",
          "parameters": {
            "path": "research-trigger",
            "options": {},
            "httpMethod": "POST",
            "responseMode": "responseNode"
          },
          "typeVersion": 1.1
        },
        {
          "id": "5d8a05fa-1528-4dc4-95cd-d99625a2221b",
          "name": "Research Configuration Processor",
          "type": "n8n-nodes-base.code",
          "position": [
            -1760,
            624
          ],
          "parameters": {
            "jsCode": "// Extract and validate research parameters\nconst body = $input.all()[0].json.body;\n\n// Default research configuration\nconst researchConfig = {\n  topic: body.topic || 'artificial intelligence trends',\n  depth: body.depth || 'comprehensive', // basic, detailed, comprehensive\n  sources: body.sources || ['web', 'academic', 'news'],\n  timeframe: body.timeframe || '6months',\n  language: body.language || 'en',\n  maxSources: body.maxSources || 10,\n  analysisType: body.analysisType || 'summary' // summary, detailed, comparative\n};\n\n// Generate search queries based on topic\nconst baseQueries = [\n  `${researchConfig.topic} latest developments`,\n  `${researchConfig.topic} research findings`,\n  `${researchConfig.topic} market analysis`,\n  `${researchConfig.topic} expert opinions`,\n  `${researchConfig.topic} case studies`\n];\n\n// Add specific queries based on depth\nif (researchConfig.depth === 'comprehensive') {\n  baseQueries.push(\n    `${researchConfig.topic} academic papers`,\n    `${researchConfig.topic} industry reports`,\n    `${researchConfig.topic} statistical data`,\n    `${researchConfig.topic} future predictions`\n  );\n}\n\nreturn [{\n  json: {\n    ...researchConfig,\n    searchQueries: baseQueries,\n    timestamp: new Date().toISOString(),\n    sessionId: `research_${Date.now()}`\n  }\n}];"
          },
          "typeVersion": 2
        },
        {
          "id": "19e3c76b-f0fb-4324-b212-585ab132bde5",
          "name": "Split Search Queries",
          "type": "n8n-nodes-base.splitInBatches",
          "position": [
            -1456,
            624
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 3
        },
        {
          "id": "6eb0ff10-aaf6-430f-aea0-7c0cbe950b95",
          "name": "Query Selector",
          "type": "n8n-nodes-base.code",
          "position": [
            -1152,
            624
          ],
          "parameters": {
            "jsCode": "// Get current batch data\nconst items = $input.all();\nconst currentItem = items[0].json;\nconst queries = currentItem.searchQueries;\nconst currentBatch = $('Split Search Queries').item.json;\n\n// Get current query\nconst currentQuery = queries[currentBatch.index];\n\nreturn [{\n  json: {\n    ...currentItem,\n    currentQuery: currentQuery,\n    batchIndex: currentBatch.index\n  }\n}];"
          },
          "typeVersion": 2
        },
        {
          "id": "99f73593-0ddd-4fc9-810f-8b1793cd8476",
          "name": "AI Research Scraper",
          "type": "n8n-nodes-scrapegraphai.scrapegraphAi",
          "position": [
            -848,
            624
          ],
          "parameters": {
            "userPrompt": "Research and extract comprehensive information about this topic. Provide: 1) Key findings and insights, 2) Important statistics or data points, 3) Expert quotes or opinions, 4) Recent developments, 5) Source credibility assessment. Format as structured JSON with fields: title, summary, keyPoints, statistics, quotes, sources, credibilityScore, datePublished, relevanceScore.",
            "websiteUrl": "={{ $json.currentQuery }}"
          },
          "typeVersion": 1
        },
        {
          "id": "da52e96d-0aa2-41ef-886e-bd396e0f42f2",
          "name": "News Sources Scraper",
          "type": "n8n-nodes-scrapegraphai.scrapegraphAi",
          "position": [
            -848,
            832
          ],
          "parameters": {
            "userPrompt": "Extract recent news articles about this topic. For each article provide: headline, publication date, source, brief summary, and direct URL. Focus on credible news sources and recent publications within the last 6 months.",
            "websiteUrl": "https://www.google.com/search?q={{ encodeURIComponent($json.currentQuery) }}&tbm=nws"
          },
          "typeVersion": 1
        },
        {
          "id": "0ee6cf16-02e5-4a3b-b068-dd76a1351718",
          "name": "Academic Sources Scraper",
          "type": "n8n-nodes-scrapegraphai.scrapegraphAi",
          "position": [
            -848,
            1024
          ],
          "parameters": {
            "userPrompt": "Extract academic papers and research studies. For each paper provide: title, authors, publication year, journal/conference, citation count, abstract summary, and DOI/URL if available. Focus on peer-reviewed sources and recent publications.",
            "websiteUrl": "https://scholar.google.com/scholar?q={{ encodeURIComponent($json.currentQuery) }}"
          },
          "typeVersion": 1
        },
        {
          "id": "3228908f-f816-4a0c-889b-abf756281eb8",
          "name": "Merge Research Sources",
          "type": "n8n-nodes-base.merge",
          "position": [
            -560,
            832
          ],
          "parameters": {
            "mode": "combine",
            "options": {},
            "mergeByFields": {
              "values": [
                {}
              ]
            }
          },
          "typeVersion": 2.1
        },
        {
          "id": "90b55ee1-3404-4db2-aec1-6d6219043c09",
          "name": "Research Data Processor",
          "type": "n8n-nodes-base.code",
          "position": [
            -256,
            832
          ],
          "parameters": {
            "jsCode": "// Combine and process all research data\nconst allItems = $input.all();\nconst researchData = allItems[0].json;\nconst newsData = allItems[1]?.json || {};\nconst academicData = allItems[2]?.json || {};\n\n// Extract and structure the research findings\nconst processedData = {\n  sessionId: researchData.sessionId,\n  query: researchData.currentQuery,\n  batchIndex: researchData.batchIndex,\n  timestamp: new Date().toISOString(),\n  \n  // General research findings\n  generalFindings: {\n    title: researchData.result?.title || 'Research Findings',\n    summary: researchData.result?.summary || '',\n    keyPoints: researchData.result?.keyPoints || [],\n    statistics: researchData.result?.statistics || [],\n    credibilityScore: researchData.result?.credibilityScore || 0\n  },\n  \n  // News findings\n  newsFindings: {\n    articles: newsData.result?.articles || [],\n    totalArticles: newsData.result?.articles?.length || 0\n  },\n  \n  // Academic findings\n  academicFindings: {\n    papers: academicData.result?.papers || [],\n    totalPapers: academicData.result?.papers?.length || 0\n  },\n  \n  // Meta information\n  sourceTypes: ['general', 'news', 'academic'],\n  totalSources: (researchData.result?.sources?.length || 0) + \n                (newsData.result?.articles?.length || 0) + \n                (academicData.result?.papers?.length || 0)\n};\n\nreturn [{\n  json: processedData\n}];"
          },
          "typeVersion": 2
        },
        {
          "id": "7eb34b80-f6d2-4e80-83f5-529d4748cbec",
          "name": "Research Data Storage",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            352,
            832
          ],
          "parameters": {
            "columns": {
              "value": {},
              "schema": [
                {
                  "id": "sessionId",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Session ID",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "query",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Research Query",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "timestamp",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Timestamp",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "analysis",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "AI Analysis",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "totalSources",
                  "type": "number",
                  "display": true,
                  "required": false,
                  "displayName": "Total Sources",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                }
              ],
              "mappingMode": "autoMapInputData",
              "matchingColumns": []
            },
            "options": {},
            "operation": "append",
            "sheetName": {
              "__rl": true,
              "mode": "name",
              "value": "Research_Data"
            },
            "documentId": {
              "__rl": true,
              "mode": "url",
              "value": ""
            }
          },
          "typeVersion": 4.5
        },
        {
          "id": "d093ce1d-9716-4254-89b7-4b8bffd23b48",
          "name": "Research Complete Response",
          "type": "n8n-nodes-base.respondToWebhook",
          "position": [
            656,
            832
          ],
          "parameters": {
            "options": {},
            "respondWith": "json",
            "responseBody": "={{ JSON.stringify({\n  status: 'completed',\n  sessionId: $json.sessionId,\n  message: 'Research analysis completed successfully',\n  totalSources: $json.totalSources,\n  timestamp: $json.timestamp\n}) }}"
          },
          "typeVersion": 1.1
        },
        {
          "id": "8398d709-67b8-4ad4-90f0-d2c041d4678e",
          "name": "Webhook Trigger Guide",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2160,
            -448
          ],
          "parameters": {
            "color": 2,
            "width": 520,
            "height": 1732,
            "content": "# Step 1: Research Request Webhook 🎯\n\nThis webhook endpoint receives research requests and initiates the deep research process.\n\n## Request Format\n```json\n{\n  \"topic\": \"artificial intelligence in healthcare\",\n  \"depth\": \"comprehensive\",\n  \"sources\": [\"web\", \"academic\", \"news\"],\n  \"timeframe\": \"6months\",\n  \"maxSources\": 15,\n  \"analysisType\": \"detailed\"\n}\n```\n\n## Configuration\n- **Method**: POST\n- **Path**: /research-trigger\n- **Authentication**: Optional API key\n- **Rate Limiting**: Configurable\n\n## Depth Levels\n- **Basic**: Quick overview with 3-5 sources\n- **Detailed**: Comprehensive analysis with 8-12 sources\n- **Comprehensive**: Deep dive with 15+ sources and academic papers\n\n## Source Types\n- **Web**: General web content and industry sites\n- **News**: Recent news articles and press releases\n- **Academic**: Peer-reviewed papers and research studies"
          },
          "typeVersion": 1
        },
        {
          "id": "965963f7-6f98-4954-a0f0-916ab00477be",
          "name": "Configuration Guide",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1600,
            -448
          ],
          "parameters": {
            "color": 2,
            "width": 520,
            "height": 1748,
            "content": "# Step 2: Research Configuration Processor 🔧\n\nThis node processes and validates the incoming research request, setting up the research parameters.\n\n## What it does\n- Validates and sanitizes input parameters\n- Sets default values for missing parameters\n- Generates multiple search queries based on topic\n- Creates unique session ID for tracking\n- Configures research depth and scope\n\n## Query Generation Strategy\n- **Base Queries**: Core topic searches\n- **Depth-Specific**: Additional queries for comprehensive research\n- **Time-Sensitive**: Recent developments and trends\n- **Multi-Angle**: Different perspectives and viewpoints\n\n## Customization Options\n- Modify query generation logic\n- Add industry-specific search patterns\n- Implement custom validation rules\n- Configure default research parameters"
          },
          "typeVersion": 1
        },
        {
          "id": "47a160d4-d829-4133-93fa-aa4dbd41f785",
          "name": "AI Scraping Guide",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1040,
            -448
          ],
          "parameters": {
            "color": 3,
            "width": 520,
            "height": 1748,
            "content": "# Step 3: Multi-Source AI Scraping 🤖\n\nThree parallel AI-powered scrapers collect data from different source types for comprehensive research coverage.\n\n## AI Research Scraper\n- **Purpose**: General web research and industry insights\n- **Focus**: Key findings, statistics, expert opinions\n- **Output**: Structured insights with credibility scores\n\n## News Sources Scraper\n- **Purpose**: Recent news and current developments\n- **Focus**: Headlines, publication dates, credible sources\n- **Output**: Timestamped news articles with summaries\n\n## Academic Sources Scraper\n- **Purpose**: Peer-reviewed research and scholarly articles\n- **Focus**: Academic papers, citations, research studies\n- **Output**: Scientific literature with metadata\n\n## ScrapeGraphAI Benefits\n- **AI-Powered**: Intelligent content extraction\n- **Structured Output**: Consistent data format\n- **Source Validation**: Credibility assessment\n- **Multi-Language**: Global research capability"
          },
          "typeVersion": 1
        },
        {
          "id": "503cdf42-cee7-4b44-a2fd-4f4a4a134f60",
          "name": "Processing & Analysis Guide",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -464,
            -448
          ],
          "parameters": {
            "color": 3,
            "width": 520,
            "height": 1748,
            "content": "# Step 4: Data Processing & AI Analysis 🧠\n\nAdvanced data processing and AI-powered analysis to generate actionable insights from collected research data.\n\n## Research Data Processor\n- **Combines**: All source types into unified structure\n- **Validates**: Data quality and completeness\n- **Enriches**: Metadata and source attribution\n- **Structures**: For optimal analysis and storage\n\n## AI Research Analyst\n- **Model**: GPT-4 for sophisticated analysis\n- **Analysis Types**: Summary, trends, conflicts, reliability\n- **Output**: Executive summary with actionable insights\n- **Temperature**: Low (0.3) for consistent, factual analysis\n\n## Analysis Components\n1. **Executive Summary**: High-level overview\n2. **Key Insights**: Major findings and trends\n3. **Reliability Assessment**: Source credibility evaluation\n4. **Recommendations**: Actionable next steps\n5. **Further Research**: Suggested investigation areas"
          },
          "typeVersion": 1
        },
        {
          "id": "0105d893-94ce-465d-9ef8-8f144280f0c9",
          "name": "Storage & Response Guide",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            144,
            -432
          ],
          "parameters": {
            "color": 4,
            "width": 840,
            "height": 1716,
            "content": "# Step 5: Data Storage & Response 📊\n\nSecure storage of research findings and structured response delivery for seamless integration with other systems.\n\n## Google Sheets Storage\n- **Sheet Structure**: Research_Data with comprehensive columns\n- **Data Retention**: Historical research for trend analysis\n- **Access Control**: Secure OAuth2 authentication\n- **Format**: Structured data ready for analysis and reporting\n\n## Response Delivery\n- **Format**: JSON with status and metadata\n- **Content**: Session ID, completion status, source count\n- **Integration**: Ready for webhook consumers and APIs\n- **Tracking**: Unique session IDs for research correlation\n\n## Data Management Features\n- **Versioning**: Track research iterations\n- **Export**: Multiple format support\n- **Sharing**: Team collaboration capabilities\n- **Analytics**: Built-in Google Sheets analysis tools\n\n## Use Cases\n- **Market Research**: Competitive analysis and trends\n- **Academic Research**: Literature reviews and citations\n- **Business Intelligence**: Industry insights and reports"
          },
          "typeVersion": 1
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "076dd376-d6cb-4851-b335-e074cd47911c",
      "connections": {
        "Query Selector": {
          "main": [
            [
              {
                "node": "AI Research Scraper",
                "type": "main",
                "index": 0
              },
              {
                "node": "News Sources Scraper",
                "type": "main",
                "index": 0
              },
              {
                "node": "Academic Sources Scraper",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "AI Research Scraper": {
          "main": [
            [
              {
                "node": "Merge Research Sources",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "News Sources Scraper": {
          "main": [
            [
              {
                "node": "Merge Research Sources",
                "type": "main",
                "index": 1
              }
            ]
          ]
        },
        "Split Search Queries": {
          "main": [
            [
              {
                "node": "Query Selector",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Research Data Storage": {
          "main": [
            [
              {
                "node": "Research Complete Response",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Merge Research Sources": {
          "main": [
            [
              {
                "node": "Research Data Processor",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Research Data Processor": {
          "main": [
            [
              {
                "node": "Research Data Storage",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Research Request Webhook": {
          "main": [
            [
              {
                "node": "Research Configuration Processor",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Research Configuration Processor": {
          "main": [
            [
              {
                "node": "Split Search Queries",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 29,
    "workflowInfo": {
      "nodeCount": 16,
      "nodeTypes": {
        "n8n-nodes-base.code": {
          "count": 3
        },
        "n8n-nodes-base.merge": {
          "count": 1
        },
        "n8n-nodes-base.webhook": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 5
        },
        "n8n-nodes-base.googleSheets": {
          "count": 1
        },
        "n8n-nodes-base.splitInBatches": {
          "count": 1
        },
        "n8n-nodes-base.respondToWebhook": {
          "count": 1
        },
        "n8n-nodes-scrapegraphai.scrapegraphAi": {
          "count": 3
        }
      }
    },
    "status": "published",
    "user": {
      "name": "vinci-king-01",
      "username": "vinci-king-01",
      "bio": "",
      "verified": true,
      "links": [
        "https://www.linkedin.com/in/marco-vinciguerra-7ba365242/"
      ],
      "avatar": "https://gravatar.com/avatar/d939eeef03a5fcb5df08bee8196f12ccb248c38209487414e419032004f0c014?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "id": 18,
        "icon": "file:googleSheets.svg",
        "name": "n8n-nodes-base.googleSheets",
        "codex": {
          "data": {
            "alias": [
              "CSV",
              "Sheet",
              "Spreadsheet",
              "GS"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/",
                  "icon": "❤️",
                  "label": "Love at first sight: Ricardo’s n8n journey"
                },
                {
                  "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-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/supercharging-your-conference-registration-process-with-n8n/",
                  "icon": "🎫",
                  "label": "Supercharging your conference registration process with n8n"
                },
                {
                  "url": "https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/",
                  "icon": "⏲",
                  "label": "Creating triggers for n8n workflows using polling"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "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/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "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/how-honest-burgers-use-automation-to-save-100k-per-year/",
                  "icon": "🍔",
                  "label": "How Honest Burgers Use Automation to Save $100k per year"
                },
                {
                  "url": "https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/",
                  "icon": "💻",
                  "label": "How a digital strategist uses n8n for online marketing"
                },
                {
                  "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/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/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/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.googlesheets/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
                }
              ]
            },
            "categories": [
              "Data & Storage",
              "Productivity"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"input\",\"output\"]",
        "defaults": {
          "name": "Google Sheets"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="
        },
        "displayName": "Google Sheets",
        "typeVersion": 5,
        "nodeCategories": [
          {
            "id": 3,
            "name": "Data & Storage"
          },
          {
            "id": 4,
            "name": "Productivity"
          }
        ]
      },
      {
        "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": 39,
        "icon": "fa:sync",
        "name": "n8n-nodes-base.splitInBatches",
        "codex": {
          "data": {
            "alias": [
              "Loop",
              "Concatenate",
              "Batch",
              "Split",
              "Split In Batches"
            ],
            "resources": {
              "generic": [
                {
                  "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/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/",
                  "icon": "🎖",
                  "label": "Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Flow"
              ]
            }
          }
        },
        "group": "[\"organization\"]",
        "defaults": {
          "name": "Loop Over Items",
          "color": "#007755"
        },
        "iconData": {
          "icon": "sync",
          "type": "icon"
        },
        "displayName": "Loop Over Items (Split in Batches)",
        "typeVersion": 3,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 47,
        "icon": "file:webhook.svg",
        "name": "n8n-nodes-base.webhook",
        "codex": {
          "data": {
            "alias": [
              "HTTP",
              "API",
              "Build",
              "WH"
            ],
            "resources": {
              "generic": [
                {
                  "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/running-n8n-on-ships-an-interview-with-maranics/",
                  "icon": "🛳",
                  "label": "Running n8n on ships: An interview with Maranics"
                },
                {
                  "url": "https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/",
                  "icon": "🔗",
                  "label": "How to build a low-code, self-hosted URL shortener in 3 steps"
                },
                {
                  "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/how-a-digital-strategist-uses-n8n-for-online-marketing/",
                  "icon": "💻",
                  "label": "How a digital strategist uses n8n for online marketing"
                },
                {
                  "url": "https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/",
                  "icon": "📹",
                  "label": "The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/",
                  "icon": "👏",
                  "label": "How to automatically give kudos to contributors with GitHub, Slack, and n8n"
                },
                {
                  "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/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/creating-custom-incident-response-workflows-with-n8n/",
                  "label": "How to automate every step of an incident response workflow"
                },
                {
                  "url": "https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/",
                  "icon": "🧰",
                  "label": "Learn to Build Powerful API Endpoints Using Webhooks"
                },
                {
                  "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-goomer-automated-their-operations-with-over-200-n8n-workflows/",
                  "icon": "🛵",
                  "label": "How Goomer automated their operations with over 200 n8n workflows"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/"
                }
              ]
            },
            "categories": [
              "Development",
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"trigger\"]",
        "defaults": {
          "name": "Webhook"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"
        },
        "displayName": "Webhook",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 5,
            "name": "Development"
          },
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 535,
        "icon": "file:webhook.svg",
        "name": "n8n-nodes-base.respondToWebhook",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.respondtowebhook/"
                }
              ]
            },
            "categories": [
              "Core Nodes",
              "Utility"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Respond to Webhook"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"
        },
        "displayName": "Respond to Webhook",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 7,
            "name": "Utility"
          },
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "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"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 32,
        "name": "Market Research"
      },
      {
        "id": 49,
        "name": "AI Summarization"
      }
    ],
    "image": []
  }
}