Node types

Multi-tool node for complex interactions.
from kapso.builder.nodes import SubagentNode
from kapso.builder.nodes.subagent.tools import WebhookTool

node = SubagentNode(name="assistant")
node.add_tool(WebhookTool(name="api", url="https://api.com"))

DefaultNode

Simple conversation and reasoning.
from kapso.builder.nodes import DefaultNode

node = DefaultNode(
    name="greeting", 
    prompt="Welcome the user"
)

WebhookNode

HTTP API calls.
from kapso.builder.nodes import WebhookNode

node = WebhookNode(
    name="api_call",
    url="https://api.example.com/data",
    http_method="GET"
)

KnowledgeBaseNode

Search knowledge sources.
from kapso.builder.nodes import KnowledgeBaseNode

node = KnowledgeBaseNode(
    name="docs",
    knowledge_base_text="Product info..."
)

HandoffNode

Transfer to human agent.
from kapso.builder.nodes import HandoffNode

node = HandoffNode(
    name="human",
    global_=True,
    global_condition="user requests human"
)

WarmEndNode

End conversation with timeout.
from kapso.builder.nodes import WarmEndNode

node = WarmEndNode(
    name="goodbye",
    timeout_minutes=30,
    prompt="Thank the user"
)

WhatsAppTemplateNode

Send WhatsApp templates.
from kapso.builder.nodes import WhatsAppTemplateNode

node = WhatsAppTemplateNode(
    name="notification",
    template_name="order_update",
    phone_number="{{customer_phone}}"
)

Global nodes

Global nodes trigger from anywhere in the conversation:
help_node = DefaultNode(
    name="help",
    prompt="Show available options",
    global_=True,
    global_condition="user asks for help"
)

Node selection guide

Use caseNode type
Main conversationSubagentNode
Simple routingDefaultNode
API integrationSubagentNode + WebhookTool
Knowledge lookupSubagentNode + KnowledgeBaseTool
Human handoffHandoffNode (global)
End conversationWarmEndNode