{"workflow":{"id":12874,"name":"Track WooCommerce inventory and send reorder alerts via Gmail and Slack","views":37,"recentViews":0,"totalViews":37,"createdAt":"2026-01-21T13:41:14.499Z","description":"# WooCommerce Inventory Reorder Automation with n8n, Gmail & Slack Alerts\n\n**Automatically track product sales and inventory levels in WooCommerce and trigger reorder notifications when stock runs low or sales spike.**  \n\nThis n8n workflow runs daily, analyzes all WooCommerce orders to calculate SKU-wise sales, compares them with current product stock, calculates an optimal reorder quantity and sends automated alerts via **Email (Gmail)** and **Slack** when a product meets reorder conditions.\n\n### Quick Implementation Steps (Get Started Fast)\n\n1. Import the workflow JSON into your n8n instance.\n2. Connect WooCommerce, Gmail and Slack credentials.\n3. Set the Schedule Trigger to run daily.\n4. Update email recipients and Slack channel.\n5. Activate the workflow.\n\n\n## What It Does  \n\nThis workflow automates inventory monitoring and reorder decision-making for WooCommerce stores. On a daily schedule, it fetches **all orders** from WooCommerce and calculates how many units of each SKU were sold. This gives you a clear picture of recent sales velocity without manual reporting.\n\nThe workflow then retrieves live product inventory data from WooCommerce, including current stock levels and low-stock thresholds. Sales data and product data are merged using SKU matching and evaluated using logical conditions to determine whether a product should be reordered.\n\nWhen a product meets the reorder criteria, the workflow calculates an optimal reorder quantity using average daily sales, supplier lead time and safety stock logic. It then automatically notifies the purchasing team via **email and Slack**, ensuring no critical stock replenishment is missed.\n\n\n## Who’s It For  \n\nThis workflow is ideal for:\n\n- WooCommerce store owners\n- Inventory and supply chain managers\n- E-commerce operations teams\n- Businesses looking to reduce stockouts\n- Teams that want proactive, automated purchase alerts\n\n\n## Requirements to Use This Workflow  \n\nTo use this workflow, you will need:\n\n- An active **n8n** instance\n- A **WooCommerce store** with:\n  - Products using SKUs\n  - Stock management enabled\n- WooCommerce API credentials with access to:\n  - Orders\n  - Products\n- A **Gmail account** connected to n8n (OAuth2)\n- A **Slack workspace** with bot permissions\n- Basic understanding of n8n nodes and credentials\n\n\n## How It Works & How To Set Up  \n\n### Step-by-Step Workflow Logic\n\n1. **Schedule Trigger (Daily)**\n   - The workflow runs automatically once per day.\n2. **Fetch All WooCommerce Orders**\n   - Retrieves all available orders from WooCommerce.\n   - No status or date filtering is applied.\n3. **Calculate Sales per SKU**\n   - A JavaScript Code node loops through order line items.\n   - Quantities sold are aggregated per SKU.\n4. **Fetch All WooCommerce Products**\n   - Retrieves product inventory data including:\n     - Stock quantity\n     - Low stock threshold\n     - Product name\n5. **Merge Sales & Product Data**\n   - Sales data and product inventory data are merged using SKU matching.\n6. **Reorder Eligibility Filter**\n   - A product qualifies if **either** condition is met:\n     - Current stock ≤ low-stock threshold  \n     - OR recent sales quantity ≥ 1.5× low-stock threshold\n7. **Reorder Quantity Calculation**\n   - Uses:\n     - Average daily sales\n     - Fixed lead time (7 days)\n     - Safety stock (5 units)\n   - Calculates recommended reorder quantity.\n8. **Email Notification**\n   - Sends a formatted HTML email with reorder details.\n9. **Slack Notification**\n   - Sends a real-time alert to a specified Slack channel.\n\n\n## How To Customize Nodes  \n\nYou can easily adapt this workflow to your business needs:\n\n- **Schedule Trigger**\n  - Change execution frequency (daily, weekly, etc.).\n- **Sales Calculation Code**\n  - Modify logic to:\n    - Ignore certain SKUs\n    - Add time-based filtering\n    - Apply weighted averages\n- **Filter Conditions**\n  - Adjust reorder rules:\n    - Change sales multiplier\n    - Use AND logic instead of OR\n- **Reorder Formula**\n  - Update lead time or safety stock values.\n  - Integrate supplier-specific rules.\n- **Email & Slack Nodes**\n  - Replace recipients and channels.\n  - Customize message formatting or branding.\n\n\n## Add-ons (Extend the Workflow)  \n\nYou can enhance this workflow with:\n\n- Automatic **purchase order creation** in ERP systems\n- Google Sheets logging for reorder history\n- Vendor-specific reorder logic\n- Forecast-based inventory planning\n- Approval workflows before notifications\n- Webhook integration with procurement tools\n\n\n## Use Case Examples  \n\nPrimary use cases include:\n\n1. Preventing stockouts in fast-moving WooCommerce stores\n2. Automating daily inventory monitoring\n3. Supporting purchasing teams with data-driven reorder alerts\n4. Replacing manual stock checks and spreadsheets\n5. Improving response time to sudden sales spikes  \n\nThere are many more variations of this workflow that can be adapted to different industries and store sizes.\n\n\n## Troubleshooting Guide  \n\n| Issue | Possible Cause | Solution |\n|-----|---------------|----------|\n| No emails sent | Gmail credentials not connected | Reconnect Gmail OAuth2 |\n| No Slack alerts | Wrong channel ID or permissions | Update channel and Slack app scopes |\n| Reorder triggered too often | Filter logic too sensitive | Adjust threshold values |\n| Missing sales data | Products without SKUs | Ensure all products have SKUs |\n| Workflow fails | WooCommerce API limits | Reduce frequency or paginate data |\n\n\n## Need Help?  \n\nNeed assistance setting up this workflow or customizing it for your business?  \n\nOur [n8n workflow development](https://www.weblineindia.com/n8n-automation/) team at **WeblineIndia** specializes in building advanced n8n automations, WooCommerce integrations and end-to-end business process workflows.\n\nWhether you need enhancements, add-ons or a completely custom automation solution, our experts are here to help you streamline operations and scale efficiently.\n\n**Contact WeblineIndia** to get started with smarter automation today.","workflow":{"id":"5DYragY8HoMNyMHF","meta":{"instanceId":"14e4c77104722ab186539dfea5182e419aecc83d85963fe13f6de862c875ebfa","templateCredsSetupCompleted":true},"name":"WooCommerce Inventory Reorder Automation with n8n, Gmail & Slack Alerts","tags":[],"nodes":[{"id":"a40203de-1271-4844-9d40-24ba95a8ce6f","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-1632,-480],"parameters":{"color":7,"width":720,"height":624,"content":"## Inventory & Sales Intake\n\n\n### •Trigger :- The workflow starts automatically based on a scheduled trigger.\n### • WooCommerce Node :- Order data is fetched from WooCommerce using the Orders API.\n### • Code :- Sales quantities are calculated per SKU from order line items.\n### This step converts raw order data into meaningful sales metrics.\n\n### - If order data is unavailable or invalid, the workflow stops further processing.\n### - This prevents incorrect sales calculations and downstream errors.\n"},"typeVersion":1},{"id":"1cd9d374-16bc-41e8-8194-320518dbf48e","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-848,-480],"parameters":{"color":7,"width":624,"height":624,"content":"## Product Mapping & Eligibility Validation\n\n### Product inventory details are fetched and aligned with sales data.\n### Current stock levels and low-stock thresholds are retrieved for each product.\n### Sales data and product inventory are merged into a single dataset.\n### Reorder eligibility is validated using OR-based logic:\n### • stock quantity is below the low-stock level\n### • OR sales velocity exceeds the defined threshold\n\n### Products that fail validation are excluded from further processing.\n### This prevents unnecessary purchase orders and alert noise."},"typeVersion":1},{"id":"6df12f5e-3acf-46c5-b98f-eed2c11b0f3c","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-128,-480],"parameters":{"color":7,"width":576,"height":624,"content":"## Reorder Calculation & Notifications\n\n### Code :-\n### The workflow calculates the required reorder quantity for eligible products.\n### Average daily sales, lead time and safety stock are applied to compute reorder quantity.\n### Once calculated, notifications are sent to the purchasing team.\n### Notifications include:\n• Email with reorder details\n• Slack alert for real-time visibility"},"typeVersion":1},{"id":"5018ae67-c1a8-4521-8b99-6e2a21b95858","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-2336,-592],"parameters":{"width":672,"height":1024,"content":"## How it Works:\n• This workflow automatically monitors product inventory and recent sales activity on a scheduled basis.\n\n• On each execution, the workflow fetches recent WooCommerce orders and calculates SKU-wise sales quantities to understand current demand trends.\n\n• It then retrieves live product inventory data, including current stock levels and low-stock thresholds and validates whether products meet reorder conditions based on stock depletion or sales velocity.\n\n• When a product qualifies for replenishment, the workflow calculates an optimal reorder quantity using average daily sales, lead time and safety stock logic.\n\n• Once the reorder quantity is determined, the workflow sends automated notifications to the purchasing team via email and Slack. Products that do not meet reorder criteria are safely ignored.\n\n• Overall, this workflow enables proactive inventory replenishment, prevents stockouts, reduces manual monitoring and improves purchasing efficiency without human intervention.\n\n### Setup Steps:\n\n1. Create a Schedule Trigger in n8n to run the workflow at a defined interval (daily, hourly or custom).\n\n2. Configure the WooCommerce Orders API node to fetch recent orders required for sales analysis.\n\n3. Add a JavaScript Code node to normalize order data and calculate total quantities sold per SKU.\n\n4. Configure the WooCommerce Products API node to retrieve current stock levels and low-stock thresholds for all products.\n\n5. Use a Merge node to combine sales data with product inventory data into a unified dataset.\n\n6. Add a Filter node to validate reorder eligibility based on:\n\n• stock quantity less than or equal to low-stock threshold\n\n•OR recent sales exceeding the defined sales velocity threshold\n\n7. Add a JavaScript Code node to calculate reorder quantity using average daily sales, lead time and safety stock.\n\n8. Configure an Email node to send reorder details to the purchasing team for action.\n\n9. Configure a Slack node to send real-time alerts with product and reorder information for internal visibility"},"typeVersion":1},{"id":"8cee01d6-fb79-4c60-a64e-daa179bfff12","name":"Merge Sales & Inventory Data","type":"n8n-nodes-base.merge","position":[-592,-80],"parameters":{},"typeVersion":3.2},{"id":"343bbd75-fa34-49db-b63a-77e2a9f5aec2","name":"Inventory Check","type":"n8n-nodes-base.scheduleTrigger","position":[-1584,-80],"parameters":{"rule":{"interval":[{"triggerAtHour":21}]}},"typeVersion":1.2},{"id":"e213338f-4aa3-4b73-bd97-9ae1e58e958e","name":"Fetch Orders","type":"n8n-nodes-base.wooCommerce","position":[-1344,-80],"parameters":{"options":{},"resource":"order","operation":"getAll","returnAll":true},"credentials":{"wooCommerceApi":{"id":"credential-id","name":"Credential Name"}},"typeVersion":1},{"id":"6a6da4b9-e73d-499e-99bd-b5a48d187acd","name":"SKU Sales Volume","type":"n8n-nodes-base.code","position":[-1104,-80],"parameters":{"jsCode":"const sales = {};\n\nfor (const order of items) {\n  for (const item of order.json.line_items || []) {\n    if (!item.sku) continue;\n    sales[item.sku] = (sales[item.sku] || 0) + item.quantity;\n  }\n}\n\nreturn Object.entries(sales).map(([sku, soldQty]) => ({\n  json: { sku, soldQty }\n}));\n"},"typeVersion":2},{"id":"02720b8b-1aa6-4bf5-b3d7-3ebc04bcd17a","name":"Fetch Products","type":"n8n-nodes-base.wooCommerce","position":[-800,-80],"parameters":{"options":{},"operation":"getAll"},"credentials":{"wooCommerceApi":{"id":"credential-id","name":"Credential Name"}},"typeVersion":1},{"id":"0e358072-e091-4aa7-a961-54849ab7205e","name":"Reorder Check","type":"n8n-nodes-base.filter","position":[-384,-80],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"e8c8c12a-f69e-4544-ae61-c9f4d89447d7","operator":{"type":"number","operation":"lte"},"leftValue":"={{ $json.stock_quantity }}","rightValue":"={{ $json.low_stock_amount }}"},{"id":"c4bef731-2e7f-42b0-9868-d91473187af2","operator":{"type":"number","operation":"gte"},"leftValue":"={{ $('SKU Sales Volume').item.json.soldQty }}","rightValue":"={{ $json.low_stock_amount * 1.5}}"}]}},"typeVersion":2.2},{"id":"858fef79-d415-4ce5-ace1-8fae9ee66804","name":"Reorder Calc","type":"n8n-nodes-base.code","position":[-64,-80],"parameters":{"jsCode":"const leadDays = 7;\nconst safetyStock = 5;\n\nconst dailyAvg = Math.ceil( $('SKU Sales Volume').first().json.soldQty/ 7);\nconst reorderQty = (dailyAvg * leadDays) + safetyStock;\n\nreturn [{\n  json: {\n    sku: $('SKU Sales Volume').first().json.sku,\n    productName:$('Fetch Products').first().json.name,\n    reorderQty,\n    currentStock: $('Fetch Products').first().json.stock_quantity\n  }\n}];\n"},"typeVersion":2},{"id":"96a631d1-e691-4e0f-99f2-b0f6635dbe5f","name":"Send Email","type":"n8n-nodes-base.gmail","position":[128,-80],"webhookId":"62e281af-f73b-4ce0-a16e-a99ecf97fe93","parameters":{"sendTo":"user@example.com","message":"=<h3>Purchase Order Created Automatically</h3>  <p>A product has reached its reorder condition.</p>  <table border=\"1\" cellpadding=\"6\" cellspacing=\"0\">   <tr><td><b>SKU</b></td><td>{{ $json.sku }}</td></tr>   <tr><td><b>Product</b></td><td>{{ $json.productName }}</td></tr>   <tr><td><b>Current Stock</b></td><td>{{ $json.currentStock }}</td></tr>   <tr><td><b>Reorder Quantity</b></td><td>{{ $json.reorderQty }}</td></tr>   <tr><td><b>Created At</b></td><td>{{ $now }}</td></tr> </table>  <p>Please review and proceed with supplier ordering.</p>","options":{},"subject":"Auto PO Created"},"credentials":{"gmailOAuth2":{"id":"credential-id","name":" "}},"typeVersion":2.1},{"id":"7caf25c1-6bd3-4033-ad45-a06d3f52bfe6","name":"Slack Alert","type":"n8n-nodes-base.slack","position":[320,-80],"webhookId":"46524e7d-5178-4f8a-be05-13b308a2cd88","parameters":{"text":"=📦 *Auto Purchase Order Triggered*  • *Product:* {{ $json.productName }} • *SKU:* {{ $json.sku }} • *Current Stock:* {{ $json.currentStock }} • *Reorder Qty:* {{ $json.reorderQty }}  ⏱ Triggered automatically via n8n","select":"channel","channelId":{"__rl":true,"mode":"list","value":"C0A3WQEKQ58","cachedResultName":"n8n-demo"},"otherOptions":{}},"credentials":{"slackApi":{"id":"credential-id","name":"Credential Name"}},"typeVersion":2.3}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"55dfa8a0-d434-4baa-b16a-1607b794da3b","connections":{"Send Email":{"main":[[{"node":"Slack Alert","type":"main","index":0}]]},"Fetch Orders":{"main":[[{"node":"SKU Sales Volume","type":"main","index":0}]]},"Reorder Calc":{"main":[[{"node":"Send Email","type":"main","index":0}]]},"Reorder Check":{"main":[[{"node":"Reorder Calc","type":"main","index":0}]]},"Fetch Products":{"main":[[{"node":"Merge Sales & Inventory Data","type":"main","index":0}]]},"Inventory Check":{"main":[[{"node":"Fetch Orders","type":"main","index":0}]]},"SKU Sales Volume":{"main":[[{"node":"Fetch Products","type":"main","index":0}]]},"Merge Sales & Inventory Data":{"main":[[{"node":"Reorder Check","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":13,"nodeTypes":{"n8n-nodes-base.code":{"count":2},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.slack":{"count":1},"n8n-nodes-base.filter":{"count":1},"n8n-nodes-base.stickyNote":{"count":4},"n8n-nodes-base.wooCommerce":{"count":2},"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":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":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":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":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"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"},{"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/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"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/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"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":36,"name":"File Management"}],"image":[]}}