{"workflow":{"id":15017,"name":"Spot social media trends and generate post ideas with Claude and Google Sheets","views":0,"recentViews":0,"totalViews":0,"createdAt":"2026-04-13T12:36:31.325Z","description":"This AI-powered workflow monitors trending topics across multiple social platforms, generates creative post ideas with captions and visual suggestions, and recommends optimal posting times based on engagement data.\n\n### How it works\n\n1. **Trigger** - Runs on schedule or webhook to start trend monitoring\n2. **Fetch Trends** - Pulls trending topics from Twitter, Reddit, Google Trends\n3. **Wait & Aggregate** - Allows trend data to settle for better analysis\n4. **Filter & Parse** - JavaScript code filters relevant trends for your niche\n5. **AI Content Generation** - Claude creates post ideas, captions, hashtags\n6. **Visual Suggestions** - Recommends image/video concepts\n7. **Wait for Analysis** - Pauses before engagement time calculation\n8. **Optimal Timing** - JavaScript calculates best posting times\n9. **Log & Track** - Records all ideas in Google Sheets\n10. **Response** - Returns ready-to-use content ideas\n\n### Setup Steps\n\n1. Import this workflow into your n8n instance\n2. Configure credentials:\n   - **Twitter API v2** - For trending hashtags and topics\n   - **Reddit API** - For subreddit trending posts\n   - **Google Trends (no auth)** - For search trends\n   - **Anthropic API** - For Claude AI content generation\n   - **Google Sheets** - To track generated ideas\n3. Update your brand profile and niche in the config node\n4. Set your target social platforms and audience\n5. Activate the workflow\n\n### Sample Trigger Payload\n```json\n{\n  \"platforms\": [\"twitter\", \"instagram\", \"linkedin\"],\n  \"niche\": \"AI & Technology\",\n  \"trendSources\": [\"twitter\", \"reddit\", \"google\"],\n  \"contentTypes\": [\"educational\", \"entertaining\", \"news\"],\n  \"targetAudience\": \"tech professionals, 25-45\",\n  \"brandVoice\": \"professional yet approachable\",\n  \"minTrendScore\": 60,\n  \"maxIdeasPerTrend\": 3,\n  \"includeVisuals\": true\n}\n```\n\n### Features\n\n- **Multi-platform trend monitoring** (Twitter, Reddit, Google Trends)\n- **AI-powered content generation** with brand voice matching\n- **Visual concept suggestions** for each post idea\n- **Optimal timing recommendations** based on engagement patterns\n- **Hashtag strategy** with trending and niche tags\n- **Content calendar integration** via Google Sheets\n- **Duplicate prevention** - tracks used trends\n- **Performance tracking** - logs which ideas perform best","workflow":{"id":"ZanLxRR8F108sLWM","meta":{"instanceId":"dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281","templateCredsSetupCompleted":true},"name":"Social Media Trend Spotter & Idea Generator","tags":[],"nodes":[{"id":"5ac9c135-a80b-42cb-bdc6-67ae9bc3d7da","name":"Sticky Note - Documentation","type":"n8n-nodes-base.stickyNote","position":[-656,-256],"parameters":{"width":820,"height":1360,"content":"## Social Media Trend Spotter & Idea Generator\n\nThis AI-powered workflow monitors trending topics across multiple social platforms, generates creative post ideas with captions and visual suggestions, and recommends optimal posting times based on engagement data.\n\n### How it works\n\n1. **Trigger** - Runs on schedule or webhook to start trend monitoring\n2. **Fetch Trends** - Pulls trending topics from Twitter, Reddit, Google Trends\n3. **Wait & Aggregate** - Allows trend data to settle for better analysis\n4. **Filter & Parse** - JavaScript code filters relevant trends for your niche\n5. **AI Content Generation** - Claude creates post ideas, captions, hashtags\n6. **Visual Suggestions** - Recommends image/video concepts\n7. **Wait for Analysis** - Pauses before engagement time calculation\n8. **Optimal Timing** - JavaScript calculates best posting times\n9. **Log & Track** - Records all ideas in Google Sheets\n10. **Response** - Returns ready-to-use content ideas\n\n### Setup Steps\n\n1. Import this workflow into your n8n instance\n2. Configure credentials:\n   - **Twitter API v2** - For trending hashtags and topics\n   - **Reddit API** - For subreddit trending posts\n   - **Google Trends (no auth)** - For search trends\n   - **Anthropic API** - For Claude AI content generation\n   - **Google Sheets** - To track generated ideas\n3. Update your brand profile and niche in the config node\n4. Set your target social platforms and audience\n5. Activate the workflow\n\n### Sample Trigger Payload\n```json\n{\n  \"platforms\": [\"twitter\", \"instagram\", \"linkedin\"],\n  \"niche\": \"AI & Technology\",\n  \"trendSources\": [\"twitter\", \"reddit\", \"google\"],\n  \"contentTypes\": [\"educational\", \"entertaining\", \"news\"],\n  \"targetAudience\": \"tech professionals, 25-45\",\n  \"brandVoice\": \"professional yet approachable\",\n  \"minTrendScore\": 60,\n  \"maxIdeasPerTrend\": 3,\n  \"includeVisuals\": true\n}\n```\n\n### Features\n\n- **Multi-platform trend monitoring** (Twitter, Reddit, Google Trends)\n- **AI-powered content generation** with brand voice matching\n- **Visual concept suggestions** for each post idea\n- **Optimal timing recommendations** based on engagement patterns\n- **Hashtag strategy** with trending and niche tags\n- **Content calendar integration** via Google Sheets\n- **Duplicate prevention** - tracks used trends\n- **Performance tracking** - logs which ideas perform best"},"typeVersion":1},{"id":"64e9c1ba-59fb-4188-8528-5ce9db7826c8","name":"Sticky Note - Section 1","type":"n8n-nodes-base.stickyNote","position":[272,288],"parameters":{"color":5,"width":500,"height":380,"content":"## 1. Trigger & Configuration"},"typeVersion":1},{"id":"b82fdc2d-33e5-4cda-9c73-6b69fbd9f668","name":"Sticky Note - Section 2","type":"n8n-nodes-base.stickyNote","position":[832,-80],"parameters":{"color":5,"width":928,"height":900,"content":"## 2. Fetch Trends & Wait for Aggregation"},"typeVersion":1},{"id":"d4caf36f-ecb5-4178-8877-3785ddda6b0e","name":"Sticky Note - Section 3","type":"n8n-nodes-base.stickyNote","position":[1792,128],"parameters":{"color":5,"width":760,"height":668,"content":"## 3. Parse, Filter & AI Generation"},"typeVersion":1},{"id":"89994ea3-2dea-4e40-8c9a-919b78398b94","name":"Sticky Note - Section 4","type":"n8n-nodes-base.stickyNote","position":[2592,192],"parameters":{"color":5,"width":960,"height":580,"content":"## 4. Timing Analysis & Output"},"typeVersion":1},{"id":"2ec84eca-f1be-4d0c-bf2c-8cacbfa444c7","name":"Receive Trend Request","type":"n8n-nodes-base.webhook","position":[416,448],"webhookId":"social-media-trend-webhook","parameters":{"path":"social-trends","options":{},"httpMethod":"POST","responseMode":"responseNode"},"typeVersion":2},{"id":"21cccaf5-4715-44ad-9287-6e8dc7090fa8","name":"Validate Config & Build Parameters","type":"n8n-nodes-base.code","position":[656,448],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Extract configuration from request\nconst body = $input.item.json.body || $input.item.json;\n\n// Default configuration\nconst config = {\n  platforms: body.platforms || ['twitter', 'instagram', 'linkedin'],\n  niche: body.niche || 'Technology & Innovation',\n  trendSources: body.trendSources || ['twitter', 'reddit', 'google'],\n  contentTypes: body.contentTypes || ['educational', 'entertaining', 'news'],\n  targetAudience: body.targetAudience || 'tech-savvy professionals, 25-45',\n  brandVoice: body.brandVoice || 'professional yet approachable',\n  minTrendScore: parseInt(body.minTrendScore) || 60,\n  maxIdeasPerTrend: parseInt(body.maxIdeasPerTrend) || 3,\n  includeVisuals: Boolean(body.includeVisuals !== false),\n  includeHashtags: Boolean(body.includeHashtags !== false),\n  waitTimeSeconds: parseInt(body.waitTimeSeconds) || 120,\n  analysisWaitSeconds: parseInt(body.analysisWaitSeconds) || 60\n};\n\n// Brand profile (customize per user)\nconst brandProfile = {\n  name: body.brandName || 'YOUR_BRAND',\n  industry: body.industry || config.niche,\n  values: body.brandValues || ['innovation', 'authenticity', 'expertise'],\n  prohibitedTopics: body.prohibitedTopics || ['politics', 'controversial'],\n  preferredFormats: body.preferredFormats || ['carousel', 'infographic', 'video'],\n  colorScheme: body.colorScheme || ['#0066CC', '#FF6B35', '#F7F7F7']\n};\n\n// Engagement patterns (historical data or defaults)\nconst engagementPatterns = {\n  twitter: {\n    peakHours: [9, 12, 17, 20],\n    peakDays: ['Tuesday', 'Wednesday', 'Thursday'],\n    avgEngagementRate: 0.03\n  },\n  instagram: {\n    peakHours: [11, 13, 19, 21],\n    peakDays: ['Wednesday', 'Friday', 'Sunday'],\n    avgEngagementRate: 0.045\n  },\n  linkedin: {\n    peakHours: [8, 12, 17],\n    peakDays: ['Tuesday', 'Wednesday', 'Thursday'],\n    avgEngagementRate: 0.02\n  }\n};\n\nreturn {\n  json: {\n    config,\n    brandProfile,\n    engagementPatterns,\n    metadata: {\n      requestId: `SMTS-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\n      startedAt: new Date().toISOString(),\n      timezone: body.timezone || 'Asia/Kolkata'\n    }\n  }\n};"},"typeVersion":2},{"id":"2b50f0db-04ea-40e2-93aa-c3e4211a7bfe","name":"Fetch Twitter Trending Topics","type":"n8n-nodes-base.httpRequest","position":[896,208],"parameters":{"url":"https://api.twitter.com/2/trends/place","options":{},"sendQuery":true,"authentication":"predefinedCredentialType","queryParameters":{"parameters":[{"name":"id","value":"1"}]},"nodeCredentialType":"twitterOAuth2Api"},"credentials":{"twitterOAuth2Api":{"id":"jOpaiZxhSgCLb8Uv","name":"X account - test"}},"typeVersion":4.2,"continueOnFail":true},{"id":"31b23fc2-792b-45de-957f-baff90f4c27b","name":"Fetch Reddit Hot Topics","type":"n8n-nodes-base.httpRequest","position":[896,400],"parameters":{"url":"https://oauth.reddit.com/r/all/hot","options":{},"sendQuery":true,"authentication":"predefinedCredentialType","queryParameters":{"parameters":[{"name":"limit","value":"25"},{"name":"t","value":"day"}]},"nodeCredentialType":"redditOAuth2Api"},"credentials":{"redditOAuth2Api":{"id":"mO2i21W6ZEa5xpxo","name":"Reddit test"}},"typeVersion":4.2,"continueOnFail":true},{"id":"b8b0d45e-6d27-41ef-afe0-bdd25976920c","name":"Fetch Google Trends","type":"n8n-nodes-base.httpRequest","position":[896,608],"parameters":{"url":"https://trends.google.com/trends/api/dailytrends","options":{},"sendQuery":true,"queryParameters":{"parameters":[{"name":"hl","value":"en-US"},{"name":"tz","value":"-330"},{"name":"geo","value":"IN"}]}},"typeVersion":4.2,"continueOnFail":true},{"id":"5078752f-c964-4f4c-a35e-0d95eb61e416","name":"Merge All Trend Sources","type":"n8n-nodes-base.merge","position":[1152,400],"parameters":{"mode":"combine","options":{},"mergeByFields":{"values":[{},{}]}},"typeVersion":2.1},{"id":"20f2810f-754d-41a7-8121-6ebce58a71b5","name":"Wait for Trend Aggregation","type":"n8n-nodes-base.wait","position":[1392,400],"webhookId":"0f04bd57-35c7-4be9-841f-e5eddde963c5","parameters":{"resume":"after-execution"},"typeVersion":1.1},{"id":"6db7ec5b-a25c-4bba-8c4b-437cd77eaeb6","name":"Parse & Filter Trending Topics","type":"n8n-nodes-base.code","position":[1632,400],"parameters":{"jsCode":"// Get configuration and trend data\nconst config = $('Validate Config & Build Parameters').first().json.config;\nconst brandProfile = $('Validate Config & Build Parameters').first().json.brandProfile;\n\nconst allTrends = [];\n\n// Parse Twitter trends\nconst twitterData = $input.all().find(item => item.json.data?.trends);\nif (twitterData) {\n  const trends = twitterData.json.data.trends || [];\n  trends.forEach(trend => {\n    allTrends.push({\n      source: 'twitter',\n      topic: trend.name || trend.query,\n      volume: trend.tweet_volume || 0,\n      url: trend.url,\n      rawScore: Math.min(100, (trend.tweet_volume || 0) / 1000)\n    });\n  });\n}\n\n// Parse Reddit trends\nconst redditData = $input.all().find(item => item.json.data?.children);\nif (redditData) {\n  const posts = redditData.json.data.children || [];\n  posts.forEach(post => {\n    const data = post.data;\n    allTrends.push({\n      source: 'reddit',\n      topic: data.title,\n      volume: data.ups + data.num_comments,\n      url: `https://reddit.com${data.permalink}`,\n      subreddit: data.subreddit,\n      rawScore: Math.min(100, ((data.ups + data.num_comments) / 100))\n    });\n  });\n}\n\n// Parse Google Trends\nconst googleData = $input.all().find(item => item.json.default?.trendingSearchesDays);\nif (googleData) {\n  const trendDays = googleData.json.default.trendingSearchesDays || [];\n  trendDays.forEach(day => {\n    (day.trendingSearches || []).forEach(search => {\n      allTrends.push({\n        source: 'google',\n        topic: search.title?.query || search.title,\n        volume: parseInt(search.formattedTraffic?.replace(/[+,]/g, '')) || 0,\n        url: search.articles?.[0]?.url || '',\n        rawScore: Math.min(100, (parseInt(search.formattedTraffic?.replace(/[+,]/g, '')) || 0) / 10000)\n      });\n    });\n  });\n}\n\n// Filter and score trends\nconst processedTrends = allTrends\n  .filter(trend => {\n    // Remove prohibited topics\n    const topicLower = trend.topic.toLowerCase();\n    return !brandProfile.prohibitedTopics.some(prohibited => \n      topicLower.includes(prohibited.toLowerCase())\n    );\n  })\n  .map(trend => {\n    // Calculate relevance score\n    const nicheLower = config.niche.toLowerCase();\n    const topicLower = trend.topic.toLowerCase();\n    \n    // Niche matching bonus\n    const nicheWords = nicheLower.split(/\\s+/);\n    const nicheMatch = nicheWords.some(word => topicLower.includes(word)) ? 30 : 0;\n    \n    // Volume score (normalized)\n    const volumeScore = trend.rawScore || 0;\n    \n    // Final score\n    const finalScore = Math.min(100, volumeScore + nicheMatch);\n    \n    return {\n      ...trend,\n      nicheRelevance: nicheMatch,\n      finalScore,\n      timestamp: new Date().toISOString()\n    };\n  })\n  .filter(trend => trend.finalScore >= config.minTrendScore)\n  .sort((a, b) => b.finalScore - a.finalScore)\n  .slice(0, 10); // Top 10 trends\n\nif (processedTrends.length === 0) {\n  throw new Error('No relevant trends found matching your niche and score threshold');\n}\n\nconsole.log(`Filtered ${processedTrends.length} relevant trends from ${allTrends.length} total`);\n\n// Return each trend as separate item for parallel processing\nreturn processedTrends.map(trend => ({\n  json: {\n    trend,\n    config,\n    brandProfile,\n    metadata: $('Validate Config & Build Parameters').first().json.metadata\n  }\n}));"},"typeVersion":2},{"id":"8d898ed1-b695-408b-9258-5312ea099e20","name":"Generate Content Ideas with Claude AI","type":"@n8n/n8n-nodes-langchain.agent","position":[1808,400],"parameters":{"text":"=You are a creative social media strategist and content creator. Generate {{$json.config.maxIdeasPerTrend}} unique post ideas based on this trending topic.\n\n**Trending Topic:**\n- Topic: {{$json.trend.topic}}\n- Source: {{$json.trend.source}}\n- Trend Score: {{$json.trend.finalScore}}/100\n- Volume: {{$json.trend.volume}}\n- URL: {{$json.trend.url}}\n\n**Brand Profile:**\n- Brand: {{$json.brandProfile.name}}\n- Industry: {{$json.brandProfile.industry}}\n- Voice: {{$json.config.brandVoice}}\n- Target Audience: {{$json.config.targetAudience}}\n- Values: {{$json.brandProfile.values.join(', ')}}\n\n**Content Requirements:**\n- Platforms: {{$json.config.platforms.join(', ')}}\n- Content Types: {{$json.config.contentTypes.join(', ')}}\n- Include Visuals: {{$json.config.includeVisuals}}\n- Preferred Formats: {{$json.brandProfile.preferredFormats.join(', ')}}\n\n**Generate {{$json.config.maxIdeasPerTrend}} unique post ideas in this JSON format:**\n{\n  \"ideas\": [\n    {\n      \"platform\": \"twitter\",\n      \"contentType\": \"educational\",\n      \"angle\": \"Brief description of the unique angle/hook\",\n      \"caption\": \"Full caption text (platform-optimized length)\",\n      \"hashtags\": [\"#trending\", \"#relevant\", \"#niche\"],\n      \"visualConcept\": \"Detailed description of recommended image/graphic/video\",\n      \"visualType\": \"infographic\",\n      \"callToAction\": \"What action you want audience to take\",\n      \"estimatedEngagement\": \"high\",\n      \"reasoning\": \"Why this will resonate with the target audience\"\n    }\n  ],\n  \"trendContext\": \"Brief explanation of why this trend matters to your audience\",\n  \"timingSensitivity\": \"low/medium/high - how time-sensitive is this trend\"\n}\n\n**Important Guidelines:**\n- Make each idea distinctly different in angle and format\n- Optimize caption length for each platform (Twitter: 280 chars, Instagram: engaging first line, LinkedIn: professional)\n- Visual concepts should be specific and actionable for designers\n- Match brand voice consistently\n- Avoid generic content - be creative and specific\n- Consider the trend's virality potential","options":{"systemMessage":"You are an expert social media strategist who creates viral, engaging content tailored to specific brand voices and platforms. Always respond in valid JSON format without markdown code blocks."},"promptType":"define"},"typeVersion":1.6},{"id":"bcfe708f-c0fd-4833-bcb7-4681256c5ac0","name":"Claude AI Model","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[1952,640],"parameters":{"model":"=claude-sonnet-4-20250514","options":{"temperature":0.7}},"credentials":{"anthropicApi":{"id":"fK55jZdb6CaYNukq","name":"Anthropic account - test"}},"typeVersion":1},{"id":"977954b7-ed50-4441-8f60-ccbaa87bab79","name":"Parse Claude Response","type":"n8n-nodes-base.code","position":[2112,400],"parameters":{"mode":"runOnceForEachItem","jsCode":"const aiResponse = $input.item.json;\nlet aiText = aiResponse.response || aiResponse.output || aiResponse.text || '';\n\n// Handle content array format from Anthropic\nif (aiResponse.content && Array.isArray(aiResponse.content)) {\n  aiText = aiResponse.content[0]?.text || '';\n}\n\n// Clean JSON from markdown code blocks\nconst cleanText = aiText\n  .replace(/```json\\s*/g, '')\n  .replace(/```\\s*/g, '')\n  .trim();\n\nlet generatedContent;\ntry {\n  generatedContent = JSON.parse(cleanText);\n} catch (error) {\n  throw new Error(`Failed to parse AI response: ${error.message}. Response was: ${cleanText.substring(0, 200)}...`);\n}\n\n// Get trend and config from upstream\nconst trendData = $('Parse & Filter Trending Topics').item.json;\n\nreturn {\n  json: {\n    trend: trendData.trend,\n    config: trendData.config,\n    brandProfile: trendData.brandProfile,\n    generatedIdeas: generatedContent.ideas || [],\n    trendContext: generatedContent.trendContext,\n    timingSensitivity: generatedContent.timingSensitivity || 'medium',\n    generatedAt: new Date().toISOString(),\n    metadata: trendData.metadata\n  }\n};"},"typeVersion":2},{"id":"180bc4d7-e2a9-471a-8892-6100363629ac","name":"Wait Before Timing Analysis","type":"n8n-nodes-base.wait","position":[2352,400],"webhookId":"1781b8c0-749b-4806-97ff-ffa39e66c20c","parameters":{"resume":"after-execution"},"typeVersion":1.1},{"id":"5e51ec00-2a35-4bd6-b561-f8c63c71ab8a","name":"Calculate Optimal Posting Times","type":"n8n-nodes-base.code","position":[2624,400],"parameters":{"mode":"runOnceForEachItem","jsCode":"const data = $input.item.json;\nconst config = data.config;\nconst engagementPatterns = $('Validate Config & Build Parameters').first().json.engagementPatterns;\nconst timezone = data.metadata.timezone;\n\n// Calculate optimal posting times for each platform and idea\nconst ideasWithTiming = data.generatedIdeas.map((idea, index) => {\n  const platform = idea.platform;\n  const patterns = engagementPatterns[platform] || engagementPatterns.twitter;\n  \n  // Get current date/time in user's timezone\n  const now = new Date();\n  const currentHour = now.getHours();\n  const currentDay = now.toLocaleDateString('en-US', { weekday: 'long', timeZone: timezone });\n  \n  // Find next optimal posting slot\n  let recommendedTime;\n  let daysUntilPost = 0;\n  let foundSlot = false;\n  \n  // Check next 7 days for optimal slot\n  for (let day = 0; day < 7 && !foundSlot; day++) {\n    const checkDate = new Date(now);\n    checkDate.setDate(checkDate.getDate() + day);\n    const dayName = checkDate.toLocaleDateString('en-US', { weekday: 'long', timeZone: timezone });\n    \n    if (patterns.peakDays.includes(dayName)) {\n      // Find next peak hour on this day\n      for (const peakHour of patterns.peakHours) {\n        if (day === 0 && peakHour <= currentHour) continue; // Skip past hours today\n        \n        checkDate.setHours(peakHour, 0, 0, 0);\n        recommendedTime = checkDate.toISOString();\n        daysUntilPost = day;\n        foundSlot = true;\n        break;\n      }\n    }\n  }\n  \n  // Fallback: next peak hour on any day\n  if (!recommendedTime) {\n    const fallbackDate = new Date(now);\n    fallbackDate.setDate(fallbackDate.getDate() + 1);\n    fallbackDate.setHours(patterns.peakHours[0], 0, 0, 0);\n    recommendedTime = fallbackDate.toISOString();\n    daysUntilPost = 1;\n  }\n  \n  // Calculate expected engagement score\n  const baseEngagement = patterns.avgEngagementRate;\n  const trendBoost = data.trend.finalScore / 100; // Trending topics boost engagement\n  const timingSensitivityMultiplier = \n    data.timingSensitivity === 'high' ? 1.5 :\n    data.timingSensitivity === 'medium' ? 1.2 : 1.0;\n  \n  const expectedEngagement = baseEngagement * (1 + trendBoost) * timingSensitivityMultiplier;\n  \n  // Format human-readable time\n  const timeObj = new Date(recommendedTime);\n  const formattedTime = timeObj.toLocaleString('en-US', {\n    timeZone: timezone,\n    weekday: 'long',\n    year: 'numeric',\n    month: 'long',\n    day: 'numeric',\n    hour: 'numeric',\n    minute: '2-digit',\n    hour12: true\n  });\n  \n  return {\n    ...idea,\n    timing: {\n      recommendedPostTime: recommendedTime,\n      formattedTime,\n      daysUntilPost,\n      timezone,\n      urgency: data.timingSensitivity === 'high' && daysUntilPost > 2 ? 'URGENT - Trend may fade' : 'optimal',\n      expectedEngagementRate: (expectedEngagement * 100).toFixed(2) + '%',\n      peakHours: patterns.peakHours,\n      peakDays: patterns.peakDays\n    },\n    metadata: {\n      ideaId: `${data.metadata.requestId}-idea-${index + 1}`,\n      trendTopic: data.trend.topic,\n      trendSource: data.trend.source,\n      trendScore: data.trend.finalScore\n    }\n  };\n});\n\n// Summary statistics\nconst summary = {\n  totalIdeas: ideasWithTiming.length,\n  platformBreakdown: config.platforms.reduce((acc, platform) => {\n    acc[platform] = ideasWithTiming.filter(i => i.platform === platform).length;\n    return acc;\n  }, {}),\n  urgentIdeas: ideasWithTiming.filter(i => i.timing.urgency === 'URGENT - Trend may fade').length,\n  avgExpectedEngagement: (\n    ideasWithTiming.reduce((sum, i) => sum + parseFloat(i.timing.expectedEngagementRate), 0) / \n    ideasWithTiming.length\n  ).toFixed(2) + '%',\n  nextPostingWindow: ideasWithTiming[0]?.timing.formattedTime\n};\n\nreturn {\n  json: {\n    trendTopic: data.trend.topic,\n    trendScore: data.trend.finalScore,\n    trendSource: data.trend.source,\n    trendContext: data.trendContext,\n    timingSensitivity: data.timingSensitivity,\n    contentIdeas: ideasWithTiming,\n    summary,\n    brandProfile: data.brandProfile,\n    generatedAt: data.generatedAt,\n    processedAt: new Date().toISOString(),\n    requestId: data.metadata.requestId\n  }\n};"},"typeVersion":2},{"id":"b899050a-fddd-4bc1-9314-baab9da66c45","name":"Log Ideas to Google Sheets","type":"n8n-nodes-base.googleSheets","position":[2864,400],"parameters":{"columns":{"value":{},"schema":[],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"id","value":"=hhyy64rfyy654"},"documentId":{"__rl":true,"mode":"id","value":"=hhyy64rfyy654"}},"credentials":{"googleSheetsOAuth2Api":{"id":"sldw2qK7iVusK0rY","name":"Google Sheets account"}},"typeVersion":4.5,"continueOnFail":true},{"id":"6c28d6f8-7ee4-4110-9e5f-816def22d99e","name":"Format Final Response","type":"n8n-nodes-base.code","position":[3104,400],"parameters":{"jsCode":"// Aggregate all processed ideas from all trends\nconst allResults = $input.all().map(item => item.json);\n\n// Create comprehensive response\nconst response = {\n  success: true,\n  message: `Generated ${allResults.reduce((sum, r) => sum + r.contentIdeas.length, 0)} content ideas from ${allResults.length} trending topics`,\n  trends: allResults.map(result => ({\n    topic: result.trendTopic,\n    score: result.trendScore,\n    source: result.trendSource,\n    context: result.trendContext,\n    timingSensitivity: result.timingSensitivity,\n    ideasCount: result.contentIdeas.length,\n    ideas: result.contentIdeas\n  })),\n  summary: {\n    totalTrends: allResults.length,\n    totalIdeas: allResults.reduce((sum, r) => sum + r.contentIdeas.length, 0),\n    platformsTargeted: [...new Set(allResults.flatMap(r => r.contentIdeas.map(i => i.platform)))],\n    urgentPosts: allResults.reduce((sum, r) => \n      sum + r.contentIdeas.filter(i => i.timing.urgency.includes('URGENT')).length, 0\n    ),\n    nextPostingWindow: allResults[0]?.summary?.nextPostingWindow,\n    generatedAt: allResults[0]?.generatedAt,\n    requestId: allResults[0]?.requestId\n  },\n  recommendations: [\n    \"Review all ideas and select the ones that best match your brand voice\",\n    \"Schedule urgent posts within 24-48 hours to capitalize on trend momentum\",\n    \"Customize captions to add your unique brand personality\",\n    \"Create or commission visuals based on the provided concepts\",\n    \"Track performance and log results back to this system for better future recommendations\"\n  ]\n};\n\nreturn [{ json: response }];"},"typeVersion":2},{"id":"5459c306-5b82-4274-8088-fd3dd847b710","name":"Send Response to Webhook","type":"n8n-nodes-base.respondToWebhook","position":[3344,400],"parameters":{"options":{"responseHeaders":{"entries":[{"name":"Content-Type","value":"application/json"}]}},"respondWith":"json","responseBody":"={{ JSON.stringify($json, null, 2) }}"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"aad62668-4b3d-4de9-bfb3-49d413199552","connections":{"Claude AI Model":{"ai_languageModel":[[{"node":"Generate Content Ideas with Claude AI","type":"ai_languageModel","index":0}]]},"Fetch Google Trends":{"main":[[{"node":"Merge All Trend Sources","type":"main","index":1}]]},"Format Final Response":{"main":[[{"node":"Send Response to Webhook","type":"main","index":0}]]},"Parse Claude Response":{"main":[[{"node":"Wait Before Timing Analysis","type":"main","index":0}]]},"Receive Trend Request":{"main":[[{"node":"Validate Config & Build Parameters","type":"main","index":0}]]},"Fetch Reddit Hot Topics":{"main":[[{"node":"Merge All Trend Sources","type":"main","index":1}]]},"Merge All Trend Sources":{"main":[[{"node":"Wait for Trend Aggregation","type":"main","index":0}]]},"Log Ideas to Google Sheets":{"main":[[{"node":"Format Final Response","type":"main","index":0}]]},"Wait for Trend Aggregation":{"main":[[{"node":"Parse & Filter Trending Topics","type":"main","index":0}]]},"Wait Before Timing Analysis":{"main":[[{"node":"Calculate Optimal Posting Times","type":"main","index":0}]]},"Fetch Twitter Trending Topics":{"main":[[{"node":"Merge All Trend Sources","type":"main","index":0}]]},"Parse & Filter Trending Topics":{"main":[[{"node":"Generate Content Ideas with Claude AI","type":"main","index":0}]]},"Calculate Optimal Posting Times":{"main":[[{"node":"Log Ideas to Google Sheets","type":"main","index":0}]]},"Validate Config & Build Parameters":{"main":[[{"node":"Fetch Twitter Trending Topics","type":"main","index":0},{"node":"Fetch Reddit Hot Topics","type":"main","index":0},{"node":"Fetch Google Trends","type":"main","index":0}]]},"Generate Content Ideas with Claude AI":{"main":[[{"node":"Parse Claude Response","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":21,"nodeTypes":{"n8n-nodes-base.code":{"count":5},"n8n-nodes-base.wait":{"count":2},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.httpRequest":{"count":3},"n8n-nodes-base.googleSheets":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":1},"n8n-nodes-base.respondToWebhook":{"count":1},"@n8n/n8n-nodes-langchain.lmChatAnthropic":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Oneclick AI Squad","username":"oneclick-ai","bio":"The AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations  from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.","verified":true,"links":["https://www.oneclickitsolution.com/"],"avatar":"https://gravatar.com/avatar/848fca91367142f65f9e5c55d64e5c9952b160d7b060d103b52aa343c6bc7b3d?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":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":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":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"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.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"nodeCategories":[{"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"}]},{"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":1145,"icon":"file:anthropic.svg","name":"@n8n/n8n-nodes-langchain.lmChatAnthropic","codex":{"data":{"alias":["claude","sonnet","opus"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatanthropic/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Anthropic Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzdEN0Q4NyIgZD0iTTMyLjczIDBoLTYuOTQ1TDM4LjQ1IDMyaDYuOTQ1ek0xMi42NjUgMCAwIDMyaDcuMDgybDIuNTktNi43MmgxMy4yNWwyLjU5IDYuNzJoNy4wODJMMTkuOTI5IDB6bS0uNzAyIDE5LjMzNyA0LjMzNC0xMS4yNDYgNC4zMzQgMTEuMjQ2eiIvPjwvc3ZnPg=="},"displayName":"Anthropic Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":31,"name":"Content Creation"},{"id":51,"name":"Multimodal AI"}],"image":[]}}