{"workflow":{"id":13648,"name":"Generate social media posts with GPT-4 for LinkedIn, X, and Facebook","views":368,"recentViews":2,"totalViews":368,"createdAt":"2026-02-24T09:26:00.807Z","description":"Automatically generates engaging marketing posts using OpenAI and publishes them across LinkedIn, Twitter (X), and Facebook. Creates platform-optimized content with hashtags, emojis, and proper formatting.\n\n## How it works\n\n1. **Trigger** — Runs daily at 10 AM or manual trigger for on-demand content\n2. **Generate** — Creates tailored marketing content using OpenAI GPT-4 based on topic/theme\n3. **Optimize** — Customizes content for each platform (character limits, hashtags, tone)\n4. **Review** — Optional human approval gate before publishing\n5. **Publish** — Auto-posts to LinkedIn, Twitter, and Facebook simultaneously\n6. **Track** — Logs all posts to database for analytics and content history\n7. **Notify** — Sends confirmation to Slack with links to published posts\n\n## Setup steps\n\n1. **OpenAI API** — Add your OpenAI API key in credentials\n2. **Social Media APIs** — Configure LinkedIn, Twitter (X), and Facebook credentials\n3. **PostgreSQL** — Create `social_posts` table to store post history\n4. **Slack** — Add webhook URL for notifications\n5. **Content Topics** — Customize the topic list in the initial node\n6. **Approval** (Optional) — Enable/disable manual review gate\n7. **Test** — Run manually first, then activate for daily automation\n\n## What It Does:\n\n1. Randomly selects content topics and types for variety\n2. Generates engaging posts using OpenAI\n3. Optimizes content for each platform (character limits, hashtags, tone)\n4. Publishes simultaneously to all three platforms\n5. Stores complete records in database\n6. Sends confirmation notifications to Slack\n\n\n\n","workflow":{"id":"Dr4ufJMCSwMI3yZJ","meta":{"instanceId":"dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281","templateCredsSetupCompleted":true},"name":"AI Social Media Content Generator","tags":[],"nodes":[{"id":"d4a6b0a9-9d75-4420-a752-2c970539dca8","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-2128,48],"parameters":{"width":820,"height":720,"content":"## AI Social Media Content Generator\n\nAutomatically generates engaging marketing posts using OpenAI and publishes them across LinkedIn, Twitter (X), and Facebook. Creates platform-optimized content with hashtags, emojis, and proper formatting.\n\n## How it works\n\n1. **Trigger** — Runs daily at 10 AM or manual trigger for on-demand content\n2. **Generate** — Creates tailored marketing content using OpenAI GPT-4 based on topic/theme\n3. **Optimize** — Customizes content for each platform (character limits, hashtags, tone)\n4. **Review** — Optional human approval gate before publishing\n5. **Publish** — Auto-posts to LinkedIn, Twitter, and Facebook simultaneously\n6. **Track** — Logs all posts to database for analytics and content history\n7. **Notify** — Sends confirmation to Slack with links to published posts\n\n## Setup steps\n\n1. **OpenAI API** — Add your OpenAI API key in credentials\n2. **Social Media APIs** — Configure LinkedIn, Twitter (X), and Facebook credentials\n3. **PostgreSQL** — Create `social_posts` table to store post history\n4. **Slack** — Add webhook URL for notifications\n5. **Content Topics** — Customize the topic list in the initial node\n6. **Approval** (Optional) — Enable/disable manual review gate\n7. **Test** — Run manually first, then activate for daily automation"},"typeVersion":1},{"id":"1fd10534-b70f-42ac-8f66-3610eb9ae0ad","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-1200,256],"parameters":{"color":4,"width":468,"height":465,"content":"## 1. Trigger content generation\n\nRuns daily at 10 AM or can be triggered manually for on-demand content creation"},"typeVersion":1},{"id":"b797c0cb-a919-4ba4-959e-07214e9b27e9","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-704,256],"parameters":{"color":5,"width":668,"height":465,"content":"## 2. Generate & optimize content\n\nUses OpenAI to create engaging posts and optimizes for each platform's requirements"},"typeVersion":1},{"id":"c489aaea-efbe-465c-ba47-8ac4f49c970b","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[0,0],"parameters":{"color":4,"width":636,"height":905,"content":"## 3. Publish to platforms\n\nPosts content to LinkedIn, Twitter, and Facebook with platform-specific formatting"},"typeVersion":1},{"id":"0c721a5a-2f20-4f18-9a89-1d85ef34e1a1","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[688,144],"parameters":{"color":5,"width":960,"height":601,"content":"## 4. Track & notify\n\nStores post data in database and sends confirmation notifications to team via Slack"},"typeVersion":1},{"id":"36d9fe76-7799-456c-a6a2-8dc45b4743cc","name":"Daily content generation at 10 AM","type":"n8n-nodes-base.scheduleTrigger","position":[-1088,448],"parameters":{"rule":{"interval":[{"field":"cronExpression","expression":"0 10 * * *"}]}},"typeVersion":1.2},{"id":"a18aba08-7b8a-4c1e-9133-175880c69c5b","name":"Select content topic and type","type":"n8n-nodes-base.code","position":[-864,448],"parameters":{"jsCode":"// Select random topic and content type for variety\nconst topics = [\n  { category: 'Product Launch', focus: 'announcing new features', tone: 'excited' },\n  { category: 'Industry Insights', focus: 'latest trends and analysis', tone: 'professional' },\n  { category: 'Customer Success', focus: 'testimonials and case studies', tone: 'inspiring' },\n  { category: 'Tips & How-To', focus: 'practical advice and tutorials', tone: 'helpful' },\n  { category: 'Company Culture', focus: 'behind-the-scenes and team highlights', tone: 'friendly' },\n  { category: 'Thought Leadership', focus: 'industry opinions and insights', tone: 'authoritative' },\n  { category: 'Events & Webinars', focus: 'upcoming events and recordings', tone: 'inviting' },\n  { category: 'Industry News', focus: 'recent developments and commentary', tone: 'informative' }\n];\n\nconst contentTypes = ['Educational', 'Promotional', 'Engagement', 'Storytelling'];\n\n// Select random topic\nconst selectedTopic = topics[Math.floor(Math.random() * topics.length)];\nconst selectedType = contentTypes[Math.floor(Math.random() * contentTypes.length)];\n\nconst timestamp = new Date().toISOString();\nconst dateString = new Date().toLocaleDateString('en-US', { \n  year: 'numeric', \n  month: 'long', \n  day: 'numeric' \n});\n\n// Generate unique post ID\nconst postId = `POST-${new Date().getFullYear()}-${String(new Date().getMonth() + 1).padStart(2, '0')}-${String(new Date().getDate()).padStart(2, '0')}-${Math.floor(Math.random() * 10000)}`;\n\nreturn [\n  {\n    json: {\n      postId,\n      timestamp,\n      dateString,\n      topic: selectedTopic,\n      contentType: selectedType,\n      category: selectedTopic.category,\n      focus: selectedTopic.focus,\n      tone: selectedTopic.tone\n    }\n  }\n];"},"typeVersion":2},{"id":"ac0ff0cc-779e-4d85-8bb5-1c14c482d561","name":"Generate content with OpenAI GPT-4","type":"n8n-nodes-base.httpRequest","position":[-640,448],"parameters":{"url":"https://api.openai.com/v1/chat/completions","method":"POST","options":{},"sendBody":true,"sendHeaders":true,"authentication":"predefinedCredentialType","bodyParameters":{"parameters":[{"name":"model","value":"gpt-4"},{"name":"messages","value":"={{ [{\"role\": \"system\", \"content\": \"You are a social media marketing expert who creates engaging, platform-optimized content. Generate posts that drive engagement and conversions.\"}, {\"role\": \"user\", \"content\": \"Create a \" + $json.contentType + \" social media post about \" + $json.category + \" focusing on \" + $json.focus + \". Tone should be \" + $json.tone + \". Include a compelling hook, key message, call-to-action, and relevant hashtags. Keep it under 200 words.\"}] }}"},{"name":"temperature","value":"0.8"},{"name":"max_tokens","value":"500"}]},"headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"openAiApi"},"credentials":{"openAiApi":{"id":"CDQ16eImh6D4tY15","name":"OpenAi account 2 - test"}},"typeVersion":4.2},{"id":"a8a9b912-7470-41a2-b06a-48111ff94f24","name":"Parse AI response and extract content","type":"n8n-nodes-base.code","position":[-416,448],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Extract generated content from OpenAI response\nconst data = $input.item.json;\nconst inputData = $input.first().json;\n\nconst aiContent = data.choices?.[0]?.message?.content || 'Failed to generate content';\n\n// Parse the generated content\nconst lines = aiContent.split('\\n').filter(line => line.trim());\nconst baseContent = aiContent;\n\n// Extract hashtags if present\nconst hashtagRegex = /#\\w+/g;\nconst hashtags = aiContent.match(hashtagRegex) || [];\n\n// Remove hashtags from base content for cleaner text\nconst contentWithoutHashtags = aiContent.replace(hashtagRegex, '').trim();\n\nreturn {\n  json: {\n    ...inputData,\n    aiGeneratedContent: baseContent,\n    contentWithoutHashtags,\n    extractedHashtags: hashtags,\n    wordCount: baseContent.split(/\\s+/).length,\n    hasHashtags: hashtags.length > 0\n  }\n};"},"typeVersion":2},{"id":"7b8a73da-86cf-4d8c-82dd-53fdb8d0c4e2","name":"Optimize content for each platform","type":"n8n-nodes-base.code","position":[-192,448],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Create platform-specific versions of the content\nconst data = $input.item.json;\nconst baseContent = data.contentWithoutHashtags;\nconst hashtags = data.extractedHashtags || [];\n\n// --- LINKEDIN VERSION ---\n// LinkedIn allows 3000 chars but optimal is 150-250 words\n// Professional tone, less emojis\nlet linkedinContent = baseContent;\nif (linkedinContent.length > 1200) {\n  linkedinContent = linkedinContent.substring(0, 1200) + '...';\n}\nlinkedinContent += '\\n\\n' + hashtags.slice(0, 5).join(' ');\n\n// --- TWITTER/X VERSION ---\n// Twitter has 280 character limit\n// Need to be concise, use more hashtags\nlet twitterContent = baseContent;\nif (twitterContent.length > 220) {\n  // Find first sentence or cut at 220 chars\n  const firstSentence = twitterContent.match(/^[^.!?]+[.!?]/);\n  if (firstSentence && firstSentence[0].length < 220) {\n    twitterContent = firstSentence[0];\n  } else {\n    twitterContent = twitterContent.substring(0, 220) + '...';\n  }\n}\n// Add hashtags (leave room for them)\nconst hashtagString = hashtags.slice(0, 3).join(' ');\nif (twitterContent.length + hashtagString.length + 3 <= 280) {\n  twitterContent += '\\n\\n' + hashtagString;\n}\n\n// --- FACEBOOK VERSION ---\n// Facebook optimal is 40-80 characters for max engagement\n// But can be longer (63,206 limit). We'll go for ~300 words max\nlet facebookContent = baseContent;\nif (facebookContent.length > 1500) {\n  facebookContent = facebookContent.substring(0, 1500) + '...';\n}\n// Facebook uses hashtags but they're less important\nfacebookContent += '\\n\\n' + hashtags.slice(0, 5).join(' ');\n\n// Add emoji enhancement for Facebook (more casual)\nconst emojiMap = {\n  'excited': '🚀 ',\n  'professional': '💼 ',\n  'inspiring': '⭐ ',\n  'helpful': '💡 ',\n  'friendly': '😊 ',\n  'authoritative': '🎯 ',\n  'inviting': '🎉 ',\n  'informative': '📊 '\n};\n\nconst emoji = emojiMap[data.tone] || '✨ ';\nfacebookContent = emoji + facebookContent;\n\nreturn {\n  json: {\n    ...data,\n    platforms: {\n      linkedin: {\n        content: linkedinContent,\n        platform: 'LinkedIn',\n        characterCount: linkedinContent.length,\n        hashtagCount: hashtags.slice(0, 5).length\n      },\n      twitter: {\n        content: twitterContent,\n        platform: 'Twitter/X',\n        characterCount: twitterContent.length,\n        hashtagCount: hashtags.slice(0, 3).length,\n        withinLimit: twitterContent.length <= 280\n      },\n      facebook: {\n        content: facebookContent,\n        platform: 'Facebook',\n        characterCount: facebookContent.length,\n        hashtagCount: hashtags.slice(0, 5).length,\n        hasEmoji: true\n      }\n    },\n    totalHashtags: hashtags.length,\n    platformCount: 3\n  }\n};"},"typeVersion":2},{"id":"1d0d4b10-be95-404b-86bc-c6372dc49bfd","name":"Split content for each platform","type":"n8n-nodes-base.splitOut","position":[32,448],"parameters":{"options":{},"fieldToSplitOut":"="},"typeVersion":1},{"id":"ad974eaa-30b9-4c41-bc43-12d0cc05adae","name":"Route to appropriate platform","type":"n8n-nodes-base.switch","position":[256,432],"parameters":{"rules":{"values":[{"outputKey":"LinkedIn","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.platform }}","rightValue":"LinkedIn"}]},"renameOutput":true},{"outputKey":"Twitter","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.platform }}","rightValue":"Twitter/X"}]},"renameOutput":true},{"outputKey":"Facebook","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.platform }}","rightValue":"Facebook"}]},"renameOutput":true}]},"options":{}},"typeVersion":3},{"id":"034ef4da-8e8e-46e5-86cf-e2ed05d1967e","name":"Post to LinkedIn","type":"n8n-nodes-base.httpRequest","position":[480,160],"parameters":{"url":"https://api.linkedin.com/v2/ugcPosts","method":"POST","options":{},"sendBody":true,"sendHeaders":true,"authentication":"predefinedCredentialType","bodyParameters":{"parameters":[{"name":"author","value":"={{ \"urn:li:person:YOUR_LINKEDIN_ID\" }}"},{"name":"lifecycleState","value":"PUBLISHED"},{"name":"specificContent","value":"={{ {\"com.linkedin.ugc.ShareContent\": {\"shareCommentary\": {\"text\": $json.content}, \"shareMediaCategory\": \"NONE\"}} }}"},{"name":"visibility","value":"={{ {\"com.linkedin.ugc.MemberNetworkVisibility\": \"PUBLIC\"} }}"}]},"headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"},{"name":"X-Restli-Protocol-Version","value":"2.0.0"}]},"nodeCredentialType":"linkedInOAuth2Api"},"credentials":{"linkedInOAuth2Api":{"id":"4vcL53DmBFKE4NkT","name":"LinkedIn account - test"}},"typeVersion":4.2},{"id":"58b1fc79-70dc-4f66-ae13-2beb87b23926","name":"Post to Twitter/X","type":"n8n-nodes-base.httpRequest","position":[480,352],"parameters":{"url":"https://api.twitter.com/2/tweets","method":"POST","options":{},"sendBody":true,"sendHeaders":true,"authentication":"predefinedCredentialType","bodyParameters":{"parameters":[{"name":"text","value":"={{ $json.content }}"}]},"headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"twitterOAuth2Api"},"credentials":{"twitterOAuth2Api":{"id":"jOpaiZxhSgCLb8Uv","name":"X account - test"}},"typeVersion":4.2},{"id":"2bd704dc-22d4-4bdc-ba20-657239f191fb","name":"Post to Facebook","type":"n8n-nodes-base.httpRequest","position":[480,544],"parameters":{"url":"https://graph.facebook.com/v18.0/me/feed","method":"POST","options":{},"sendBody":true,"sendHeaders":true,"authentication":"predefinedCredentialType","bodyParameters":{"parameters":[{"name":"message","value":"={{ $json.content }}"}]},"headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"facebookGraphApi"},"credentials":{"facebookGraphApi":{"id":"WXuPxi3wlOQD9Bf6","name":"Facebook Graph account - test "}},"typeVersion":4.2},{"id":"17480ec1-6390-49a2-90e0-dd9bbff19fe4","name":"Aggregate all platform results","type":"n8n-nodes-base.aggregate","position":[704,352],"parameters":{"options":{},"aggregate":"aggregateAllItemData"},"typeVersion":1},{"id":"f3795911-062c-4e77-bd21-98c05d5b4221","name":"Prepare database record","type":"n8n-nodes-base.code","position":[928,352],"parameters":{"jsCode":"// Prepare consolidated record for database storage\nconst items = $input.all();\nconst firstItem = items[0].json;\n\nconst timestamp = new Date().toISOString();\n\n// Extract platform results\nconst platformResults = {};\nconst postLinks = {};\n\nitems.forEach(item => {\n  const platform = item.json.platform;\n  const responseData = item.json;\n  \n  platformResults[platform] = {\n    success: responseData.id || responseData.data?.id ? true : false,\n    postId: responseData.id || responseData.data?.id || null,\n    characterCount: item.json.characterCount || 0\n  };\n  \n  // Build post links (platform-specific)\n  if (platform === 'LinkedIn' && responseData.id) {\n    postLinks[platform] = `https://www.linkedin.com/feed/update/${responseData.id}`;\n  } else if (platform === 'Twitter/X' && responseData.data?.id) {\n    postLinks[platform] = `https://twitter.com/user/status/${responseData.data.id}`;\n  } else if (platform === 'Facebook' && responseData.id) {\n    postLinks[platform] = `https://www.facebook.com/${responseData.id}`;\n  }\n});\n\nconst allSuccessful = Object.values(platformResults).every(r => r.success);\nconst successCount = Object.values(platformResults).filter(r => r.success).length;\n\nreturn [\n  {\n    json: {\n      postId: firstItem.postId,\n      timestamp,\n      category: firstItem.category,\n      contentType: firstItem.contentType,\n      tone: firstItem.tone,\n      focus: firstItem.focus,\n      baseContent: firstItem.aiGeneratedContent,\n      linkedinContent: firstItem.platforms?.linkedin?.content || '',\n      twitterContent: firstItem.platforms?.twitter?.content || '',\n      facebookContent: firstItem.platforms?.facebook?.content || '',\n      totalHashtags: firstItem.totalHashtags || 0,\n      wordCount: firstItem.wordCount || 0,\n      platformResults: JSON.stringify(platformResults),\n      postLinks: JSON.stringify(postLinks),\n      allPlatformsSuccess: allSuccessful,\n      successfulPlatforms: successCount,\n      status: allSuccessful ? 'PUBLISHED' : 'PARTIAL',\n      publishedAt: timestamp\n    }\n  }\n];"},"typeVersion":2},{"id":"4dd34fc5-6e0f-4d78-b402-432c04b08836","name":"Store post record in PostgreSQL","type":"n8n-nodes-base.postgres","position":[1152,352],"parameters":{"table":"social_posts","schema":{"__rl":true,"mode":"list","value":"public"},"columns":{"value":{},"schema":[],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{}},"credentials":{"postgres":{"id":"4Y4qEFGqF2krfRHZ","name":"Postgres-test"}},"typeVersion":2.5},{"id":"1b36c38f-c288-4517-b5ef-7a037218dfd3","name":"Prepare Slack notification","type":"n8n-nodes-base.code","position":[1152,544],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Create formatted Slack notification message\nconst data = $input.item.json;\n\nconst statusEmoji = data.allPlatformsSuccess ? '✅' : '⚠️';\nconst statusText = data.allPlatformsSuccess ? 'Successfully Published' : 'Partially Published';\n\nconst postLinks = JSON.parse(data.postLinks || '{}');\n\nlet linkSection = '';\nfor (const [platform, link] of Object.entries(postLinks)) {\n  linkSection += `\\n• *${platform}:* <${link}|View Post>`;\n}\n\nif (!linkSection) {\n  linkSection = '\\n_No post links available_';\n}\n\nconst message = `${statusEmoji} *Social Media Post ${statusText}*\\n\\n` +\n  `*Post ID:* ${data.postId}\\n` +\n  `*Category:* ${data.category}\\n` +\n  `*Content Type:* ${data.contentType}\\n` +\n  `*Tone:* ${data.tone}\\n` +\n  `*Platforms:* ${data.successfulPlatforms}/3 successful\\n` +\n  `*Hashtags Used:* ${data.totalHashtags}\\n` +\n  `*Word Count:* ${data.wordCount}\\n\\n` +\n  `*Post Links:*${linkSection}\\n\\n` +\n  `*Preview:*\\n_${data.baseContent.substring(0, 150)}${data.baseContent.length > 150 ? '...' : ''}_`;\n\nreturn {\n  json: {\n    ...data,\n    slackMessage: message,\n    slackTitle: `${statusEmoji} Social Media Post ${statusText}`\n  }\n};"},"typeVersion":2},{"id":"2f08c1c1-ad8c-4331-b760-34049e7b5b3d","name":"Send confirmation to Slack","type":"n8n-nodes-base.httpRequest","position":[1376,544],"parameters":{"url":"YOUR_SLACK_WEBHOOK_URL","method":"POST","options":{},"jsonBody":"={\n  \"text\": \"{{ $json.slackTitle }}\",\n  \"blocks\": [\n    {\n      \"type\": \"section\",\n      \"text\": {\n        \"type\": \"mrkdwn\",\n        \"text\": \"{{ $json.slackMessage }}\"\n      }\n    }\n  ]\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2},{"id":"8801c163-69e4-4843-98df-c0ad31aad74f","name":"Log success and update statistics","type":"n8n-nodes-base.code","position":[1376,352],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Log successful execution and track statistics\nconst data = $input.item.json;\nconst timestamp = new Date().toISOString();\n\nconsole.log(`✅ SUCCESS: Social post ${data.postId} | Status: ${data.status} | Platforms: ${data.successfulPlatforms}/3 | Category: ${data.category} | Time: ${timestamp}`);\n\n// Update cumulative statistics\nconst stats = $getWorkflowStaticData('global').socialStats || {\n  totalPosts: 0,\n  successfulPosts: 0,\n  partialPosts: 0,\n  failedPosts: 0,\n  totalHashtags: 0,\n  platformBreakdown: {\n    linkedin: 0,\n    twitter: 0,\n    facebook: 0\n  },\n  categoryBreakdown: {},\n  lastPosted: null\n};\n\nstats.totalPosts++;\nif (data.status === 'PUBLISHED') stats.successfulPosts++;\nelse if (data.status === 'PARTIAL') stats.partialPosts++;\nelse stats.failedPosts++;\n\nstats.totalHashtags += data.totalHashtags || 0;\nstats.lastPosted = timestamp;\n\n// Update category stats\nif (!stats.categoryBreakdown[data.category]) {\n  stats.categoryBreakdown[data.category] = 0;\n}\nstats.categoryBreakdown[data.category]++;\n\n// Update platform stats from results\nconst platformResults = JSON.parse(data.platformResults || '{}');\nfor (const [platform, result] of Object.entries(platformResults)) {\n  if (result.success) {\n    const platformKey = platform.toLowerCase().replace(/\\/x$/, '');\n    if (stats.platformBreakdown[platformKey] !== undefined) {\n      stats.platformBreakdown[platformKey]++;\n    }\n  }\n}\n\n$getWorkflowStaticData('global').socialStats = stats;\n\nreturn {\n  json: {\n    success: true,\n    postId: data.postId,\n    status: data.status,\n    platformsPublished: data.successfulPlatforms,\n    category: data.category,\n    timestamp,\n    cumulativeStats: stats\n  }\n};"},"typeVersion":2}],"active":true,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"6c7f4a8a-07c3-4bec-9d09-7c25460d62da","connections":{"Post to Facebook":{"main":[[{"node":"Aggregate all platform results","type":"main","index":0}]]},"Post to LinkedIn":{"main":[[{"node":"Aggregate all platform results","type":"main","index":0}]]},"Post to Twitter/X":{"main":[[{"node":"Aggregate all platform results","type":"main","index":0}]]},"Prepare database record":{"main":[[{"node":"Store post record in PostgreSQL","type":"main","index":0},{"node":"Prepare Slack notification","type":"main","index":0}]]},"Prepare Slack notification":{"main":[[{"node":"Send confirmation to Slack","type":"main","index":0}]]},"Route to appropriate platform":{"main":[[{"node":"Post to LinkedIn","type":"main","index":0}],[{"node":"Post to Twitter/X","type":"main","index":0}],[{"node":"Post to Facebook","type":"main","index":0}]]},"Select content topic and type":{"main":[[{"node":"Generate content with OpenAI GPT-4","type":"main","index":0}]]},"Aggregate all platform results":{"main":[[{"node":"Prepare database record","type":"main","index":0}]]},"Split content for each platform":{"main":[[{"node":"Route to appropriate platform","type":"main","index":0}]]},"Store post record in PostgreSQL":{"main":[[{"node":"Log success and update statistics","type":"main","index":0}]]},"Daily content generation at 10 AM":{"main":[[{"node":"Select content topic and type","type":"main","index":0}]]},"Generate content with OpenAI GPT-4":{"main":[[{"node":"Parse AI response and extract content","type":"main","index":0}]]},"Optimize content for each platform":{"main":[[{"node":"Split content for each platform","type":"main","index":0}]]},"Parse AI response and extract content":{"main":[[{"node":"Optimize content for each platform","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":21,"nodeTypes":{"n8n-nodes-base.code":{"count":6},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.postgres":{"count":1},"n8n-nodes-base.splitOut":{"count":1},"n8n-nodes-base.aggregate":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.httpRequest":{"count":5},"n8n-nodes-base.scheduleTrigger":{"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":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":30,"icon":"file:postgres.svg","name":"n8n-nodes-base.postgres","codex":{"data":{"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-i-chose-n8n-over-zapier-in-2020/","icon":"😍","label":"Why I chose n8n over Zapier in 2020"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting 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/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"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"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/postgres/"}]},"categories":["Development","Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Postgres"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNzkgODEiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwMCIgZD0iTTc3LjM5MSA0Ny45MjJjLS40NjYtMS40MTItMS42ODgtMi4zOTYtMy4yNjgtMi42MzItLjc0NS0uMTExLTEuNTk4LS4wNjQtMi42MDguMTQ0LTEuNzYuMzYzLTMuMDY1LjUwMS00LjAxOC41MjggMy41OTYtNi4wNzIgNi41MjEtMTIuOTk3IDguMjA0LTE5LjUxNSAyLjcyMi0xMC41NCAxLjI2OC0xNS4zNDEtLjQzMi0xNy41MTNDNzAuNzcgMy4xODUgNjQuMjA2LjA5NyA1Ni4yODcuMDAyYy00LjIyNC0uMDUyLTcuOTMzLjc4Mi05Ljg2NyAxLjM4MmEzNyAzNyAwIDAgMC01Ljc3LS41MjhjLTMuODA5LS4wNjEtNy4xNzQuNzctMTAuMDUgMi40NzZhNDYgNDYgMCAwIDAtNy4wOTgtMS43ODJDMTYuNTYxLjQxMSAxMC45NjggMS4yOTkgNi44NzYgNC4xOSAxLjkyMiA3LjY4OS0uMzc1IDEzLjc3LjA1IDIyLjI2MmMuMTM1IDIuNjk2IDEuNjQzIDEwLjkgNC4wMTggMTguNjggMS4zNjUgNC40NzIgMi44MiA4LjE4NSA0LjMyNiAxMS4wMzggMi4xMzUgNC4wNDYgNC40MTkgNi40MjggNi45ODQgNy4yODQgMS40MzguNDc5IDQuMDQ5LjgxNCA2Ljc5Ny0xLjQ3M2E2IDYgMCAwIDAgMS40MjkgMS4yM2MuNzgzLjQ5NCAxLjc0Ljg5NyAyLjY5NiAxLjEzNiAzLjQ0Ni44NjIgNi42NzQuNjQ2IDkuNDI3LS41NjFsLjA0MSAxLjM2Mi4wNiAxLjg5OWMuMTYzIDQuMDY0LjQ0IDcuMjIzIDEuMjU5IDkuNDM0LjA0NS4xMjIuMTA1LjMwNy4xNjkuNTAzLjQwOSAxLjI1MSAxLjA5MiAzLjM0NiAyLjgzIDQuOTg3IDEuOCAxLjY5OSAzLjk3OCAyLjIyIDUuOTcyIDIuMjIgMSAwIDEuOTU1LS4xMzEgMi43OTItLjMxMSAyLjk4NC0uNjM5IDYuMzczLTEuNjE0IDguODI0LTUuMTA0IDIuMzE4LTMuMyAzLjQ0NC04LjI3IDMuNjQ4LTE2LjEwMWwuMDc0LS42MzQuMDQ4LS40MTQuNTQ2LjA0OC4xNDEuMDFjMy4wMzkuMTM4IDYuNzU1LS41MDYgOS4wMzctMS41NjYgMS44MDMtLjgzNyA3LjU4Mi0zLjg4OCA2LjIyMS04LjAwNyIvPjxwYXRoIGZpbGw9IiMzMzY3OTEiIGQ9Ik03Mi4xOTUgNDguNzIzYy05LjAzNiAxLjg2NC05LjY1Ny0xLjE5NS05LjY1Ny0xLjE5NSA5LjU0MS0xNC4xNTcgMTMuNTI5LTMyLjEyNyAxMC4wODctMzYuNTI1QzYzLjIzNS0uOTk0IDQ2Ljk4MSA0LjY4IDQ2LjcxIDQuODI3bC0uMDg3LjAxNmMtMS43ODUtLjM3MS0zLjc4My0uNTkxLTYuMDI5LS42MjgtNC4wODktLjA2Ny03LjE5IDEuMDcyLTkuNTQ0IDIuODU3IDAgMC0yOC45OTUtMTEuOTQ1LTI3LjY0NyAxNS4wMjMuMjg3IDUuNzM3IDguMjIzIDQzLjQxIDE3LjY4OSAzMi4wMzEgMy40Ni00LjE2MSA2LjgwMy03LjY3OSA2LjgwMy03LjY3OSAxLjY2IDEuMTAzIDMuNjQ4IDEuNjY2IDUuNzMyIDEuNDYzbC4xNjItLjEzN2E2LjMgNi4zIDAgMCAwIC4wNjUgMS42MmMtMi40MzkgMi43MjUtMS43MjIgMy4yMDMtNi41OTcgNC4yMDYtNC45MzMgMS4wMTctMi4wMzUgMi44MjYtLjE0MyAzLjI5OSAyLjI5NC41NzQgNy42IDEuMzg2IDExLjE4NS0zLjYzM2wtLjE0My41NzNjLjk1Ni43NjUgMS42MjYgNC45NzggMS41MTQgOC43OTdzLS4xODggNi40NDEuNTY1IDguNDg5IDEuNTAzIDYuNjU2IDcuOTEyIDUuMjgyYzUuMzU1LTEuMTQ4IDguMTMtNC4xMjEgOC41MTYtOS4wODEuMjc0LTMuNTI2Ljg5NC0zLjAwNS45MzMtNi4xNThsLjQ5Ny0xLjQ5M2MuNTczLTQuNzguMDkxLTYuMzIyIDMuMzktNS42MDVsLjgwMi4wN2MyLjQyOC4xMSA1LjYwNi0uMzkxIDcuNDcxLTEuMjU3IDQuMDE2LTEuODY0IDYuMzk4LTQuOTc2IDIuNDM4LTQuMTU4Ii8+PHBhdGggZD0iTTMyLjc0NyAyNC42NmMtLjgxNC0uMTEzLTEuNTUyLS4wMDgtMS45MjUuMjc0YS43LjcgMCAwIDAtLjI5Mi40N2MtLjA0Ny4zMzYuMTg4LjcwNy4zMzMuODk4LjQwOS41NDIgMS4wMDYuOTE1IDEuNTk4Ljk5N2EyIDIgMCAwIDAgLjI1Ni4wMThjLjk4NiAwIDEuODgzLS43NjggMS45NjItMS4zMzUuMDk5LS43MS0uOTMyLTEuMTgzLTEuOTMxLTEuMzIybTI2Ljk3NS4wMjJjLS4wNzgtLjU1Ni0xLjA2OC0uNzE1LTIuMDA3LS41ODRzLTEuODQ4LjU1NC0xLjc3MiAxLjExMmMuMDYxLjQzNC44NDQgMS4xNzQgMS43NzEgMS4xNzRxLjExNyAwIC4yMzctLjAxNmMuNjE5LS4wODYgMS4wNzMtLjQ3OSAxLjI4OC0uNzA1LjMyOS0uMzQ1LjUxOC0uNzMuNDg0LS45OG0xNS40NzcgMjMuODI4Yy0uMzQ1LTEuMDQyLTEuNDUzLTEuMzc3LTMuMjk2LS45OTctNS40NzEgMS4xMjktNy40My4zNDctOC4wNzMtLjEyNyA0LjI1Mi02LjQ3OCA3Ljc1LTE0LjMwOCA5LjYzNy0yMS42MTQuODk0LTMuNDYxIDEuMzg4LTYuNjc1IDEuNDI4LTkuMjk0LjA0NS0yLjg3Ni0uNDQ1LTQuOTg4LTEuNDU1LTYuMjc5LTQuMDcyLTUuMjAzLTEwLjA0OC03Ljk5NC0xNy4yODMtOC4wNy00Ljk3My0uMDU2LTkuMTc1IDEuMjE3LTkuOTkgMS41NzVhMjUgMjUgMCAwIDAtNS42MjItLjcyMmMtMy43MzQtLjA2LTYuOTYxLjgzNC05LjYzMyAyLjY1NWE0MyA0MyAwIDAgMC03LjgyOC0yLjA1MmMtNi4zNDItMS4wMjEtMTEuMzgxLS4yNDgtMTQuOTc4IDIuMy00LjI5MSAzLjA0LTYuMjcyIDguNDc1LTUuODg4IDE2LjE1Mi4xMjkgMi41ODMgMS42MDEgMTAuNTI5IDMuOTIzIDE4LjEzOSAzLjA1NyAxMC4wMTYgNi4zOCAxNS42ODYgOS44NzcgMTYuODUyYTQuNCA0LjQgMCAwIDAgMS40MDIuMjMyYzEuMjc2IDAgMi44MzktLjU3NSA0LjQ2Ni0yLjUzMWExNjEgMTYxIDAgMCAxIDYuMTU2LTYuOTY2IDkuOSA5LjkgMCAwIDAgNC40MjkgMS4xOTFsLjAxLjEyMWMtLjMxLjM2OC0uNTY0LjY5LS43ODEuOTY1LTEuMDcgMS4zNTgtMS4yOTMgMS42NDEtNC43MzggMi4zNTEtLjk4LjIwMi0zLjU4Mi43MzgtMy42MiAyLjU2My0uMDQxIDEuOTkzIDMuMDc2IDIuODMgMy40MzEgMi45MTkgMS4yMzguMzEgMi40My40NjMgMy41NjguNDYzIDIuNzY2IDAgNS4yLS45MDkgNy4xNDUtMi42NjgtLjA2IDcuMTA2LjIzNiAxNC4xMDcgMS4wODkgMTYuMjQxLjY5OSAxLjc0NiAyLjQwNiA2LjAxNCA3Ljc5OCA2LjAxNC43OTEgMCAxLjY2Mi0uMDkyIDIuNjItLjI5NyA1LjYyNy0xLjIwNyA4LjA3MS0zLjY5NCA5LjAxNi05LjE3Ny41MDYtMi45MyAxLjM3NC05LjkyOCAxLjc4Mi0xMy42ODIuODYyLjI2OSAxLjk3MS4zOTIgMy4xNy4zOTIgMi41MDEgMCA1LjM4Ny0uNTMxIDcuMTk3LTEuMzcyIDIuMDMzLS45NDQgNS43MDItMy4yNjEgNS4wMzctNS4yNzR6TTYxLjggMjMuMTQ3Yy0uMDE5IDEuMTA4LS4xNzEgMi4xMTQtLjMzMyAzLjE2NC0uMTc0IDEuMTI5LS4zNTQgMi4yOTctLjM5OSAzLjcxNS0uMDQ1IDEuMzc5LjEyOCAyLjgxNC4yOTQgNC4yLjMzNyAyLjgwMS42ODIgNS42ODUtLjY1NSA4LjUzMWExMSAxMSAwIDAgMS0uNTkyLTEuMjE4Yy0uMTY2LS40MDMtLjUyNy0xLjA1LTEuMDI3LTEuOTQ2LTEuOTQ0LTMuNDg3LTYuNDk3LTExLjY1Mi00LjE2Ny0xNC45ODQuNjk0LS45OTIgMi40NTYtMi4wMTEgNi44NzktMS40NjN6TTU2LjQzOSA0LjM3NGM2LjQ4Mi4xNDMgMTEuNjA5IDIuNTY4IDE1LjI0IDcuMjA3IDIuNzg0IDMuNTU4LS4yODIgMTkuNzQ5LTkuMTU4IDMzLjcxNmwtLjI2OS0uMzM5LS4xMTItLjE0YzIuMjk0LTMuNzg4IDEuODQ1LTcuNTM2IDEuNDQ2LTEwLjg1OS0uMTY0LTEuMzY0LS4zMTktMi42NTItLjI4LTMuODYxLjA0MS0xLjI4My4yMS0yLjM4Mi4zNzQtMy40NDYuMjAyLTEuMzExLjQwNy0yLjY2Ny4zNS00LjI2NWExLjggMS44IDAgMCAwIC4wMzctLjYwMWMtLjE0NC0xLjUzMy0xLjg5NC02LjEyLTUuNDYyLTEwLjI3My0xLjk1MS0yLjI3MS00Ljc5Ny00LjgxMy04LjY4Mi02LjUyN2EyOS4zIDI5LjMgMCAwIDEgNi41MTUtLjYxMnpNMjAuMTY3IDUzLjI5OGMtMS43OTMgMi4xNTUtMy4wMzEgMS43NDItMy40MzggMS42MDctMi42NTMtLjg4NS01LjczLTYuNDkxLTguNDQ0LTE1LjM4Mi0yLjM0OC03LjY5My0zLjcyLTE1LjQyOC0zLjgyOS0xNy41OTctLjM0My02Ljg2IDEuMzItMTEuNjQxIDQuOTQzLTE0LjIxIDUuODk2LTQuMTgxIDE1LjU4OS0xLjY3OSAxOS40ODQtLjQwOWwtLjE3LjE2M2MtNi4zOTEgNi40NTUtNi4yNCAxNy40ODMtNi4yMjQgMTguMTU3YTIyIDIyIDAgMCAwIC4wNTEgMS4xMzVjLjExIDEuODU1LjMxNSA1LjMwNy0uMjMyIDkuMjE3LS41MDggMy42MzMuNjEyIDcuMTg5IDMuMDcyIDkuNzU2cS4zODMuMzk4Ljc5NS43NWExNjQgMTY0IDAgMCAwLTYuMDA4IDYuODE0em02LjgzLTkuMTEzYy0xLjk4My0yLjA2OS0yLjg4NC00Ljk0Ny0yLjQ3MS03Ljg5Ni41NzctNC4xMy4zNjQtNy43MjcuMjUtOS42NTlsLS4wMzktLjY5NGMuOTM0LS44MjggNS4yNjEtMy4xNDYgOC4zNDYtMi40MzkgMS40MDguMzIzIDIuMjY2IDEuMjgxIDIuNjIzIDIuOTMxIDEuODQ2IDguNTM5LjI0NCAxMi4wOTgtMS4wNDMgMTQuOTU3LS4yNjUuNTg5LS41MTYgMS4xNDYtLjczIDEuNzIybC0uMTY2LjQ0NWMtLjQyIDEuMTI2LS44MTEgMi4xNzMtMS4wNTMgMy4xNjctMi4xMDgtLjAwNi00LjE1OS0uOTA3LTUuNzE4LTIuNTM0em0uMzI0IDExLjUxNmE1IDUgMCAwIDEtMS40OTQtLjY0MmMuMjcxLS4xMjguNzU0LS4zMDEgMS41OTEtLjQ3NCA0LjA1Mi0uODM0IDQuNjc4LTEuNDIzIDYuMDQ1LTMuMTU4LjMxMy0uMzk4LjY2OS0uODQ5IDEuMTYtMS4zOTguNzMzLS44MjEgMS4wNjgtLjY4MiAxLjY3Ni0uNDMuNDkzLjIwNC45NzIuODIxIDEuMTY3IDEuNTAxLjA5Mi4zMjEuMTk1LjkzLS4xNDMgMS40MDQtMi44NTUgMy45OTctNy4wMTUgMy45NDYtMTAuMDAzIDMuMTk4em0yMS4yMDcgMTkuNzM1Yy00Ljk1NyAxLjA2Mi02LjcxMy0xLjQ2Ny03Ljg2OS00LjM1OS0uNzQ3LTEuODY3LTEuMTEzLTEwLjI4NS0uODUzLTE5LjU4MmExLjEgMS4xIDAgMCAwLS4wNDgtLjM1NiA1IDUgMCAwIDAtLjEzOS0uNjU3Yy0uMzg3LTEuMzUzLTEuMzMxLTIuNDg0LTIuNDYyLTIuOTUzLS40NS0uMTg2LTEuMjc1LS41MjgtMi4yNjctLjI3NC4yMTItLjg3MS41NzgtMS44NTUuOTc2LTIuOTIxbC4xNjctLjQ0OGMuMTg4LS41MDUuNDIzLTEuMDI5LjY3My0xLjU4MyAxLjM0Ny0yLjk5MiAzLjE5Mi03LjA5MSAxLjE5LTE2LjM1LS43NS0zLjQ2OC0zLjI1NC01LjE2MS03LjA1LTQuNzY4LTIuMjc2LjIzNS00LjM1OCAxLjE1NC01LjM5NiAxLjY4cS0uMzM0LjE2OS0uNjE4LjMyOWMuMjktMy40OTQgMS4zODUtMTAuMDI0IDUuNDgxLTE0LjE1NiAyLjU3OS0yLjYwMSA2LjAxNC0zLjg4NiAxMC4xOTktMy44MTcgOC4yNDYuMTM1IDEzLjUzNCA0LjM2NyAxNi41MTggNy44OTMgMi41NzEgMy4wMzkgMy45NjQgNi4xIDQuNTIgNy43NTEtNC4xNzktLjQyNS03LjAyMi40LTguNDYzIDIuNDYtMy4xMzUgNC40ODEgMS43MTUgMTMuMTc4IDQuMDQ2IDE3LjM1OC40MjcuNzY2Ljc5NiAxLjQyOC45MTIgMS43MDkuNzU5IDEuODM5IDEuNzQyIDMuMDY3IDIuNDU5IDMuOTY0LjIyLjI3NS40MzMuNTQxLjU5Ni43NzQtMS4yNjYuMzY1LTMuNTM5IDEuMjA4LTMuMzMyIDUuNDIyLS4xNjcgMi4xMTUtMS4zNTYgMTIuMDE2LTEuOTU5IDE1LjUxNC0uNzk3IDQuNjIxLTIuNDk3IDYuMzQzLTcuMjc5IDcuMzY4em0yMC42OTMtMjMuNjhjLTEuMjk0LjYwMS0zLjQ2IDEuMDUyLTUuNTE4IDEuMTQ4LTIuMjczLjEwNy0zLjQzLS4yNTUtMy43MDItLjQ3Ny0uMTI4LTIuNjI2Ljg1LTIuOTAxIDEuODg0LTMuMTkxLjE2My0uMDQ2LjMyMS0uMDkuNDc0LS4xNDRhNCA0IDAgMCAwIC4zMTMuMjNjMS44MjcgMS4yMDYgNS4wODUgMS4zMzYgOS42ODUuMzg2bC4wNS0uMDFjLS42Mi41OC0xLjY4MiAxLjM1OS0zLjE4NyAyLjA1OHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Postgres","typeVersion":3,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":5,"name":"Development"}]},{"id":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"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/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/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/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"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":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1236,"icon":"file:aggregate.svg","name":"n8n-nodes-base.aggregate","codex":{"data":{"alias":["Aggregate","Combine","Flatten","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Aggregate"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjRkY2RDVBIiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMyIDE0OGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE0NmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJINDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTAgOTZjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxNDZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDQ0Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0wIDk2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTQ2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkg0NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik03NCA3NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDExNi4yMTdjMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMydjU2YzAgMjYuOTc4IDEwLjI3MiA1MS41NTcgMjcuMTE5IDcwLjAzOSA1LjA1NSA1LjU0NSA1LjA1NSAxNC4zNzcgMCAxOS45MjItMTYuODQ3IDE4LjQ4Mi0yNy4xMTkgNDMuMDYxLTI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMtMTQuMzI3IDMyLTMyIDMySDg2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTE2LjIxN2M0NC4xODMgMCA4MC0zNS44MTcgODAtODB2LTU2YzAtMzAuOTI4IDI1LjA3Mi01NiA1Ni01NmE1Ljc4MyA1Ljc4MyAwIDAgMCA1Ljc4My01Ljc4M3YtMzYuNDM0YTUuNzgzIDUuNzgzIDAgMCAwLTUuNzgzLTUuNzgzYy0zMC45MjggMC01Ni0yNS4wNzItNTYtNTZ2LTU2YzAtNDQuMTgzLTM1LjgxNy04MC04MC04MEg4NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNzYgMjQ0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzODhjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUxMnY1MTJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4="},"displayName":"Aggregate","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1239,"icon":"file:splitOut.svg","name":"n8n-nodes-base.splitOut","codex":{"data":{"alias":["Split","Nested","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitout/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Split Out"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjOUI2REQ1IiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQ4MCAxNDhjMC02LjYyNy01LjM3My0xMi0xMi0xMkgzMjJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxNDZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptMCA5NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDMyMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDE0NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0wIDk2YzAtNi42MjctNS4zNzMtMTItMTItMTJIMzIyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTQ2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDM4IDc2YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMydjU2YzAgMjYuOTc4LTEwLjI3MiA1MS41NTctMjcuMTE5IDcwLjAzOS01LjA1NSA1LjU0NS01LjA1NSAxNC4zNzcgMCAxOS45MjIgMTYuODQ3IDE4LjQ4MiAyNy4xMTkgNDMuMDYxIDI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMySDQyNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtNDQuMTgzIDAtODAtMzUuODE3LTgwLTgwdi01NmMwLTMwLjkyOC0yNS4wNzItNTYtNTYtNTZhNS43ODMgNS43ODMgMCAwIDEtNS43ODMtNS43ODN2LTM2LjQzNGE1Ljc4MyA1Ljc4MyAwIDAgMSA1Ljc4My01Ljc4M2MzMC45MjggMCA1Ni0yNS4wNzIgNTYtNTZ2LTU2YzAtNDQuMTgzIDM1LjgxNy04MCA4MC04MEg0MjZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzYgMjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01MTIgMEgwdjUxMmg1MTJ6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+"},"displayName":"Split Out","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":33,"name":"Social Media"},{"id":51,"name":"Multimodal AI"}],"image":[]}}