{"workflow":{"id":13227,"name":"Enrich creator handles with cross-platform social data from influencers.club","views":46,"recentViews":0,"totalViews":46,"createdAt":"2026-02-05T10:48:35.739Z","description":"How it works:\n\nGet multi social platform data for creators from one social handle.\n\nStep by step workflow to enrich influencer contacts with multi social (Instagram, Tiktok, Youtube, Twitter, Onlyfans, Twitch and more) profiles, analytics and metrics using the influencer.club API\n\nSet up:\n- Supabase (can be swapped for any DB)\n- Influencers.club","workflow":{"id":"LyAmRVkY63mstf2f0eVCQ","meta":{"instanceId":"85adf2a35c28eb4259098779e620f01802fefc169e5e72d95fa3a1fcdca8b513","templateCredsSetupCompleted":true},"name":"Enrich creator handles with cross-platform social data from influencers.club","tags":[],"nodes":[{"id":"70470cd8-75cb-46c3-9389-69ce3a48f762","name":"Daily Refresh Schedule","type":"n8n-nodes-base.scheduleTrigger","position":[-560,768],"webhookId":"webhook-001","parameters":{"rule":{"interval":[{"field":"cronExpression","expression":"0 0 * * *"}]}},"typeVersion":1.1},{"id":"f83022f3-d34a-48eb-9866-45244b93760b","name":"Process in Batches","type":"n8n-nodes-base.splitInBatches","position":[-32,768],"parameters":{"options":{},"batchSize":5},"typeVersion":3},{"id":"bb2a5ec7-fae7-423d-975a-bfb5aaf3585a","name":"Wait 5 Second","type":"n8n-nodes-base.wait","position":[976,784],"webhookId":"wait-webhook-001","parameters":{},"typeVersion":1.1},{"id":"ea9e3a2d-0156-4141-acf1-aaa29f9fe23a","name":"Update Null Values Only","type":"n8n-nodes-base.httpRequest","position":[704,784],"parameters":{"url":"https://yphzlsruptlrnehidveq.supabase.co/rest/v1/rpc/enrich_lead","method":"POST","options":{},"sendBody":true,"sendHeaders":true,"authentication":"predefinedCredentialType","bodyParameters":{"parameters":[{"name":"p_creator_handle","value":"={{ $('Process in Batches').item.json.creator_handle }}"},{"name":"p_platform","value":"={{ $('Process in Batches').item.json.platform }}"},{"name":"p_payload","value":"={{$json}}"}]},"headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"supabaseApi"},"credentials":{"supabaseApi":{"id":"oBX5Hz8Om0QHnRSh","name":"new one"}},"typeVersion":4.3},{"id":"c6c9adf0-c6f3-49bd-8987-f40d658956f3","name":"Update a row","type":"n8n-nodes-base.supabase","disabled":true,"position":[640,288],"parameters":{"filters":{"conditions":[{"keyName":"creator_handle","keyValue":"={{ $json.username }}","condition":"eq"}]},"tableId":"leads3","fieldsUi":{"fieldValues":[{"fieldId":"username","fieldValue":"={{ $json.username }}"},{"fieldId":"platform","fieldValue":"={{ $json.platform }}"},{"fieldId":"userid","fieldValue":"={{ $json.userid }}"},{"fieldId":"full_name","fieldValue":"={{ $json.full_name }}"},{"fieldId":"biography","fieldValue":"={{ $json.biography }}"},{"fieldId":"category","fieldValue":"={{ $json.category }}"},{"fieldId":"profile_picture","fieldValue":"={{ $json.profile_picture }}"},{"fieldId":"exists","fieldValue":"={{ $json.exists }}"},{"fieldId":"has_profile_pic","fieldValue":"={{ $json.has_profile_pic }}"},{"fieldId":"is_private","fieldValue":"={{ $json.is_private }}"},{"fieldId":"is_business_account","fieldValue":"={{ $json.is_business_account }}"},{"fieldId":"is_verified","fieldValue":"={{ $json.is_verified }}"},{"fieldId":"video_content_creator","fieldValue":"={{ $json.video_content_creator }}"},{"fieldId":"uses_link_in_bio","fieldValue":"={{ $json.uses_link_in_bio }}"},{"fieldId":"follower_count","fieldValue":"={{ $json.following_count }}"},{"fieldId":"following_count","fieldValue":"={{ $json.following_count }}"},{"fieldId":"media_count","fieldValue":"={{ $json.media_count }}"},{"fieldId":"links_in_bio","fieldValue":"={{ $json.links_in_bio }}"},{"fieldId":"post_data","fieldValue":"={{ $json.post_data }}"},{"fieldId":"avg_likes","fieldValue":"={{ $json.avg_likes }}"},{"fieldId":"avg_comments","fieldValue":"={{ $json.avg_comments }}"},{"fieldId":"total_posts_analyzed","fieldValue":"={{ $json.total_posts_analyzed }}"},{"fieldId":"engagement_rate","fieldValue":"={{ $json.engagement_rate }}"},{"fieldId":"raw_response","fieldValue":"={{ $json.raw_response }}"},{"fieldId":"enriched_at","fieldValue":"={{ $json.enriched_at }}"},{"fieldId":"credits_cost","fieldValue":"={{ $json.credits_cost }}"}]},"operation":"update","useCustomSchema":true},"credentials":{"supabaseApi":{"id":"oBX5Hz8Om0QHnRSh","name":"new one"}},"typeVersion":1},{"id":"a81bf1fe-3daa-484b-937b-3d29154c2559","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-640,480],"parameters":{"width":272,"height":496,"content":"## Triggers the creator enrichment workflow once per day.\nThe workflow is safe to re-run and will only process creators that have not been enriched yet.\n\n"},"typeVersion":1},{"id":"0131dea9-44fa-417f-8464-18af8d29b8e2","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-352,480],"parameters":{"color":3,"width":272,"height":496,"content":"## Fetches creators that have not yet been enriched by checking for an empty enrichment payload.\nUses the “Is Empty” filter to correctly match NULL jsonb fields."},"typeVersion":1},{"id":"fb35656f-501a-4e0e-a793-e86eecd2396b","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[112,480],"parameters":{"color":6,"width":432,"height":496,"content":"## Enriches a creator profile using their platform and handle.\n\nThe request is designed to be platform-agnostic and returns structured enrichment data (audience, content, and monetization insights) using the influencers.club API."},"typeVersion":1},{"id":"eee769b2-70a8-47e5-9c21-17fbcafed1ce","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[576,480],"parameters":{"color":4,"width":352,"height":496,"content":"## Updates the creator data using a SQL database function that only fills missing fields.\n\n✔ Safe to re-run\n✔ Prevents overwriting existing data\n✔ Handles partial enrichment responses\n\nRecommended for production use."},"typeVersion":1},{"id":"7bc6f0f9-7030-464d-9298-ef96fee0e11e","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[112,288],"parameters":{"color":2,"width":816,"height":176,"content":"## Alternative update method that writes data \n## directly to the table.\n\n⚠️ This option may overwrite existing data if the workflow is re-run.\nRecommended only for simple or non-production setups.\n"},"typeVersion":1},{"id":"ca450adb-3675-4564-b697-509ee3b9b7f7","name":"List Influencers Without Enrichment","type":"n8n-nodes-base.supabase","position":[-272,768],"parameters":{"tableId":"leads3","operation":"getAll"},"credentials":{"supabaseApi":{"id":"oBX5Hz8Om0QHnRSh","name":"new one"}},"typeVersion":1},{"id":"1ed48d61-3cc9-4064-afa9-5d4c1c44e106","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-176,48],"parameters":{"color":5,"width":752,"content":"## Get multi social platform data for creators from one social handle - Built for influencer marketing platforms\n**Step by step workflow to enrich influencer data with multi social (Instagram, Tiktok, Youtube, Twitter, Onlyfans, Twitch and more) using the influencer.club API**. [Full explanation](https://influencers.club/creatorbook/cross-platform-data-for-influencer-marketing-platforms/)"},"typeVersion":1},{"id":"e530f568-6ede-4fae-9f6e-0502501508fc","name":"Normalize Creator Enrichment Payload","type":"n8n-nodes-base.code","position":[416,784],"parameters":{"mode":"runOnceForEachItem","jsCode":"/**\n * UNIVERSAL ENRICHMENT NORMALIZER\n * Works with ANY platform & ANY payload shape\n * Run Once for Each Item\n */\n\n// Raw API response for THIS item\nconst apiResponse = item.json ?? {};\n\n// Find platform key dynamically\nconst PLATFORM_KEYS = [\n  'instagram',\n  'twitter',\n  'tiktok',\n  'youtube',\n  'linkedin',\n  'facebook',\n  'twitch'\n];\n\nconst platform = PLATFORM_KEYS.find(k => apiResponse[k]) ?? null;\nconst platformData = platform ? apiResponse[platform] : {};\n\n// Match batch item by index\nconst batchItem = $items(\"Process in Batches\", 0)[$itemIndex]?.json ?? {};\n\n// Identifiers\nconst leadId = batchItem.id ?? null;\nconst creatorHandle = batchItem.creator_handle ?? null;\n\n// Posts (platform-agnostic)\nconst postData = Array.isArray(platformData.post_data)\n  ? platformData.post_data\n  : [];\n\n// Engagement calculations (supports IG & TW)\nlet avgLikes = null;\nlet avgComments = null;\nlet engagementRate = null;\n\nconst validPosts = postData.filter(p =>\n  p?.engagement &&\n  (\n    p.engagement.likes !== undefined ||\n    p.engagement.like_count !== undefined\n  )\n);\n\nif (validPosts.length > 0) {\n  const totalLikes = validPosts.reduce(\n    (sum, p) => sum + (p.engagement.likes ?? p.engagement.like_count ?? 0),\n    0\n  );\n\n  const totalComments = validPosts.reduce(\n    (sum, p) => sum + (p.engagement.comments ?? p.engagement.reply_count ?? 0),\n    0\n  );\n\n  avgLikes = Number((totalLikes / validPosts.length).toFixed(2));\n  avgComments = Number((totalComments / validPosts.length).toFixed(2));\n\n  if ((platformData.follower_count ?? 0) > 0) {\n    engagementRate = Number(\n      (((avgLikes + avgComments) / platformData.follower_count) * 100).toFixed(2)\n    );\n  }\n}\n\n// ✅ FINAL NORMALIZED OUTPUT\nreturn {\n  platform,\n\n  // Identity\n  userid: platformData.userid ?? null,\n  username: platformData.username ?? null,\n  full_name: platformData.full_name ?? null,\n  biography: platformData.biography ?? null,\n  category: platformData.category ?? null,\n\n  // Images\n  profile_picture:\n    platformData.profile_picture_hd ??\n    platformData.profile_picture ??\n    null,\n\n  // Flags\n  exists: platformData.exists ?? null,\n  has_profile_pic: platformData.has_profile_pic ?? null,\n  is_private: platformData.is_private ?? null,\n  is_business_account: platformData.is_business_account ?? null,\n  is_verified: platformData.is_verified ?? null,\n  video_content_creator: platformData.video_content_creator ?? null,\n  uses_link_in_bio:\n    platformData.uses_link_in_bio ??\n    apiResponse.has_link_in_bio ??\n    null,\n\n  // Metrics\n  follower_count: platformData.follower_count ?? null,\n  following_count: platformData.following_count ?? null,\n  media_count:\n    platformData.media_count ??\n    platformData.tweets_count ??\n    null,\n\n  // Arrays / JSONB\n  links_in_bio: platformData.links_in_bio ?? [],\n  post_data: postData,\n\n  // Calculated\n  avg_likes: avgLikes,\n  avg_comments: avgComments,\n  total_posts_analyzed: postData.length,\n  engagement_rate:\n    engagementRate ??\n    platformData.engagement_percent ??\n    null,\n\n  // Raw + meta\n  raw_response: apiResponse,\n  enriched_at: new Date().toISOString(),\n  credits_cost: apiResponse.credits_cost ?? null\n};\n"},"typeVersion":2},{"id":"ab94eebe-e47a-43aa-aa08-7de9602ef813","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[944,480],"parameters":{"color":4,"width":192,"height":80,"content":"[Click and view the full SQL function on GitHub](https://github.com/GjPetrovski-IC/N8N-Public-Templates)\n"},"typeVersion":1},{"id":"8633e30e-a9c1-48de-933b-bf42b7d10e77","name":"Influencers.club - Enrich by Handle (Full)","type":"n8n-nodes-influencersclub.influencersClub","position":[208,784],"parameters":{"handle":"={{ $json.creator_handle }}","platform":"={{ $json.platform }}","resource":"creator","operation":"enrichByHandle","tiktokFilters":{},"twitchFilters":{},"twitterFilters":{},"youtubeFilters":{},"onlyfansFilters":{},"instagramFilters":{},"additionalOptions":{}},"credentials":{"influencersClubApi":{"id":"pfuQoV9XcYUVIeuU","name":"Influencers Club - Gjorgji"}},"typeVersion":1}],"active":false,"pinData":{},"settings":{"binaryMode":"separate","availableInMCP":false,"executionOrder":"v1"},"versionId":"806e9034-0060-4fe0-b0e4-d73848a5e8fc","connections":{"Update a row":{"main":[[{"node":"Wait 5 Second","type":"main","index":0}]]},"Wait 5 Second":{"main":[[{"node":"Process in Batches","type":"main","index":0}]]},"Process in Batches":{"main":[[],[{"node":"Influencers.club - Enrich by Handle (Full)","type":"main","index":0}]]},"Daily Refresh Schedule":{"main":[[{"node":"List Influencers Without Enrichment","type":"main","index":0}]]},"Update Null Values Only":{"main":[[{"node":"Wait 5 Second","type":"main","index":0}]]},"List Influencers Without Enrichment":{"main":[[{"node":"Process in Batches","type":"main","index":0}]]},"Normalize Creator Enrichment Payload":{"main":[[{"node":"Update Null Values Only","type":"main","index":0},{"node":"Update a row","type":"main","index":0}]]},"Influencers.club - Enrich by Handle (Full)":{"main":[[{"node":"Normalize Creator Enrichment Payload","type":"main","index":0}]]}}},"lastUpdatedBy":29,"workflowInfo":{"nodeCount":15,"nodeTypes":{"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.wait":{"count":1},"n8n-nodes-base.supabase":{"count":2},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.httpRequest":{"count":1},"n8n-nodes-base.splitInBatches":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1},"n8n-nodes-influencersclub.influencersClub":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Influencers Club","username":"influencers-club","bio":"Influencers.club is an Influencer marketing platform focused on creator data APIs. \n\nWe allow companies in any industry to build automated creator workflows from discovery to enrichment to power influencer acquisition, partnership automation, and custom solutions with social data, emails, full social graph across all social platforms, analytics, demographics and 200+ insights.","verified":true,"links":["https://influencers.club/influencer-api/"],"avatar":"https://gravatar.com/avatar/22ccdb2fb1cfb00f090f22fcd5b4987516be76749721c54c6e106cc5acfdea10?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":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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":545,"icon":"file:supabase.svg","name":"n8n-nodes-base.supabase","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.supabase/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/supabase/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Supabase"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDkiIGhlaWdodD0iMTEzIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJ1cmwoI2EpIiBkPSJNNjMuNzA4IDExMC4yODRjLTIuODYgMy42MDEtOC42NTggMS42MjgtOC43MjctMi45N2wtMS4wMDctNjcuMjUxaDQ1LjIyYzguMTkgMCAxMi43NTggOS40NiA3LjY2NSAxNS44NzR6Ii8+PHBhdGggZmlsbD0idXJsKCNiKSIgZmlsbC1vcGFjaXR5PSIuMiIgZD0iTTYzLjcwOCAxMTAuMjg0Yy0yLjg2IDMuNjAxLTguNjU4IDEuNjI4LTguNzI3LTIuOTdsLTEuMDA3LTY3LjI1MWg0NS4yMmM4LjE5IDAgMTIuNzU4IDkuNDYgNy42NjUgMTUuODc0eiIvPjxwYXRoIGZpbGw9IiMzRUNGOEUiIGQ9Ik00NS4zMTcgMi4wNzFjMi44Ni0zLjYwMSA4LjY1Ny0xLjYyOCA4LjcyNiAyLjk3bC40NDIgNjcuMjUxSDkuODNjLTguMTkgMC0xMi43NTktOS40Ni03LjY2NS0xNS44NzV6Ii8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iNTMuOTc0IiB4Mj0iOTQuMTYzIiB5MT0iNTQuOTc0IiB5Mj0iNzEuODI5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iIzI0OTM2MSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzNFQ0Y4RSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iMzYuMTU2IiB4Mj0iNTQuNDg0IiB5MT0iMzAuNTc4IiB5Mj0iNjUuMDgxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3AvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PC9zdmc+"},"displayName":"Supabase","typeVersion":1,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":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"}]}],"categories":[{"id":37,"name":"Lead Generation"},{"id":49,"name":"AI Summarization"}],"image":[]}}