Every card on the canvas is a node. This page lists each node in the Components panel, group by group, in the order the panel shows them.
Generated from the node catalog (lib/builder/node-templates.ts). Keep in sync: when a node, label or help line changes in the catalog, update the matching section here in the same change. The docs vocabulary check fails the build when a page names a node that is not in the catalog.
How to read each entry:
  • What it does in one line.
  • Connects describes the dots on the node. “Any number” means several lines can meet at that dot.
  • Settings lists every field with the label you see in the editor and the help line shown under it. Fields marked required must be filled before the agent can run; the readiness pill reports them. Fields listed under More settings are hidden until you expand that section in the editor.
  • Needs a key names the provider whose key must be present, either from your workspace or entered in Settings.

Persona

Persona

What it does: Who the agent is: its personality, voice, and the model behind it. Every agent has exactly one Persona. Connects: Settings: More settings: Needs a key: the providers you pick under Model (LLM), Voice (TTS), Hearing (STT) and Avatar, unless your workspace covers them.

Speech-to-speech agent

Shown as Speech-to-speech agent in Components. Exported files and older flows call it Realtime Agent. What it does: An alternative to the Persona for agents built on a speech-to-speech model, where one model listens and talks without separate voice and hearing steps. Most agents use a Persona instead. An agent has either a Persona or a speech-to-speech agent, not both. Connects: Settings: More settings: Needs a key: the provider of the connected speech-to-speech model.

Speech-to-speech

Speech-to-speech models for a speech-to-speech agent. Each has one output dot that connects to the agent’s Realtime dot. Components shows them as OpenAI speech-to-speech, Gemini speech-to-speech, Azure OpenAI speech-to-speech and xAI speech-to-speech; exported files and older flows use the names below.

OpenAI Realtime

What it does: Speech-to-speech via the OpenAI Realtime API. Settings: Model (default GPT Realtime 1.5), Voice (default Alloy), Temperature (0.6 to 1.2, default 0.8). Needs a key: OpenAI.

Gemini Realtime

What it does: Speech-to-speech via the Gemini Live API. Settings: Model (default Gemini 3.1 Flash Live), Voice (default Puck), Temperature (0 to 2, default 0.8). More settings: Affective Dialog (2.5 only), default Off. Needs a key: Gemini.

Azure OpenAI Realtime

What it does: Speech-to-speech via Azure OpenAI Realtime. Settings: Deployment (your Azure deployment name), Voice (default Alloy), Temperature (0.6 to 1.2, default 0.8). More settings: Endpoint. Needs a key: Azure OpenAI.

xAI Realtime

What it does: Speech-to-speech via the xAI Grok Voice Agent API. Settings: Voice (Ara, Clio or Sage; default Clio). Needs a key: xAI.

Conversation

Skill

What it does: One part of the conversation: what the agent does in this phase. The agent follows the Instruction until the phase is done, then moves to the next connected step. A Skill never ends the call by itself; every path ends with an End node. Connects: Settings: More settings: Needs a key: none.

If/Else

What it does: Checks a condition and sends the call down the True or False path. Connects: Settings: Needs a key: none.

Categorize

What it does: Sorts the caller’s request into a category and sends the call down that path. Connects: Settings: Needs a key: none.

End

What it does: Ends the conversation and hangs up the call. A call only ends when it reaches an End node. Connects: Settings: Needs a key: none.

Tools

Tools give the agent something it can do during the call. Every tool has one output dot (output) that connects to the Persona (all Skills) or to one Skill. Tools that call an outside service stop after 10 seconds by default: the agent tells the caller it could not finish, and a tool that sends or changes something is not repeated, since it may still have gone through. SIP Transfer has no default limit, because it waits for a person to answer.

MCP

What it does: Connects to an MCP server to give the agent its tools. Settings: More settings: Needs a key: none from Voice.GradientFlow. See MCP servers. What it does: Lets the agent search the web for up-to-date answers. Settings: More settings: Needs a key: Exa. See Web search.

Pinecone

What it does: Lets the agent answer from your own documents stored in Pinecone. Settings: More settings: Needs a key: Pinecone.

SIP Transfer

What it does: Dials a phone number and connects the caller to a person. Settings: Needs: an outbound trunk under Phone in the dashboard. See SIP transfer.

Simulated action

What it does: Simulated action for testing. Replace it with a real tool before going live. Settings: Needs a key: none.

Human Handoff

What it does: Lets a person on your team join the call and take over. The call is flagged in Dashboard, Handoffs and the agent goes quiet while the person talks. Settings: Needs a key: none. Someone must be watching the Dashboard.

Calendar

What it does: Lets the agent check availability and book appointments in Cal.com. Settings: More settings: Needs a key: Cal.com. See Calendar booking.

CRM lookup (during call)

What it does: Lets the agent look up and update HubSpot contacts while talking. Settings: More settings: Needs a key: HubSpot. See CRM.

WhatsApp

What it does: Sends WhatsApp messages through Twilio during or after a conversation. Settings: More settings: Needs a key: Twilio.

SMS

What it does: Sends text messages through Twilio during or after a conversation. Settings: More settings: Needs a key: Twilio.

Email

What it does: Sends emails from your mail server during or after a conversation. Settings: More settings: Needs a key: a mailbox configured by your workspace operator.

Post Processing

These nodes run after the call ends. Connect them after End. Structured Output and Summarization can also feed the others.

Webhook

What it does: Sends the call data to a web address when the call ends. Connects: In (in) from End, Structured Output or Summarization. Any number of lines. Settings: Needs a key: none. See Webhooks.

Structured Output

What it does: Pulls specific details out of the conversation after the call. Connects: Settings: Needs a key: none. See Structured output.

Summarization

What it does: Writes a short summary of the call after it ends. Connects: Settings: Needs a key: none.

CRM sync (after call)

What it does: Saves the call to the caller’s HubSpot contact after it ends. Connects: In (in) from End, Structured Output or Summarization. Any number of lines. Connect a Structured Output that extracts the caller’s email so the contact can be matched. Settings: Needs a key: HubSpot. See CRM.

Helpdesk

What it does: Opens a support ticket after the call ends. Connects: In (in) from End, Structured Output or Summarization. Any number of lines. Settings: More settings: Needs a key: HubSpot for HubSpot Tickets. None for This dashboard. See Helpdesk tickets.

Advanced

LLM (Override)

What it does: Only for If/Else and Categorize decisions when they should use a different model than the Persona. Most agents do not need this. It can also feed Structured Output and Summarization. Connects: Output (output) to the Different model dot on If/Else, Categorize, Structured Output or Summarization. Any number of lines. Settings: More settings: Needs a key: OpenAI.