Stressing n8n Workflows Capabilities
Overview
Workflows excel at what they were built for: structured, repetitive, and predictable automation tasks. They are ideal for machine-to-machine processes triggered by external systems such as CRMs, email platforms, or ticketing tools. A workflow follows a predefined sequence of actions: receive an event, process it, and produce an output.
However, human conversations are fundamentally different. They are non-linear, context-driven, and unpredictable. A customer might start by asking about a product, then shift to a payment question, and later return to comparing features. Each of these turns requires the system to maintain context, including preferences, prior answers, and selections, rather than restarting from scratch.
Traditional workflow orchestrators such as n8n are powerful for sequential task automation but are not designed for dynamic, human-like exchanges:
- They restart from the beginning with every new message.
- They are stateless per input, unless paired with external data storage.
- They struggle to handle topic shifts and interruptions naturally.
- They require resending full context at each step, increasing token usage and latency, which leads to repetitive or disconnected experiences.
In contrast, our Conversational AI Orchestrator is designed specifically to manage real-time, adaptive interactions.
It empowers AI Agents to:
- Maintain state: Each agent manages the conversation with the user until fulfilling their goal.
- Route dynamically: Agents can hand off control to one another without restarting the conversation or losing context.
- Adapt seamlessly: The system adjusts intelligently when a user changes topics or introduces new information mid-conversation.
- Optimize efficiency: Only the relevant agent processes each exchange, minimizing token consumption and improving responsiveness.
This architecture ensures conversations remain natural, personalized, and efficient, which is a core requirement for production-grade conversational AI systems.
Example: E-Commerce Customer Support Use Case
To illustrate the differences between workflow-based automation and conversational AI orchestration, we designed an e-commerce customer support assistant built on both the Ubility Conversational AI Orchestrator and n8n.
This AI-driven purchasing assistant represents a real-world business scenario where customers expect seamless, end-to-end support within a single conversation. The assistant helps users browse products, place new orders, confirm purchases, and track shipments — all through natural dialogue.
The process begins with the system analyzing the user’s message to determine intent, then intelligently routing the request to the appropriate specialized agent, such as the Product Catalog Agent, Purchasing Agent, or Order Tracking Agent.
Each agent has access to relevant business data and maintains conversational memory, allowing it to recall past interactions and preferences.
From a business perspective, this architecture demonstrates how organizations can:
- Deliver personalized, context-aware customer support at scale.
- Reduce operational costs by automating repetitive inquiries without sacrificing customer experience.
- Improve conversion rates and satisfaction by guiding customers naturally from discovery to purchase within a single, uninterrupted flow.
By comparing this scenario across Ubility and n8n, we can clearly see how stateful, adaptive orchestration unlocks a more efficient and human-like customer experience — one that directly aligns with modern e-commerce and customer service goals.
Use Case Implementation: n8n Example
Agent Architecture Overview
- Message Analyzer Agent – Understands the user’s request and decides which specialized agent should handle it.
- Browse Product & Catalogue Agent – Helps customers explore and learn about available products and their details.
- Purchasing Agent – Collects customer information and assists in placing new orders.
- Order Confirmation Agent – Verifies and confirms existing orders for customers.
- Shipment Agent – Provides shipment details and delivery status updates.
- Order Tracking Agent – Tracks orders from purchase to delivery, offering real-time updates.
Scenario: n8n Side
User:
“Hello, I want to explore all the products.”
➡️ Workflow triggered → Message Analyzer Agent → Switch Node → Browse Product & Catalogue Agent
Agent Response:
Here’s a look at some of the diverse products we have to offer:
Fashion:
- Levi’s 501 Jeans — $734.71 (163 units)
- Ray-Ban Aviators — $45 (23 units)
- Gucci Leather Belt — $3,439.01 (318 units)
- Nike Air Max — $4,034.38 (92 units)
- Adidas Running Shoes — $681.81 (431 units)
Electronics:
- Sony WH-1000XM5 — $4,943.08 (114 units)
- iPhone 15 — $2,182.71 (197 units)
- MacBook Pro M2 — $4,428.37 (286 units)
- Samsung Galaxy S24 — $4,383.90 (314 units)
User:
“I’d like to get the Ray-Ban Aviators.”
➡️ Workflow triggered → Message Analyzer Agent → Switch Node → Purchasing Agent
Agent Response:
Great choice! How many Ray-Ban Aviators would you like to purchase?
User:
“Only one.”
➡️ Workflow triggered → Purchasing Agent
Agent Response:
Here are the available vendors and prices:
- Sunlight — $45
- Optic Ado — $38
- Ray-Ban — $30
Please tell me your preferred vendor.
User:
“I’d like to buy it from the original Ray-Ban Store.”
➡️ Workflow triggered → Purchasing Agent
Agent Response:
Order summary:
- Item: Ray-Ban Aviators
- Quantity: 1
- Vendor: Ray-Ban
- Price: $30
Order ready to proceed!
User:
“Thank you! Yes, let’s proceed with this order.”
➡️ Workflow triggered → Order Confirmation Agent
Agent Response:
Please provide:
- Full name
- Email address
- Phone number
- Visa number
User:
“My full name is Jake Doe, my email is jakedoe@example.com, my phone number is +44 8945 210 0713, and my Visa number is 4921 2673 1246 7842.”
➡️ Workflow triggered → Order Confirmation Agent
Agent Response:
Order confirmed! 🎉
Order ID: ORD-12345
User:
“Thanks a lot. Could you deliver it to my house?”
➡️ Workflow triggered → Shipment Agent
Agent Response:
Please provide:
- Shipping address (street, city, postal code, country)
- Phone number for delivery contact
- Preferred delivery option (standard or express)
User:
“My shipping address is 221B Baker Street, London, NW1 6XE, United Kingdom. My phone number is +44 8945 210 0713 and I prefer express delivery.”
➡️ Workflow triggered → Shipment Agent
Agent Response:
Shipping information confirmed. Your order will be shipped with express delivery. Thank you! 🚚✨
Scenario: Ubility Side
User:
“Hello, I want to explore all the products.”
➡️ Condition Agent → Browsing Products Agent (Fetches all available products)
User:
“I’d like to get the Ray-Ban Aviators.”
➡️ Orchestrator transition → Purchasing Agent (Direct switch; no path repetition)
User:
“Only one.”
➡️ Orchestrator state: Purchasing Agent (Remains in same state; requests vendor & shows prices)
User:
“I’d like to buy it from the original Ray-Ban Store.”
➡️ Orchestrator transition → Order Confirmation Agent (Direct transition, gathers order details)
User:
“My full name is Jake Doe, my email is jakedoe@example.com, my phone number is +44 8945 210 0713, and my Visa number is 4921 2673 1246 7842.”
➡️ Orchestrator state: Order Confirmation Agent (Validates payment, saves data, generates order ID)
User:
“Yes, I want you to deliver my product. My shipping address is 221B Baker Street, London, NW1 6XE, United Kingdom. My phone number is +44 8945 210 0713 and I prefer express delivery.”
➡️ Orchestrator state: Shipment Agent (Validates and saves shipping info)
Transition Comparison: n8n vs Ubility
| Conversation Exchange | n8n | Ubility |
|---|---|---|
| User: “Hello, I want to explore all the products.” | Workflow triggered → Message Analyzer → Switch Node → Browse Product Agent (4 steps) | Condition agent → Browsing Products Agent (2 steps) |
| User: “I’d like to get the Ray-Ban Aviators.” | Workflow triggered → Message Analyzer → Switch node → Purchasing Agent (4 steps) | Purchasing Agent continues without restart (1 step/agent) |
| User: “Only one.” | Workflow triggered → Message Analyzer → Switch node → Purchasing Agent requests vendor info (4 steps) | Orchestrator stays in Purchasing Agent; requests preferred vendor & shows price comparisons (1 step/agent) |
| User: “I’d like to buy it from the original Ray-Ban Store.” | Workflow triggered → Message Analyzer → Switch node → Purchasing Agent confirms product & summarizes (4 steps) | Orchestrator remains in Purchasing Agent; confirms order & transitions to Order Confirmation Agent (1 step/agent) |
| User: “My full name is Jake Doe…” | Workflow triggered → Message Analyzer → Switch node → Order Confirmation Agent (4 steps) | Orchestrator transitions to Order Confirmation Agent; validates payment & saves data (1 step/agent) |
| User: “My shipping address…” | Workflow triggered → Message Analyzer → Switch node → Shipment Agent saves delivery info (4 steps) | Orchestrator transitions to Shipment Agent; finalizes shipping details (1 step/agent) |
Token Consumption Comparison
| Metric | n8n Sequential Flow | Ubility Conversational Orchestrator |
|---|---|---|
| Total tokens (measured) | 89,065 | 48,455 |
| Tokens saved (absolute) | - | 40,610 |
| Tokens saved (relative) | - | ≈ 45.6% fewer tokens |
| Cost saved (relative) | - | ≈ 54% lower cost |
| Trend | Token usage and cost increase rapidly as each message reprocesses full history. | Token usage remains efficient and stable thanks to shared memory and contextual handoffs |
n8n vs Ubility: Conversational Orchestration Comparison
| Aspect | n8n | Ubility |
|---|---|---|
| Conversation Model | Stateless Conversations : Each message restarts the workflow from the beginning. Every user message passes through the initial trigger and ends at the final node. In multi-agent setups, all agents reprocess the same context. | Stateful Conversations : Each AI agent retains its own memory and context across turns. The orchestrator continues from where the conversation left off without restarting. |
| Context Handling | The workflow does not retain conversational context between messages. | Shared state and agent memory enable seamless continuation across turns. |
| Token Usage | High token consumption : The full conversation history must be resent on every turn. | Optimized token usage : Only relevant, targeted context is shared between agents. |
| Performance & Latency | Higher latency due to redundant processing and repeated context evaluation. | Faster responses with reduced processing overhead. |
| Error Handling | Higher error probability : The system may repeat questions or lose track of prior user inputs. | Context retention and accuracy : Avoids repeated questions and maintains validated user inputs. |
| Orchestration Style | Rigid orchestration : Inflexible and robotic user experience. | Dynamic orchestration : Agents route, adapt, and collaborate in real time. |
| User Experience | Redundant flows, slower responses, and poor conversational continuity. | Smooth, human-like, and efficient conversational experience. |
| Overall Outcome | Redundancy, higher latency, and poor user experience. | Faster responses, lower token usage, and natural conversational flow. |
Routing and Sequential Capabilities
Traditional workflow-based systems (such as n8n or Zapier) and Conversational AI Orchestrators differ significantly in how they manage routing and sequence control during interactions.
Sequential Routing in Workflow-Based Systems
Workflow-based systems follow predefined, linear paths. Each user message re-triggers the entire process from the start, executing tasks step by step according to a static order.
This approach is ideal for structured automation but lacks flexibility in dynamic, human-like conversations.
-
Routing Type: Fixed and sequential
-
Context Handling: Stateless, the system restarts each time and re-analyzes the input.
-
Behavior: Each action depends on completing the previous one, with no adaptive jumps
-
Limitation: If a user changes intent mid-conversation, the flow cannot adapt and must restart
Example: In an e-commerce support scenario, if the user begins an order placement process but then asks to track a previous order, the workflow cannot reroute dynamically. It must complete or restart the process.