Skip to main content
Subagent node is used to have a conversation with the user while allowing the agent to call tools / functions during the conversation. Use it when the agent should decide whether and when to use a tool / function based on the conversation context. If you only need dialogue without tool calling, use a Conversation Node.

How It Works

When a subagent node has tools / functions attached, the LLM receives both the node instruction and the list of available tools / functions. During the conversation, the LLM determines when a tool / function should be called based on context, extracts the required parameters, and invokes it while maintaining the dialogue with the user.
  • Multiple tools / functions can be added to a single subagent node
  • The agent can continue talking while a tool / function executes
  • Tool / function results are available to the LLM for generating follow-up responses

Write Instruction

Subagent nodes only support Prompt instructions. Unlike a conversation node, Static Sentence is not supported. Write the instruction to define the task, what information the agent should gather, and when it should use the available tools / functions. For example:
Help the user check their order status. If the user provides an order number,
use the available order lookup tool to retrieve the latest status.

Subagent Node vs Function Node

Subagent nodes and function nodes serve different purposes:
Function NodeSubagent Node
ExecutionDeterministic — executes on node entryLLM-driven — called when the LLM decides it’s appropriate
Tools per nodeOneMultiple
ConversationNot intended for dialogueFull dialogue with tools available
Best forAlways-execute actions (e.g. always look up an order on entry)Context-dependent actions during dialogue (e.g. look up an order only if the user asks)
Use function nodes when you want guaranteed execution every time the flow reaches that step. Use subagent nodes when the agent should decide whether and when to call a tool / function based on what the user says.

Add Tools / Functions

1

Select a subagent node

Click on a subagent node to open its settings panel on the right side.
2

Add a tool / function

In the settings panel, find the Tools section and click + Add.Select the tool / function type from the dropdown menu.
3

Configure the tool / function

Configure the tool / function based on its type. See the Available Tool / Function Types table below for configuration details for each type.
4

Update the node instruction

Update the node prompt to guide the LLM on when to use the tool / function.

Available Tool / Function Types

Tool TypeDescriptionConfiguration Guide
Custom FunctionMake HTTP requests to your external APIsCustom Function
Code ToolRun JavaScript code directly without an external serverCode Tool
Check Calendar AvailabilityQuery available time slots via Cal.comCheck Availability
Book AppointmentBook calendar events via Cal.comBook Calendar
End CallTerminate the callEnd Call
Transfer CallTransfer to a phone numberTransfer Call
Transfer AgentTransfer to another Retell agentTransfer Agent
Press DigitSend DTMF tonesPress Digit
Send SMSSend a text messageSend SMS
Extract Dynamic VariableExtract variables from the conversationExtract Dynamic Variable
MCP ToolCall tools on your MCP serverMCP Node

Execution Speech Settings

Each tool / function has settings that control what the agent says while it is running and after it completes.

Speak During Execution

When enabled, the agent says a message while the tool / function is executing, for example One moment, let me check that for you. This is recommended when the tool / function takes over 1 second, including network latency, so the agent remains responsive. You can configure how the message is generated:
  • Prompt: The LLM dynamically generates what to say based on a description you provide.
  • Static Sentence: The agent speaks the exact text you provide.

Speak After Execution

When enabled, the agent calls the LLM after the tool / function returns a result so it can speak about the outcome to the user. Turn this off if you want to run it silently.
  • Speak During Execution is available on: Custom Function, Code Tool, End Call, Transfer Call, Transfer Agent, and MCP Tool.
  • Speak After Execution is available on: Custom Function, Code Tool, and MCP Tool.

When Can Transition Happen

  • when user is done speaking
  • when Skip Response is enabled and agent finishes speaking
Tool / function execution happens within the subagent node, so the node can stay active across multiple turns and tool / function calls before it transitions.

Node Settings

  • Tools: attach the tools / functions this subagent can use during the conversation.
  • Skip Response: when enabled, the transition will only have one edge that you can connect, and when agent is done talking, it will transition to the next node via that specific edge.
  • Knowledge Base: configure node-level knowledge bases to combine topic-specific knowledge with the agent-level knowledge base. Read more at Knowledge Base.
  • Global Node: read more at Global Node
  • Block Interruptions: when enabled, the agent will not be interrupted by user when speaking.
  • LLM: choose a different model for this particular node. Will be used for response generation, tool / function selection, and tool / function argument generation.
  • Fine-tuning Examples: Can finetune conversation response, and transition. Read more at Finetune Examples

Best Practices

  • Be explicit in your node instruction. Tell the agent when each tool / function should be used.
  • Use function nodes for guaranteed execution. If a tool / function must always run at a certain point in the flow, use a function node instead.
  • Avoid adding too many tools / functions to one subagent node. If you have many tools / functions, consider splitting them across multiple subagent nodes.