{"workflow":{"id":11110,"name":"Send personalized LinkedIn auto-reply DMs with smart resource matching","views":174,"recentViews":1,"totalViews":174,"createdAt":"2025-11-21T15:11:07.422Z","description":"This automated n8n workflow enables intelligent auto-replies to LinkedIn comments by sending personalized direct messages (DMs) with relevant resources. When users comment on your posts, the workflow monitors engagement, filters valid interactions, analyzes comment content using keyword matching, and delivers tailored responses via LinkedIn messaging. It ensures duplicate prevention, tracks all message deliveries, and maintains logs for monitoring and compliance.\n\n## Fundamental Aspects\n\n1. **Monitor posts**: Every 5 minutes, the workflow fetches your 10 most recent LinkedIn posts\n2. **Collect comments**: Retrieves all comments from each post (up to 20 per post)\n3. **Filter engagement**: Removes your own comments and tracks previously contacted users\n4. **Smart matching**: Analyzes comment text using keyword matching to determine the most relevant resource (eBook, webinar, template, tool, or checklist)\n5. **Personalize message**: Creates a custom DM with the commenter's name and selected resource\n6. **Send and track**: Delivers the message via LinkedIn and logs the interaction\n\n## Setup steps\n\n1. **Connect LinkedIn**: Add your LinkedIn OAuth2 credentials to these nodes:\n   - Fetch Recent Posts\n   - Fetch Post Comments\n   - Send DM via LinkedIn\n\n2. **Update resource URLs**: Open the \"Match Resource to Comment\" node and replace all `https://yourwebsite.com/...` URLs with your actual resource links\n\n3. **Customize message** (optional): Edit the \"Build Personalized Message\" node to adjust the DM template and tone\n\n4. **Test first**: Click \"Execute Workflow\" to test before activating. Check the execution log to verify it works correctly\n\n5. **Activate**: Once tested, toggle the workflow to \"Active\" to run automatically every 5 minutes\n\n## Technical Dependencies\n\n- **LinkedIn API**: For fetching recent posts, retrieving comments, and sending direct messages through OAuth2 authentication.\n- **n8n Platform**: For workflow orchestration, scheduled execution, conditional logic, data merging, and static data persistence.\n- **JavaScript Runtime**: For custom code execution in analysis, message generation, deduplication logic, and success logging nodes.\n- **Workflow Static Data**: For persistent storage of processed comment tracking across workflow executions without external databases.\n\n## Customization Possibilities\n\n- **Adjust Monitoring Frequency**: Change the Schedule Trigger interval from 5 minutes to hourly, daily, or based on your posting frequency to optimize resource usage.\n- **Expand Resource Categories**: Add new resource types like case studies, white papers, free trials, or consultation bookings with corresponding keywords and URLs.\n- **Enhance Keyword Matching**: Implement weighted scoring, multi-word phrase matching, or semantic similarity analysis for more accurate resource selection.\n- **Add Sentiment Analysis**: Filter comments by sentiment to prioritize enthusiastic or question-asking commenters for resource delivery.\n- **Multi-Language Support**: Detect comment language and send localized resources and message templates for global audiences.\n- **A/B Test Messages**: Create multiple message variations and randomly assign them to track which messaging performs best.\n- **Integration with CRM**: Add nodes to log commenter information in your CRM (HubSpot, Salesforce) for lead tracking and follow-up.\n- **Advanced Analytics**: Connect to Google Sheets or databases to track delivery rates, response times, and resource click-through rates over time.\n- **Rate Limit Protection**: Add conditional logic to pause workflow if daily message limits are reached to prevent LinkedIn restrictions.\n- **Post-Specific Resources**: Map different resources to specific posts based on post topic or hashtags for more contextual recommendations.\n\n**Explore More LinkedIn & Social Automation:**  \n[Contact us](https://www.oneclickitsolution.com/contact-us/) to design AI-powered lead nurturing, content engagement, and multi-platform reply workflows tailored to your growth strategy.","workflow":{"id":"wk6WjT2zWgwUiTlK","meta":{"instanceId":"dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281"},"name":"LinkedIn Auto-Reply Workflow with Smart Resource Delivery","tags":[],"nodes":[{"id":"5df2657c-0cc3-4cf8-8451-01a7a2aaa073","name":"Every 5 Minutes","type":"n8n-nodes-base.scheduleTrigger","notes":"Runs every 5 minutes to check for new LinkedIn comments","position":[-128,848],"parameters":{"rule":{"interval":[{"field":"minutes"}]}},"notesInFlow":true,"typeVersion":1.2},{"id":"c15f846b-5b11-4e74-ab8f-09c2884ca023","name":"Fetch Recent Posts","type":"n8n-nodes-base.linkedIn","notes":"Gets your 10 most recent LinkedIn posts","position":[96,848],"parameters":{"operation":"getAll","authentication":"oAuth2"},"notesInFlow":true,"typeVersion":1},{"id":"5a0de7f6-4adb-403d-9968-3929f0a7c089","name":"Fetch Post Comments","type":"n8n-nodes-base.linkedIn","notes":"Retrieves all comments from each post (up to 20 per post)","position":[320,848],"parameters":{"resource":"comment","authentication":"oAuth2"},"notesInFlow":true,"typeVersion":1},{"id":"90fd1e95-4801-4c06-ad00-7c11eac13099","name":"Remove Own Comments","type":"n8n-nodes-base.filter","notes":"Filters out your own comments to prevent self-messaging","position":[544,848],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"3c4d5e6f-7g8h-9i0j-1k2l-m3n4o5p6q7r8","operator":{"type":"string","operation":"notEquals"},"leftValue":"={{ $json.author.id }}","rightValue":"={{ $('Fetch Recent Posts').item.json.author.id }}"}]}},"notesInFlow":true,"typeVersion":2},{"id":"adeb662f-0e35-450e-8212-9afa27386fca","name":"Combine Comment and Post","type":"n8n-nodes-base.merge","notes":"Merges comment data with original post context","position":[768,848],"parameters":{"mode":"combine","options":{}},"notesInFlow":true,"typeVersion":3},{"id":"1eb2db53-0361-4847-8f89-2499aa679ad9","name":"Track Processed Comments","type":"n8n-nodes-base.code","notes":"Prevents duplicate messages using workflow static data","position":[992,848],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Check if we've already sent a DM to this commenter on this post\nconst commentId = $input.item.json.id;\nconst authorId = $input.item.json.author.id;\nconst postId = $input.item.json.postId || 'unknown';\n\n// Create a unique key for this comment\nconst uniqueKey = `${postId}_${authorId}_${commentId}`;\n\n// Use workflow static data to store processed comments\nconst processedComments = $getWorkflowStaticData('global').processedComments || {};\n\nif (processedComments[uniqueKey]) {\n  // Already processed this comment\n  return { json: { skip: true, reason: 'Already processed' } };\n}\n\n// Mark as processed\nprocessedComments[uniqueKey] = {\n  timestamp: new Date().toISOString(),\n  processed: true\n};\n\n// Clean up old entries (older than 30 days)\nconst thirtyDaysAgo = Date.now() - (30 * 24 * 60 * 60 * 1000);\nfor (const key in processedComments) {\n  const entryTime = new Date(processedComments[key].timestamp).getTime();\n  if (entryTime < thirtyDaysAgo) {\n    delete processedComments[key];\n  }\n}\n\n// Save back to static data\n$getWorkflowStaticData('global').processedComments = processedComments;\n\nreturn { \n  json: { \n    skip: false, \n    ...($input.item.json),\n    uniqueKey \n  } \n};"},"notesInFlow":true,"typeVersion":2},{"id":"44a95a29-09f7-4b89-8b53-405ca6e501f0","name":"Rate Limit Delay","type":"n8n-nodes-base.wait","notes":"Adds delay to avoid LinkedIn rate limits","position":[1200,848],"webhookId":"457aed2f-ce83-439c-ac62-ed1d69c68436","parameters":{"amount":2},"notesInFlow":true,"typeVersion":1.1},{"id":"c0b81984-43fb-4d57-b981-a93d12ba1648","name":"Only New Comments","type":"n8n-nodes-base.filter","notes":"Filters to unprocessed comments only","position":[1424,848],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"7g8h9i0j-1k2l-3m4n-5o6p-q7r8s9t0u1v2","operator":{"type":"boolean","operation":"equals"},"leftValue":"={{ $json.skip }}","rightValue":"false"}]}},"notesInFlow":true,"typeVersion":2},{"id":"a9acec03-c9c4-4d22-bc8d-68c9a1a9fa0d","name":"Match Resource to Comment","type":"n8n-nodes-base.code","notes":"Analyzes comment content and selects most relevant resource","position":[1648,848],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Analyze comment to determine relevant resource\nconst commentText = ($input.item.json.text || '').toLowerCase();\nconst postText = ($input.item.json.postText || '').toLowerCase();\n\n// Keywords for different resource categories\nconst resourceMap = {\n  'ebook': {\n    keywords: ['learn', 'guide', 'tutorial', 'how to', 'beginner', 'start', 'ebook', 'book', 'read'],\n    resource: {\n      title: '📚 Free eBook: Complete Guide to LinkedIn Marketing',\n      url: 'https://yourwebsite.com/linkedin-marketing-ebook',\n      description: 'A comprehensive guide covering everything from profile optimization to content strategy.'\n    }\n  },\n  'webinar': {\n    keywords: ['watch', 'video', 'webinar', 'training', 'course', 'learn more', 'session'],\n    resource: {\n      title: '🎥 Free Webinar: Advanced LinkedIn Strategies',\n      url: 'https://yourwebsite.com/webinar-registration',\n      description: 'Join our live webinar to learn advanced tactics from industry experts.'\n    }\n  },\n  'template': {\n    keywords: ['template', 'example', 'sample', 'format', 'structure', 'framework'],\n    resource: {\n      title: '📋 Free Templates: LinkedIn Content Calendar',\n      url: 'https://yourwebsite.com/content-templates',\n      description: 'Download our proven templates to plan and organize your LinkedIn content.'\n    }\n  },\n  'tool': {\n    keywords: ['tool', 'software', 'app', 'automate', 'automation', 'schedule', 'analytics'],\n    resource: {\n      title: '🛠️ Free Tool: LinkedIn Analytics Dashboard',\n      url: 'https://yourwebsite.com/analytics-tool',\n      description: 'Track your LinkedIn performance with our free analytics dashboard.'\n    }\n  },\n  'checklist': {\n    keywords: ['checklist', 'steps', 'process', 'list', 'tips', 'best practices'],\n    resource: {\n      title: '✅ Free Checklist: LinkedIn Profile Optimization',\n      url: 'https://yourwebsite.com/profile-checklist',\n      description: 'A step-by-step checklist to optimize your LinkedIn profile for maximum visibility.'\n    }\n  }\n};\n\n// Determine which resource to send\nlet selectedResource = null;\nlet maxMatches = 0;\n\nfor (const [category, data] of Object.entries(resourceMap)) {\n  let matches = 0;\n  for (const keyword of data.keywords) {\n    if (commentText.includes(keyword) || postText.includes(keyword)) {\n      matches++;\n    }\n  }\n  \n  if (matches > maxMatches) {\n    maxMatches = matches;\n    selectedResource = data.resource;\n  }\n}\n\n// Default resource if no specific match\nif (!selectedResource) {\n  selectedResource = {\n    title: '🎁 Free Resource Pack: LinkedIn Success Bundle',\n    url: 'https://yourwebsite.com/linkedin-bundle',\n    description: 'Get access to our complete resource pack including guides, templates, and tools.'\n  };\n}\n\nreturn {\n  json: {\n    ...($input.item.json),\n    selectedResource,\n    commenterName: $input.item.json.author?.firstName || 'there'\n  }\n};"},"notesInFlow":true,"typeVersion":2},{"id":"fd16c4dd-d8e4-404e-8471-db0442b4f0f9","name":"Build Personalized Message","type":"n8n-nodes-base.code","notes":"Generates personalized DM with commenter's name and resource","position":[1872,848],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Create personalized message\nconst commenterName = $input.item.json.commenterName;\nconst resource = $input.item.json.selectedResource;\n\nconst message = `Hi ${commenterName}! 👋\n\nThank you so much for engaging with my post! I really appreciate your comment.\n\nI thought you might find this helpful:\n\n${resource.title}\n${resource.description}\n\n🔗 Access it here: ${resource.url}\n\nFeel free to reach out if you have any questions. Happy to help! 🚀\n\nBest regards`;\n\nreturn {\n  json: {\n    ...($input.item.json),\n    messageToSend: message\n  }\n};"},"notesInFlow":true,"typeVersion":2},{"id":"836850e7-067a-4863-8949-63686fde80b8","name":"Send DM via LinkedIn","type":"n8n-nodes-base.linkedIn","notes":"Delivers the direct message to the commenter","position":[2160,848],"parameters":{"resource":"message","authentication":"oAuth2"},"notesInFlow":true,"typeVersion":1},{"id":"aabec416-e03f-43a6-a3a6-d258280ee933","name":"Log Delivery Status","type":"n8n-nodes-base.code","notes":"Records successful message delivery for tracking","position":[2384,848],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Log successful send\nconst timestamp = new Date().toISOString();\nconst commenterName = $input.item.json.commenterName;\nconst resourceTitle = $input.item.json.selectedResource.title;\n\nconsole.log(`✅ SUCCESS: Sent resource \"${resourceTitle}\" to ${commenterName} at ${timestamp}`);\n\nreturn {\n  json: {\n    success: true,\n    timestamp,\n    commenterName,\n    resourceSent: resourceTitle,\n    commentId: $input.item.json.id\n  }\n};"},"notesInFlow":true,"typeVersion":2},{"id":"94582886-f0ba-41ac-8682-b701e3df87d5","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-928,464],"parameters":{"width":636,"height":776,"content":"## Auto-reply to LinkedIn comments with personalized resources\n\nThis workflow monitors your LinkedIn posts for new comments and automatically sends personalized direct messages with relevant resources to commenters.\n\n## How it works\n\n1. **Monitor posts**: Every 5 minutes, the workflow fetches your 10 most recent LinkedIn posts\n2. **Collect comments**: Retrieves all comments from each post (up to 20 per post)\n3. **Filter engagement**: Removes your own comments and tracks previously contacted users\n4. **Smart matching**: Analyzes comment text using keyword matching to determine the most relevant resource (eBook, webinar, template, tool, or checklist)\n5. **Personalize message**: Creates a custom DM with the commenter's name and selected resource\n6. **Send and track**: Delivers the message via LinkedIn and logs the interaction\n\n## Setup steps\n\n1. **Connect LinkedIn**: Add your LinkedIn OAuth2 credentials to these nodes:\n   - Fetch Recent Posts\n   - Fetch Post Comments\n   - Send DM via LinkedIn\n\n2. **Update resource URLs**: Open the \"Match Resource to Comment\" node and replace all `https://yourwebsite.com/...` URLs with your actual resource links\n\n3. **Customize message** (optional): Edit the \"Build Personalized Message\" node to adjust the DM template and tone\n\n4. **Test first**: Click \"Execute Workflow\" to test before activating. Check the execution log to verify it works correctly\n\n5. **Activate**: Once tested, toggle the workflow to \"Active\" to run automatically every 5 minutes\n\n"},"typeVersion":1},{"id":"1c508416-773c-4c8f-9922-f3f7daa46745","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-176,688],"parameters":{"color":6,"width":640,"height":336,"content":"## 📥 Data Collection"},"typeVersion":1},{"id":"e86e64a1-c3d7-4467-b08e-dbc92a62878e","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[480,688],"parameters":{"color":4,"width":1088,"height":320,"content":"## 🔍 Smart Filtering"},"typeVersion":1},{"id":"7d8d06dc-cd7a-4845-82d7-e1d26205f0f3","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[1600,688],"parameters":{"color":6,"width":464,"height":336,"content":"## 🧠 Resource Matching"},"typeVersion":1},{"id":"5befb33e-7494-42a1-b4a4-ffdda316bed2","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[2096,688],"parameters":{"color":4,"width":464,"height":368,"content":"## 📨 Message Delivery"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"bd52e147-07f1-4ca4-a13d-6845f7e71abd","connections":{"Every 5 Minutes":{"main":[[{"node":"Fetch Recent Posts","type":"main","index":0}]]},"Rate Limit Delay":{"main":[[{"node":"Only New Comments","type":"main","index":0}]]},"Only New Comments":{"main":[[{"node":"Match Resource to Comment","type":"main","index":0}]]},"Fetch Recent Posts":{"main":[[{"node":"Fetch Post Comments","type":"main","index":0}]]},"Fetch Post Comments":{"main":[[{"node":"Remove Own Comments","type":"main","index":0}]]},"Remove Own Comments":{"main":[[{"node":"Combine Comment and Post","type":"main","index":0},{"node":"Combine Comment and Post","type":"main","index":1}]]},"Send DM via LinkedIn":{"main":[[{"node":"Log Delivery Status","type":"main","index":0}]]},"Combine Comment and Post":{"main":[[{"node":"Track Processed Comments","type":"main","index":0}]]},"Track Processed Comments":{"main":[[{"node":"Rate Limit Delay","type":"main","index":0}]]},"Match Resource to Comment":{"main":[[{"node":"Build Personalized Message","type":"main","index":0}]]},"Build Personalized Message":{"main":[[{"node":"Send DM via LinkedIn","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":17,"nodeTypes":{"n8n-nodes-base.code":{"count":4},"n8n-nodes-base.wait":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.filter":{"count":2},"n8n-nodes-base.linkedIn":{"count":3},"n8n-nodes-base.stickyNote":{"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":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":367,"icon":"file:linkedin.svg","name":"n8n-nodes-base.linkedIn","codex":{"data":{"resources":{"generic":[{"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"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.linkedin/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/linkedin/"}]},"categories":["Marketing","Communication"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"LinkedIn"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjcgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9IjEiIHk9IjEiLz48c3ltYm9sIGlkPSJhIiBvdmVyZmxvdz0idmlzaWJsZSI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2U9Im5vbmUiPjxwYXRoIGZpbGw9IiMwMTc3YjUiIGQ9Ik01OS4yNiAwSDQuNzI0QzIuMTIgMCAwIDIuMDY2IDAgNC42MXY1NC43ODhjMCAyLjUzIDIuMTIgNC42IDQuNzI0IDQuNmg1NC41NGMyLjYxIDAgNC43MzYtMi4wNyA0LjczNi00LjZWNC42MUM2NCAyLjA2NiA2MS44NzQgMCA1OS4yNiAwIi8+PHBhdGggZD0iTTkuNDkgMjMuOTkySDE5djMwLjU0SDkuNDl6bTQuNzQ4LTE1LjJjMy4wMzQgMCA1LjUgMi40NjYgNS41IDUuNWE1LjUxIDUuNTEgMCAwIDEtNS40OTggNS41MDYgNS41MiA1LjUyIDAgMCAxLTUuNTA4LTUuNTA2IDUuNSA1LjUgMCAwIDEgNS41MDYtNS41bTEwLjcgMTUuMmg5LjEwNHY0LjE3NGguMTI2YzEuMjY4LTIuNCA0LjM2NC00LjkzMiA5LTQuOTMyIDkuNjEyIDAgMTEuMzg2IDYuMzI2IDExLjM4NiAxNC41NDh2MTYuNzUyaC05LjQ4NlYzOS42NzhjMC0zLjU0LS4wNjQtOC4xLTQuOTMyLTguMS00Ljk0IDAtNS43IDMuODYtNS43IDcuODR2MTUuMTA4aC05LjQ4NHYtMzAuNTR6Ii8+PC9nPjwvc3ltYm9sPjwvc3ZnPg=="},"displayName":"LinkedIn","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"},{"id":27,"name":"Marketing"}]},{"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":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":844,"icon":"fa:filter","name":"n8n-nodes-base.filter","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The Filter node can be used to filter items based on a condition. If the condition is met, the item will be passed on to the next node. If the condition is not met, the item will be omitted. Conditions can be combined together by AND(meet all conditions), or OR(meet at least one condition).","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.filter/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Filter","color":"#229eff"},"iconData":{"icon":"filter","type":"icon"},"displayName":"Filter","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":33,"name":"Social Media"},{"id":49,"name":"AI Summarization"}],"image":[]}}