> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kapso.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Understanding workflow topology and node types

Workflows are directed graphs where nodes execute sequentially. Each node performs a specific action—sending messages, waiting for input, routing logic, or executing code.

## Node categories

**Start node** - Entry point

* Triggers when a message arrives or API calls the workflow
* Every workflow has exactly one Start node
* Automatically advances to the first connected node

**Action nodes** - Execute and continue

* Send messages (text, templates, interactive)
* Execute functions
* Call webhooks
* Set workflow variables
* Call other workflows
* Transfer to human agents (handoff)
* Execute immediately and advance to next node

**Wait nodes** - Pause for input

* Halt workflow execution until user responds
* Store response in `{{last_user_input}}` or custom variable
* Resume execution when message arrives

**Decide nodes** - Route execution

* Branch workflow to different paths
* Use AI to interpret intent or custom function logic
* Return label determines which edge to follow

**Agent nodes** - AI conversations

* Multi-turn conversations with tool access
* Can call webhooks and functions
* Maintains execution at node until `complete_task` tool is called
* New user messages automatically injected during conversation

## Execution flow

Workflows follow edges between nodes. Execution continues until:

* Reaching a Wait node (pauses for user input)
* Reaching an Agent node (remains at node until agent calls `complete_task`)
* Reaching a Handoff node (stops, transfers to human)
* No more connected nodes (workflow completes)

## Learn more

<CardGroup cols={2}>
  <Card title="Step types" icon="cube" href="/docs/flows/step-types/start-node">
    Action nodes, wait nodes, decide nodes, and agent nodes
  </Card>

  <Card title="Variables and context" icon="brackets-curly" href="/docs/flows/variables-and-context">
    Access user data and workflow state with template variables
  </Card>

  <Card title="Triggers" icon="bolt" href="/docs/flows/triggers">
    Start workflows from messages or API calls
  </Card>

  <Card title="Webhooks" icon="webhook" href="/docs/flows/webhooks">
    Connect workflows to external services
  </Card>
</CardGroup>
