Skip to main content

Overview

Every Nadoo AI workflow begins with a Start Node and terminates with an End Node. These two nodes are mandatory — they define the boundaries of your execution graph. The Question Node complements them by allowing the workflow to pause mid-execution and wait for additional user input. Together, these three nodes form the input/output backbone of the workflow engine.

Start Node

The Start Node is the entry point for every workflow. When a workflow execution begins, the Start Node receives the user’s initial message, initializes the workflow context, and sets up any default variables before passing control to the next node in the graph.

Responsibilities

  • Receive the initial user message and any attached files
  • Initialize the WorkflowContext with global variables
  • Set up conversation history for downstream AI Agent nodes
  • Trigger the first edge in the execution graph

Configuration

{
  "type": "start-node",
  "config": {
    "variables": [
      {
        "name": "language",
        "type": "string",
        "default": "en"
      },
      {
        "name": "max_results",
        "type": "number",
        "default": 5
      }
    ]
  }
}
ParameterTypeDescription
variablesarrayList of workflow-level variables to initialize at the start of execution
variables[].namestringVariable name, referenced by downstream nodes as {{variable_name}}
variables[].typestringData type: string, number, boolean, array, object
variables[].defaultanyDefault value if not provided by the caller

Output

The Start Node writes the following to the workflow context:
KeyDescription
user_messageThe initial user message text
filesArray of uploaded file references (if any)
variablesInitialized variable map
Every workflow must have exactly one Start Node. The visual editor enforces this constraint automatically.

End Node

The End Node is the terminal point of a workflow. It collects the final outputs from the workflow context and delivers the response to the user. Once the End Node executes, the workflow transitions to the workflow_finished state.

Responsibilities

  • Collect final output variables from the workflow context
  • Format the response for delivery
  • Emit the workflow_finished SSE event
  • Close the execution session

Configuration

{
  "type": "end-node",
  "config": {
    "outputs": [
      {
        "name": "response",
        "source": "{{ai_agent_output}}"
      },
      {
        "name": "metadata",
        "source": "{{search_results_metadata}}"
      }
    ]
  }
}
ParameterTypeDescription
outputsarrayList of output mappings to include in the final response
outputs[].namestringKey name for the output
outputs[].sourcestringVariable reference or expression to resolve the value

Behavior

  • If no outputs are configured, the End Node returns the last written value in the workflow context
  • Multiple End Nodes are allowed for workflows with branching paths — whichever branch completes first triggers the response

Question Node

The Question Node pauses the workflow and prompts the user for additional input. This is essential for multi-turn workflows where the agent needs clarification, confirmation, or additional information before proceeding.

How It Works

1

Pause Execution

The workflow reaches the Question Node and transitions to the INTERRUPTED status.
2

Prompt the User

The node emits a question_asked SSE event with the configured prompt text.
3

Wait for Response

The workflow engine suspends execution until the user provides a response.
4

Resume Execution

The user’s response is written to the workflow context, and execution continues from the Question Node’s output edge.

Configuration

{
  "type": "question-node",
  "config": {
    "question_text": "What is your preferred language for the report?",
    "variable_name": "user_language",
    "options": ["English", "Korean", "Japanese"],
    "required": true
  }
}
ParameterTypeDefaultDescription
question_textstringThe prompt displayed to the user
variable_namestringContext variable to store the user’s response
optionsstring[][]Optional list of predefined choices
requiredbooleantrueWhether the user must provide a response to continue

Output

The user’s response is stored in the workflow context under the configured variable_name, making it available to all downstream nodes via {{variable_name}}.

Example: Multi-Turn Workflow

A workflow that gathers requirements before generating a response:
  1. Start Node receives the initial request.
  2. First Question Node asks the user to specify a topic.
  3. Second Question Node asks for the desired level of detail.
  4. AI Agent Node generates a response using both answers as context.
  5. End Node delivers the final output.

Best Practices

Define all workflow-level variables with sensible defaults in the Start Node. This makes the workflow self-documenting and prevents downstream nodes from encountering undefined references.
Each Question Node adds a round-trip pause. Combine related questions into a single Form Node when you need to collect multiple pieces of information at once.
Every branch in your workflow graph should eventually reach an End Node. Unreachable End Nodes or dead-end branches will cause the workflow to hang.

Next Steps