v2 — hardened after a self-review pass: fixed a mislabeled node, added explicit handling for the previously-silent branch, and introduced inter-batch rate limiting. See Fixed in v2 below.
customer_id, pushes the full enriched set to a downstream queue, and additionally identifies pending orders from Enterprise-tier customers to fast-track through a batched priority queue.customer_id, producing a single enriched dataset.GetOrders is configured to walk through pages rather than assuming a single response page.n8n-nodes-base.manualTrigger Pipeline entry point GetOrders n8n-nodes-base.httpRequest Paginated order fetch GetCustomers n8n-nodes-base.httpRequest Customer data fetch MergeOrdersCustomers n8n-nodes-base.merge Join on customer_id, enrich orders enriched_orders n8n-nodes-base.aggregate Collapses items into one payload for queue delivery SendToOrdersQueue n8n-nodes-base.httpRequest Delivers enriched dataset downstream CheckSubscriptionTier n8n-nodes-base.if Branches Enterprise vs. other tiers Non-Enterprise (not routed) n8n-nodes-base.noOp Explicit terminal for non-Enterprise orders — makes the "no further action" branch visible instead of a silent dead end FilterPendingOrders n8n-nodes-base.filter Keeps only orders not yet delivered (renamed from FilterDelivered for clarity) BatchPriorityOrders n8n-nodes-base.splitInBatches Controls throughput to the priority queue SendToPriorityQueue n8n-nodes-base.httpRequest Delivers priority batch WaitBetweenBatches n8n-nodes-base.wait Throttles the loop before the next batch fires, protecting the receiving API FinalizePipeline n8n-nodes-base.httpRequest Posts run summary (totals, batch size, retry flag)FilterDelivered name implied the opposite of its actual behavior (it kept non-delivered orders) Renamed to FilterPendingOrders CheckSubscriptionTier's false branch (non-Enterprise orders) silently dead-ended with no visible handling Added an explicit Non-Enterprise (not routed) No-Op node so the branch's behavior is documented in the workflow itself, not just in prose Priority queue batches fired back-to-back with no spacing, risking rate-limit issues on the receiving API Added a WaitBetweenBatches node in the loop, throttling each batch cycle No retry on external HTTP calls retryOnFail enabled (3 attempts, backoff) on all outbound HTTP Request nodes FinalizePipeline's enterprise_count metric was pulling from the wrong node output Corrected to reference the actual Enterprise-filtered item countGetOrders increments page on each call — worth double-checking the configured completion rule matches the API's actual "no more pages" signal (empty array vs. a has_next flag) rather than relying on defaults.splitInBatches) to control downstream API load instead of firing all requests at once.Posted Sep 26, 2026
Automated data pipeline fetching paginated orders, merging enriched records, and routing Enterprise-tier orders into a rate-limited, retry-safe priority queue.