Skip to content
TriedDocs
Conversation flow

Subagent node

A conversation node that may call its own set of flow functions whenever the LLM decides, for open-ended steps inside a structured flow.

The Subagent node (type: "subagent") behaves like a conversation node with one difference: the LLM may call the functions you tick, at any point while the flow is in this node. Use it for a step that needs judgement and tools together, such as "help the caller find a time", where the agent may check availability several times before booking.

Configure#

  1. Add the functions to the flow first: Global settings, Functions, Add.
  2. Add a Subagent node from the node list.
  3. Write the Instruction (Prompt or Static Sentence).
  4. Under Tools this subagent may use, tick the functions. If the flow has none, the panel says "Add functions to the flow first."
  5. Add transitions for when the step is done.

How it runs#

  • The node's instruction and the global prompt make up the system prompt, as in a conversation node.
  • Each ticked function is offered to the LLM on every reply in this node, next to the prompt transitions and global nodes.
  • When the LLM calls a function, it runs with the function's own execution options (speak during execution, typing sound, speak after execution), and the result goes back to the LLM.
  • Transitions follow the same rules as a conversation node, including the always edge and the else edge.

Fields#

Field Type Default Description
type "subagent"
instruction {type, text} Required
tool_ids string array [] tool_ids from the flow's tools[]
edges array of edges []
always_edge, else_edge edge Optional
Common fields and overrides See Nodes and edges
{
  "id": "node_find_time",
  "type": "subagent",
  "name": "Find a time",
  "instruction": { "type": "prompt", "text": "Help the caller find a free slot. Check availability for each day they suggest. Offer at most three times." },
  "tool_ids": ["tool_check_availability"],
  "edges": [
    { "id": "edge_booked", "destination_node_id": "node_confirm", "transition_condition": { "type": "prompt", "prompt": "The caller picked one of the offered times" } }
  ]
}

Subagent vs function node#

Subagent node Function node
Who decides to call The LLM, any number of times The flow, once on entry
Talks with the caller Yes Optional message while running
Arguments From the conversation, in the reply call From a forced LLM call on entry
Best for Open steps that may need several lookups A fixed action at a fixed point

Gotchas#

  • Unticked flow functions are not available here, even if other nodes use them.
  • The node is not a separate agent: it shares the call's voice, transcript and variables. To hand the call to another agent, use the agent transfer node.
  • In flex mode, ticked tools become general functions available throughout the call.