{"workflow":{"id":13276,"name":"Send weekly low‑stock alerts from WooCommerce to Slack and Jira","views":20,"recentViews":0,"totalViews":20,"createdAt":"2026-02-10T07:28:42.444Z","description":"# (Retail Automation) Low-Stock Alerts to Slack\n\nThis workflow automates the process of managing product inventory levels, categorizing them into low stock and urgent low stock, sending alerts to Slack and creating Jira issues for urgent low stock products.\n\nThis workflow runs weekly and helps inventory and operations teams stay ahead of stock issues. It fetches products from WooCommerce, categorizes them based on stock thresholds and sends alerts about low stock and urgent low stock products. It also creates Jira issues for urgent stock shortages to ensure immediate action. Additionally, the workflow provides detailed Slack alerts for easy tracking.\n\n**You receive:**\n\n- Weekly automated low stock and urgent low stock alerts\n- Slack summaries for quick review\n- Jira issues for urgent stock items\n\nIdeal for inventory managers and teams using WooCommerce, Slack and Jira.\n\n\n## Quick Start – Implementation Steps\n\n1. Import the provided n8n workflow JSON file.\n2. Add your WooCommerce credentials in the relevant nodes.\n3. Add your Slack API credentials to send alerts.\n4. Add your Jira API credentials to create issues for urgent stock.\n5. Activate the workflow — it will run automatically every Monday at midnight.\n\n\n## What It Does\n\nThis workflow automates inventory tracking and alerting for products with low and urgent low stock levels:\n\n- Fetches all active products from WooCommerce.\n- Categorizes products into low stock and urgent low stock based on predefined thresholds.\n- Generates alerts for low stock products, sending them to a designated Slack channel.\n- Creates Jira issues for products with urgent low stock.\n- Sends Slack alerts with key product details, stock levels and categories.\n- Notifies teams of urgent stock issues that require immediate attention.\n\nThis ensures teams can quickly respond to inventory issues and avoid stockouts.\n\n\n## Who's It For\n\nThis workflow is ideal for:\n\n- Inventory managers\n- Operations teams\n- WooCommerce users\n- Teams using Jira for issue tracking\n- Teams using Slack for real-time alerts\n\n\n## Requirements\n\nTo run this workflow, you need:\n\n- n8n instance (cloud or self-hosted)\n- WooCommerce account with API access\n- Slack workspace with API permissions\n- Jira Software Cloud account for issue creation\n- Basic understanding of product inventory management\n\n\n## How It Works\n\n1. **Weekly Trigger** – The workflow automatically runs every Monday at midnight.\n2. **Fetch Products** – Retrieves all products from WooCommerce.\n3. **Categorize Products** – Categorizes products into low stock and urgent low stock.\n4. **Generate Slack Alerts** – Sends messages to the respective Slack channels for low and urgent low stock items.\n5. **Create Jira Issue** – If urgent low stock items exist, a Jira issue is created with product details.\n6. **Send Summary Alerts** – Sends a clear summary to Slack with product details and Jira ticket information.\n\n\n## Setup Steps\n\n1. Import the workflow JSON file into n8n.\n2. Add WooCommerce credentials to the relevant nodes.\n3. Add Slack API credentials for sending alerts.\n4. Add Jira credentials to create issues for urgent low stock.\n5. Activate the weekly trigger to automatically run every Monday.\n\n\n## How To Customize Nodes\n\n### Threshold Adjustments\n\nModify the **Separate products to low stock and very low stock** node to adjust the stock thresholds for different product categories.\n\n### Slack Alerts\n\nYou can customize the format of Slack alerts in the **Send Low Stock Alert to Slack** and **Send Urgent Low Stock Alert to Slack** nodes, including changing message text, adding emojis or mentioning team members.\n\n### Jira Issues\n\nIn the **Create an Issue in Jira** node, you can adjust the issue summary, description and priority based on your team's needs.\n\n\n## Add-Ons (Optional Enhancements)\n\n- Integrate additional stock management systems for more robust tracking.\n- Customize Jira issue types based on different urgency levels.\n- Add product tags or descriptions to enhance Slack alerts.\n- Implement custom notifications for specific product categories.\n\n\n## Use Case Examples\n\n### 1. Proactive Inventory Management\n\nIdentify products that are about to run out and take corrective actions before stockouts occur.\n\n### 2. Issue Tracking for Urgent Stock\n\nCreate Jira tickets for products with urgent low stock and prioritize restocking.\n\n### 3. Real-Time Alerts\n\nKeep your team informed in real time with Slack messages about low and urgent low stock products.\n\n\n## Troubleshooting Guide\n\n| Issue | Possible Cause | Solution |\n|-------|----------------|----------|\n| No Slack alerts | Invalid credentials | Re-check Slack API key and channel |\n| WooCommerce products not fetched | WooCommerce API error | Verify WooCommerce credentials |\n| Jira issue not created | Incorrect Jira configuration | Ensure Jira API permissions are correct |\n| Missing products in categorization | Incorrect stock thresholds | Update product thresholds in the node |\n\n\n## Need Help?\n\nFor help customizing or extending this workflow like adding advanced stock alerts, integrating additional tools or extending AI insights, feel free to reach out to our [n8n workflow development](https://www.weblineindia.com/n8n-automation/) team at WeblineIndia. We're happy to assist with advanced inventory management automation solutions.","workflow":{"id":"TXNuuI0iCYthPWX9","meta":{"instanceId":"14e4c77104722ab186539dfea5182e419aecc83d85963fe13f6de862c875ebfa"},"name":"Low-Stock Alerts to Slack","tags":[],"nodes":[{"id":"c6f72eec-9aae-49c6-9abd-eb8cd04358e9","name":"Format Low Stock Message","type":"n8n-nodes-base.code","position":[-192,1296],"parameters":{"jsCode":"const inputData = $input.first().json.low_stock;\n\n// Check if there are any low stock items\nif (!inputData || inputData.length === 0) {\n  return [];\n}\n\n// Function to generate the output JSON structure\nconst generateOutputJson = (inputData) => {\n  const elements = inputData.map(item => {\n    return [\n      {\n        \"type\": \"emoji\",\n        \"name\": \"receipt\",\n        \"unicode\": \"1f9fe\"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \" \"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \"Product : \",\n        \"style\": {\n          \"bold\": true\n        }\n      },\n      {\n        \"type\": \"text\",\n        \"text\": item.product + \"\\n\"\n      },\n      {\n        \"type\": \"emoji\",\n        \"name\": \"package\",\n        \"unicode\": \"1f4e6\"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \" \"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \"Current Stock : \",\n        \"style\": {\n          \"bold\": true\n        }\n      },\n      {\n        \"type\": \"text\",\n        \"text\": item.current_stock === null ? \"Out of Stock\" : item.current_stock.toString() + \"\\n\"\n      },\n      {\n        \"type\": \"emoji\",\n        \"name\": \"label\",\n        \"unicode\": \"1f3f7-fe0f\"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \" \"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \"Category : \",\n        \"style\": {\n          \"bold\": true\n        }\n      },\n      {\n        \"type\": \"text\",\n        \"text\": item.Category + \"\\n\\n\\n\\n\"\n      }\n    ];\n  });\n\n  return [\n    {\n      \"text\": \"Daily low stock alert\",\n      \"blocks\":[\n        {\n      \"type\": \"rich_text\",\n      \"elements\": [\n        {\n          \"type\": \"rich_text_section\",\n          \"elements\": [\n            {\n            \"type\": \"emoji\",\n            \"name\": \"red_circle\",\n            \"unicode\": \"1f534\",\n            \"style\": {\n              \"bold\": true\n            }\n          },\n          {\n            \"type\": \"text\",\n            \"text\": \" Daily Low Stock Alert Messages :\",\n            \"style\": {\n              \"bold\": true\n            }\n          },\n          {\n            \"type\": \"text\",\n            \"text\": \"\\n\\nThe following products are running low on inventory and may require restocking:\\n\\n\"\n          },\n            ...elements.flat(),\n          {\n            \"type\": \"emoji\",\n            \"name\": \"warning\",\n            \"unicode\": \"26a0-fe0f\"\n          },\n          {\n            \"type\": \"text\",\n            \"text\": \" Please review these items and take action to avoid stockouts.\"\n          }\n          ]\n        }\n      ]\n    }\n      ]\n    }\n  ];\n};\n\n// Generate the output JSON\nconst outputJson = generateOutputJson(inputData);\n\nreturn outputJson;"},"typeVersion":2},{"id":"edabdcc0-e9c2-489f-bc4f-14c7129caefa","name":"Format Urgent Low Stock Message","type":"n8n-nodes-base.code","position":[192,1872],"parameters":{"jsCode":"const inputData = $('Separate products to low stock and very low stock').first().json.uregent_low_stock;\n\n// Check if there are any urgent low stock items\nif (!inputData || inputData.length === 0) {\n  return [];\n}\n\n// Function to generate the output JSON structure\nconst generateOutputJson = (inputData) => {\n  const elements = inputData.map(item => {\n    return [\n      {\n        \"type\": \"emoji\",\n        \"name\": \"receipt\",\n        \"unicode\": \"1f9fe\"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \" \"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \"Product : \",\n        \"style\": {\n          \"bold\": true\n        }\n      },\n      {\n        \"type\": \"text\",\n        \"text\": item.product + \"\\n\"\n      },\n      {\n        \"type\": \"emoji\",\n        \"name\": \"package\",\n        \"unicode\": \"1f4e6\"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \" \"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \"Current Stock : \",\n        \"style\": {\n          \"bold\": true\n        }\n      },\n      {\n        \"type\": \"text\",\n        \"text\": item.current_stock === null ? \"Out of Stock\" : item.current_stock.toString() + \"\\n\"\n      },\n      {\n        \"type\": \"emoji\",\n        \"name\": \"label\",\n        \"unicode\": \"1f3f7-fe0f\"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \" \"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \"Category : \",\n        \"style\": {\n          \"bold\": true\n        }\n      },\n      {\n        \"type\": \"text\",\n        \"text\": item.Category + \"\\n\\n\\n\\n\"\n      }\n    ];\n  });\n\n  return [\n    {\n      \"text\": \"Daily urgent low stock alert\",\n      \"blocks\":[\n        {\n      \"type\": \"rich_text\",\n      \"elements\": [\n        {\n          \"type\": \"rich_text_section\",\n          \"elements\": [\n            {\n            \"type\": \"emoji\",\n            \"name\": \"red_circle\",\n            \"unicode\": \"1f534\",\n            \"style\": {\n              \"bold\": true\n            }\n          },\n          {\n            \"type\": \"text\",\n            \"text\": \" Daily Very Low Stock Alert Messages :\",\n            \"style\": {\n              \"bold\": true\n            }\n          },\n          {\n            \"type\": \"text\",\n            \"text\": \"\\n\\nThe following products are running very low on inventory and may require restocking:\\n\\n\"\n          },\n            ...elements.flat(),\n          {\n            \"type\": \"emoji\",\n            \"name\": \"warning\",\n            \"unicode\": \"26a0-fe0f\"\n          },\n          {\n            \"type\": \"text\",\n            \"text\": \" Please review the Jira ticket created and take action to avoid stockouts.\" + '\\n\\n'\n          },\n          {\n            \"type\": \"text\",\n            \"text\": \" Jira ticket id : \" + $input.first().json.id + '\\n\\n' + \"Jira ticket key : \" + $input.first().json.key,\n            \"style\": {\n              \"bold\": true\n            }\n          }\n          ]\n        }\n      ]\n    }\n      ]\n    }\n  ];\n};\n\n// Generate the output JSON\nconst outputJson = generateOutputJson(inputData);\n\nreturn outputJson;"},"typeVersion":2},{"id":"5ad562cc-fe26-454c-9569-461a5b258c63","name":"Get many products from WooCommerce","type":"n8n-nodes-base.wooCommerce","position":[-784,1568],"parameters":{"options":{},"operation":"getAll"},"credentials":{"wooCommerceApi":{"id":"l0hBEVFwuH7UVWXH","name":"WooCommerce account 5"}},"typeVersion":1},{"id":"bb41f575-f1c0-4d84-9294-9abe592df4f8","name":"Separate products to low stock and very low stock","type":"n8n-nodes-base.code","position":[-576,1568],"parameters":{"jsCode":"// Get all products\nconst products = $input.all();\n\n// Initialize arrays\nconst low_stock = [];\nconst urgent_low_stock = [];\n\n// Define thresholds\nconst thresholds = {\n  \"headphones\": 10,\n  \"gaming-laptops\": 7,\n  \"laptops\": 10,\n  \"fashion\": 15,\n  \"mobile-phones\": 10,\n  \"monitors\": 8,\n  \"default\": 7\n};\n\nconst urgentThresholds = {\n  \"headphones\": 5,\n  \"gaming-laptops\": 3,\n  \"laptops\": 4,\n  \"fashion\": 8,\n  \"mobile-phones\": 5,\n  \"monitors\": 4,\n  \"default\": 3\n};\n\n// Process each product\nfor (const item of products) {\n  const product = item.json;\n  \n  // Skip if stock is not managed or stock quantity is null\n  if (!product.manage_stock || product.stock_quantity === null) {\n    continue;\n  }\n  \n  const categories = product.categories;\n  \n  // Determine category\n  let category = \"default\";\n  if (Array.isArray(categories) && categories.length === 1) {\n    category = categories[0].slug.toLowerCase();\n  }\n  \n  // Get thresholds\n  const threshold = thresholds[category] || thresholds[\"default\"];\n  const urgentThreshold = urgentThresholds[category] || urgentThresholds[\"default\"];\n  \n  // Create product object\n  const productData = {\n    \"product\": product.name,\n    \"current_stock\": product.stock_quantity,\n    \"Category\": product.categories.map(cat => cat.name).join(', ')\n  };\n  \n  // Check stock levels and add to appropriate array\n  if (product.stock_quantity <= urgentThreshold) {\n    urgent_low_stock.push(productData);\n  } else if (product.stock_quantity <= threshold) {\n    low_stock.push(productData);\n  }\n}\n\n// Return the accumulated results\nreturn {\n  json: {\n    low_stock: low_stock,\n    uregent_low_stock: urgent_low_stock\n  }\n};"},"typeVersion":2},{"id":"63f53062-3a39-484d-bc4e-9400f8be31f9","name":"Format Urgent Low Stock Message for Jira","type":"n8n-nodes-base.code","position":[-208,1872],"parameters":{"jsCode":"// Extracting the urgent low stock items\nconst urgentLowStock = $input.first().json.uregent_low_stock;\n\n// Building the message\nlet message = \"Below are the list of products whose stock is very low and we need to refill it as soon as possible,\\n\\n\";\n\nurgentLowStock.forEach((item, index) => {\n  message += `${index + 1}. ${item.product} -> current stock: ${item.current_stock}\\n`;\n});\n\nmessage += \"\\nPlease take action to avoid stockouts.\";\n\n// Output the message\nreturn { description : message };\n"},"typeVersion":2},{"id":"e63258d7-1ea0-4b67-bea3-7dae80ff85ac","name":"Create an Issue in Jira","type":"n8n-nodes-base.jira","position":[-16,1872],"parameters":{"project":{"__rl":true,"mode":"list","value":"10000","cachedResultName":"My Software Team"},"summary":"=Urgent Low Stock - {{ $now.format('yyyy-MM-dd') }}","issueType":{"__rl":true,"mode":"list","value":"10007","cachedResultName":"Bug"},"additionalFields":{"assignee":{"__rl":true,"mode":"list","value":"712020:35d1b5a5-a39d-48db-bf55-466b59246de9","cachedResultName":"Fullstacktech wli"},"priority":{"__rl":true,"mode":"list","value":"2","cachedResultName":"High"},"description":"={{ $json.description }}\n"}},"credentials":{"jiraSoftwareCloudApi":{"id":"kbFp1jOooNfS5GLX","name":"Jira SW Cloud account 6"}},"typeVersion":1},{"id":"0af43599-f69e-41ab-95a9-8672e6cbb473","name":"Send Urgent Low Stock Alert to Slack","type":"n8n-nodes-base.slack","position":[384,1872],"webhookId":"dc371c1d-bb2e-4abe-a533-065416a95086","parameters":{"select":"channel","blocksUi":"={{ $json }}","channelId":{"__rl":true,"mode":"list","value":"C0A57J97MCK","cachedResultName":"daily_urgent_low_stock_update"},"messageType":"block","otherOptions":{}},"credentials":{"slackApi":{"id":"EyowUWaMSxNBz1kf","name":"Slack account 32"}},"notesInFlow":false,"retryOnFail":true,"typeVersion":2.3,"alwaysOutputData":false},{"id":"58c3b42b-cc26-47be-a6bc-fdacafafd7e4","name":"Send Low Stock Alert to Slack","type":"n8n-nodes-base.slack","position":[0,1296],"webhookId":"dc371c1d-bb2e-4abe-a533-065416a95086","parameters":{"select":"channel","blocksUi":"={{ $json }}","channelId":{"__rl":true,"mode":"list","value":"C0A5DV7FCH0","cachedResultName":"daily_low_stock_update"},"messageType":"block","otherOptions":{}},"credentials":{"slackApi":{"id":"EyowUWaMSxNBz1kf","name":"Slack account 32"}},"retryOnFail":true,"typeVersion":2.3},{"id":"cdd6a207-7719-467a-940c-d9169c5db387","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-1856,848],"parameters":{"width":624,"height":1344,"content":"## How It Works\n\nThis workflow automatically monitors product inventory levels in WooCommerce on a scheduled basis and sends alerts when stock falls below defined thresholds.\n\n-> Every Monday at midnight, the workflow:\n\n1. Fetches all products from WooCommerce.\n\n2. Evaluates each product’s stock quantity based on category-specific thresholds.\n\n3. Separates products into:\n     - Low stock\n     - Very low (urgent) stock\n\n4. Sends:\n     - A low stock alert to a dedicated Slack channel.\n     - A very low stock alert that:\n          - Creates a Jira issue\n          - Sends a Slack alert including the Jira ticket details.\n\n\nThis ensures teams are proactively notified and urgent stock shortages are tracked and resolved quickly.\n\n\n\n\n\n## Setup Steps\n\n1. Configure Schedule Trigger\n   - Set the Schedule Trigger to run every Monday at midnight.\n\n2. Connect WooCommerce\n   - Add WooCommerce credentials.\n   - Use the Get many products operation to fetch all products.\n\n3. Define Stock Thresholds\n   - In the “Separate products to low stock and very low stock” Code node:\n       - Set category-wise thresholds for:\n           - Low stock\n           - Urgent (very low) stock\n\n4. Configure Slack Integration\n   - Connect your Slack workspace.\n   - Select:\n     - One channel for low stock alerts\n     - One channel for urgent low stock alerts\n\n5. Configure Jira Integration\n   - Connect Jira Software Cloud credentials.\n   - Select:\n     - Project\n     - Issue type\n     - Assignee\n     - Priority\n\n6. Activate Workflow\n   - Once activated, alerts and Jira issues will be generated automatically every week."},"typeVersion":1},{"id":"a08c3dfc-25d0-4dc6-8551-69d202f9b41a","name":"Inventory Check Scheduler","type":"n8n-nodes-base.scheduleTrigger","position":[-1120,1568],"parameters":{"rule":{"interval":[{"field":"weeks","triggerAtDay":[1]}]}},"typeVersion":1.2},{"id":"5e5c7e59-b8a0-47dd-a9f5-b4318fea17d8","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-1184,1472],"parameters":{"color":7,"height":272,"content":"Runs the workflow automatically every Monday at midnight without manual intervention."},"typeVersion":1},{"id":"dc8b14cf-a874-4eec-9457-1d6787b576ff","name":"Sticky Note10","type":"n8n-nodes-base.stickyNote","position":[-896,1312],"parameters":{"color":7,"width":512,"height":432,"content":"This part fetches all products from WooCommerce and analyzes their inventory levels.\n\nOnly products with managed stock are considered.\nEach product’s stock quantity is compared against category-wise thresholds to determine whether it falls under:\n - Low stock\n - Very low (urgent) stock\n\n\nThe products are then separated into two arrays for further processing."},"typeVersion":1},{"id":"d22ca891-b33e-4aab-8b0a-930a298c56c4","name":"Sticky Note11","type":"n8n-nodes-base.stickyNote","position":[-288,1056],"parameters":{"color":7,"width":560,"height":416,"content":"This section prepares a formatted Slack message listing all products with low stock levels.\n\nThe alert includes:\n - Product name\n - Current stock\n - Category\n\n\nThe message is sent to the low stock Slack channel to help the team monitor inventory before it becomes critical."},"typeVersion":1},{"id":"20930bc8-f1b7-4894-95eb-311db10ee411","name":"Sticky Note12","type":"n8n-nodes-base.stickyNote","position":[-288,1568],"parameters":{"color":7,"width":832,"height":480,"content":"This part handles products with very low (urgent) stock.\n\nFirst, a Jira issue is created with:\n - A clear summary\n - High priority\n - Detailed product list in the description\n\nAfter the Jira issue is created, a Slack alert is sent to the urgent stock channel, including:\n - Urgent low stock product details\n - Jira ticket ID\n - Jira ticket key\n\n\nThis ensures critical inventory issues are both tracked and immediately visible."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"d00ca3df-d3d0-4754-8209-5862f8ac1e92","connections":{"Create an Issue in Jira":{"main":[[{"node":"Format Urgent Low Stock Message","type":"main","index":0}]]},"Format Low Stock Message":{"main":[[{"node":"Send Low Stock Alert to Slack","type":"main","index":0}]]},"Inventory Check Scheduler":{"main":[[{"node":"Get many products from WooCommerce","type":"main","index":0}]]},"Format Urgent Low Stock Message":{"main":[[{"node":"Send Urgent Low Stock Alert to Slack","type":"main","index":0}]]},"Get many products from WooCommerce":{"main":[[{"node":"Separate products to low stock and very low stock","type":"main","index":0}]]},"Format Urgent Low Stock Message for Jira":{"main":[[{"node":"Create an Issue in Jira","type":"main","index":0}]]},"Separate products to low stock and very low stock":{"main":[[{"node":"Format Low Stock Message","type":"main","index":0},{"node":"Format Urgent Low Stock Message for Jira","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":14,"nodeTypes":{"n8n-nodes-base.code":{"count":4},"n8n-nodes-base.jira":{"count":1},"n8n-nodes-base.slack":{"count":2},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.wooCommerce":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"WeblineIndia","username":"weblineindia","bio":"A Leading Software Engineering, Consulting & Outsourcing Services Company in USA & India serving Clients Globally since 1999.","verified":true,"links":["https://www.weblineindia.com/hire-n8n-developers/"],"avatar":"https://gravatar.com/avatar/a229d43aefca4588581583c58bb37b4773aebbdf4c1fef86a08bb1d38eae91fa?r=pg&d=retro&size=200"},"nodes":[{"id":40,"icon":"file:slack.svg","name":"n8n-nodes-base.slack","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/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-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/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/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/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/slack/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Slack"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Slack","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":77,"icon":"file:jira.svg","name":"n8n-nodes-base.jira","codex":{"data":{"resources":{"generic":[{"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/creating-custom-incident-response-workflows-with-n8n/","label":"How to automate every step of an incident response workflow"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.jira/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/jira/"}]},"categories":["Development","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"output\"]","defaults":{"name":"Jira Software"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjguMjUgNzEuMjUiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9IjMuMTI1IiB5PSIzLjEyNSIvPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDE9IjkxLjklIiB4Mj0iMjguNDklIiB5MT0iNDAuMjIlIiB5Mj0iODEuNjMlIj48c3RvcCBvZmZzZXQ9IjE4JSIgc3RvcC1jb2xvcj0iIzAwNTJjYyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzI2ODRmZiIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJjIiB4MT0iOC43JSIgeDI9IjcyLjI2JSIgeTE9IjU5LjE3JSIgeTI9IjE3Ljk5JSI+PHN0b3Agb2Zmc2V0PSIxOCUiIHN0b3AtY29sb3I9IiMwMDUyY2MiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMyNjg0ZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48c3ltYm9sIGlkPSJhIiBvdmVyZmxvdz0idmlzaWJsZSI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2U9Im5vbmUiPjxwYXRoIGZpbGw9IiMyNjg0ZmYiIGQ9Ik02MS4xNjEgMzAuMjExIDMwLjk1IDAgLjc0IDMwLjIxMWEyLjU0IDIuNTQgMCAwIDAgMCAzLjU4MWwzMC4yMTEgMzAuMjEgMzAuMjExLTMwLjIxYTIuNTQgMi41NCAwIDAgMCAwLTMuNTgxek0zMC45NSA0MS40NmwtOS40NjItOS40NjIgOS40NjItOS40NjIgOS40NjIgOS40NjJ6Ii8+PHBhdGggZmlsbD0idXJsKCNiKSIgZD0iTTMwLjk1IDIyLjU5OUMyNC43NTUgMTYuNDA1IDI0LjcyNCA2LjM3IDMwLjg4MS4xMzhMMTAuMTE0IDIwLjc3NGwxMS4yNjggMTEuMjY4eiIvPjxwYXRoIGZpbGw9InVybCgjYykiIGQ9Ik00MC40MzcgMzEuOTczIDMwLjk1IDQxLjQ2YTE1LjkzIDE1LjkzIDAgMCAxIDAgMjIuNTM2bDIwLjc0OS0yMC43NDl6Ii8+PC9nPjwvc3ltYm9sPjwvc3ZnPg=="},"displayName":"Jira Software","typeVersion":1,"nodeCategories":[{"id":4,"name":"Productivity"},{"id":5,"name":"Development"}]},{"id":298,"icon":"file:wooCommerce.svg","name":"n8n-nodes-base.wooCommerce","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.woocommerce/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/woocommerce/"}]},"categories":["Sales"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"output\"]","defaults":{"name":"WooCommerce"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOC4yLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxODMuNiA0Ny41IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxODMuNiA0Ny41OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDojODczRUZGO30NCgkuc3Qxe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO30NCgkuc3Qye2ZpbGw6Izg3M0VGRjt9DQoJLnN0M3tmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7fQ0KCS5zdDR7ZmlsbDojRkZGRkZGO30NCjwvc3R5bGU+DQo8Zz4NCgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNzcuNCwwYy00LjMsMC03LjEsMS40LTkuNiw2LjFMNTYuNCwyNy42VjguNWMwLTUuNy0yLjctOC41LTcuNy04LjVzLTcuMSwxLjctOS42LDYuNUwyOC4zLDI3LjZWOC43DQoJCWMwLTYuMS0yLjUtOC43LTguNi04LjdINy4zQzIuNiwwLDAsMi4yLDAsNi4yczIuNSw2LjQsNy4xLDYuNGg1LjF2MjQuMWMwLDYuOCw0LjYsMTAuOCwxMS4yLDEwLjhzOS42LTIuNiwxMi45LTguN2w3LjItMTMuNXYxMS40DQoJCWMwLDYuNyw0LjQsMTAuOCwxMS4xLDEwLjhzOS4yLTIuMywxMy04LjdsMTYuNi0yOEM4Ny44LDQuNyw4NS4zLDAsNzcuMywwQzc3LjMsMCw3Ny4zLDAsNzcuNCwweiIvPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMDguNiwwQzk1LDAsODQuNywxMC4xLDg0LjcsMjMuOHMxMC40LDIzLjcsMjMuOSwyMy43czIzLjgtMTAuMSwyMy45LTIzLjdDMTMyLjUsMTAuMSwxMjIuMSwwLDEwOC42LDB6DQoJCSBNMTA4LjYsMzIuOWMtNS4xLDAtOC42LTMuOC04LjYtOS4xczMuNS05LjIsOC42LTkuMnM4LjYsMy45LDguNiw5LjJTMTEzLjgsMzIuOSwxMDguNiwzMi45eiIvPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNTkuNywwYy0xMy41LDAtMjMuOSwxMC4xLTIzLjksMjMuOHMxMC40LDIzLjcsMjMuOSwyMy43czIzLjktMTAuMSwyMy45LTIzLjdTMTczLjIsMCwxNTkuNywweiBNMTU5LjcsMzIuOQ0KCQljLTUuMiwwLTguNS0zLjgtOC41LTkuMXMzLjQtOS4yLDguNS05LjJzOC42LDMuOSw4LjYsOS4yUzE2NC45LDMyLjksMTU5LjcsMzIuOXoiLz4NCjwvZz4NCjwvc3ZnPg0K"},"displayName":"WooCommerce","typeVersion":1,"nodeCategories":[{"id":2,"name":"Sales"}]},{"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":39,"name":"CRM"}],"image":[]}}