Skip to main content

Overview

The Workflow Application is the most powerful application type in Nadoo AI. Instead of a single LLM conversation, a Workflow App uses a visual node graph to define complex, multi-step execution flows. Nodes represent individual operations — AI model calls, conditional branches, loops, knowledge base queries, HTTP requests, code execution — and edges define the data flow between them. Workflow Apps are ideal for:
  • Multi-step AI agent pipelines with branching logic
  • Data processing and transformation workflows
  • Orchestrated multi-agent systems
  • Automated business processes with AI decision-making

How It Works

A workflow is a directed graph built in the visual editor. Execution begins at a Start Node, flows through connected nodes, and terminates when all paths reach an End Node or an unconnected output. Each node processes its input, executes its operation, and passes the result to the next node(s) via edges. Variables flow through the graph, accumulating context as execution progresses.

Node Types

Nadoo AI provides 18+ built-in node types organized by category.

Core Nodes

NodeDescription
StartEntry point of every workflow. Receives user input and initial variables.
EndTerminal node that returns the final output to the user.
AI AgentCalls an AI model with configurable system prompt, tools, and agent strategy.
LLMDirect LLM call without agent capabilities — simpler and faster for basic generation.

Logic Nodes

NodeDescription
ConditionBranches execution based on a boolean expression or comparison.
LoopIterates over a list, executing child nodes for each item.
SwitchRoutes execution to one of multiple paths based on a value match.
MergeCombines outputs from parallel branches into a single output.

Data Nodes

NodeDescription
Search KnowledgeQueries a knowledge base using vector, keyword, or hybrid search.
HTTP RequestMakes HTTP calls to external APIs with configurable method, headers, and body.
Code ExecutorRuns custom Python or JavaScript code with access to workflow variables.
Variable SetterSets or updates a workflow variable.
TemplateRenders a text template with variable interpolation using Jinja2 syntax.

Integration Nodes

NodeDescription
Tool CallInvokes a registered plugin or tool.
Webhook TriggerStarts a workflow from an incoming webhook request.
EmailSends an email with a configurable template.
NotificationSends a notification to a configured channel (Slack, Discord, etc.).

Advanced Nodes

NodeDescription
Sub-WorkflowEmbeds and executes another workflow as a nested operation.
Human ReviewPauses execution and waits for human approval before continuing.
ParallelExecutes multiple branches simultaneously and waits for all to complete.

Building a Workflow

1

Create a Workflow App

From the workspace dashboard, click New Application and select Workflow as the type.
2

Open the Visual Editor

The workflow editor opens with a Start Node already placed on the canvas.
3

Add Nodes

Drag nodes from the node palette onto the canvas. Connect them by dragging from an output port to an input port.
4

Configure Each Node

Click a node to open its configuration panel. Set the model, prompt, condition expression, or other parameters specific to the node type.
5

Define Variables

Use the Variables panel to define workflow-level variables that nodes can read and write.
6

Test and Debug

Click Run to execute the workflow with test input. The visual editor highlights the active node and shows real-time output at each step.

AI Agent Node

The AI Agent node is the most commonly used node. It wraps an LLM with an agent strategy that determines how the model reasons and uses tools.

Agent Strategies

StrategyDescription
StandardSingle LLM call with optional tool use. Fastest execution.
Chain of Thought (CoT)Model reasons step-by-step before producing a final answer.
ReActInterleaves reasoning and action — the model thinks, acts (calls a tool), observes the result, and repeats.
Function CallingModel selects and invokes tools using structured function call syntax.
ReflectionModel generates an initial response, critiques it, and refines it.
Tree of ThoughtsExplores multiple reasoning paths in parallel and selects the best outcome.
ReAct and Function Calling are the most versatile strategies for workflows that involve tool use. Use Chain of Thought when you need transparent, step-by-step reasoning without tools.

Execution and Streaming

When a Workflow App executes, Nadoo AI streams progress events in real time via Server-Sent Events (SSE). This allows the frontend to display which node is running, show intermediate results, and render the final output as it is generated.

Workflow-Level Events

EventDescription
workflow_startWorkflow execution has begun
workflow_endWorkflow execution completed successfully
workflow_errorWorkflow execution failed with an error

Node-Level Events

EventDescription
node_startA specific node has started executing
node_endA specific node has finished executing
node_errorA specific node encountered an error

Agent-Level Events

EventDescription
agent_iterationAn agent reasoning iteration has occurred
agent_tool_callThe agent is invoking a tool
agent_tool_resultA tool has returned a result
agent_thinkingThe agent is in a thinking/reasoning phase
cot_stepA chain-of-thought reasoning step
See Real-time Streaming for the full event reference with example payloads.

Running a Workflow

Via the Chat Interface

Workflow Apps can be used through the same chat interface as Chat Apps. The user sends a message, the workflow executes, and the final output is streamed back. Intermediate steps (node execution, tool calls, reasoning) can be displayed in an expandable execution monitor.

Via the API

POST /api/v1/workflow/execute
{
  "application_id": "app-uuid",
  "inputs": {
    "query": "Summarize last quarter's sales report"
  },
  "stream": true
}
The response is an SSE stream with workflow, node, and agent events.

Via Scheduling

Automate workflow execution on a schedule using cron expressions. See Scheduling for details.

Versioning and Publishing

Workflows support versioning to manage changes safely.
ConceptDescription
DraftThe working version visible in the editor. Changes are saved automatically.
PublishedThe live version that serves user requests. Immutable once published.
Version HistoryA log of all published versions with timestamps and change descriptions.

Publishing a Workflow

  1. Click Publish in the workflow editor toolbar
  2. Enter a version description (e.g., “Added fallback handling for API errors”)
  3. The current draft becomes the new published version
  4. Previous published versions remain in the version history for rollback
Publishing replaces the live version immediately. Test thoroughly in the editor before publishing. You can roll back to any previous version from the version history.

Best Practices

Begin with a linear flow: Start -> AI Agent -> End. Add branching, loops, and tools incrementally as you validate each step.
Rename nodes to describe their purpose (e.g., “Classify Intent” instead of “AI Agent 1”). This makes complex workflows readable at a glance.
Add Condition nodes after critical operations (HTTP requests, tool calls) to handle failure cases gracefully. Use the node_error event to surface issues to users.
Extract reusable logic into sub-workflows. This keeps the main workflow clean and makes common patterns shareable across applications.
Use the visual debugger to step through execution with various inputs — including empty inputs, malformed data, and adversarial prompts.

Next Steps