Node Types¶
A node is a discrete processing step in a pipeline that accepts a user’s input and produces an output to downstream nodes. Each node in the pipeline performs a specific task (like calling an LLM, running Python code, or routing based on logic) and processes data that flows through the pipeline.
graph LR
A@{ shape: stadium, label: "Input (i.e. data or prompt)" } --> B(Node);
B --> C@{ shape: stadium, label: "Output (i.e. LLM response)" };
Note
See chatbot workflow cookbook for examples of pipelines using different combinations of these node types.
LLM Node¶
A conversational node using AI models. You can configure:
- A prompt for instructions on how to respond
- Prompt variables to insert dynamic content
- A history mode for conversation memory
- Temperature and effort parameters to shape output style and depth
- Tools for additional actions
- Collections for indexed collections to ground responses in your documents (RAG), or a media collections to send files to participants.
- Custom Actions to connect to external systems and retrieve information or complete tasks
Routing Nodes¶
Routers are used to reduce cost, improve accuracy, and keep pipeline workflows flexible. A router will receive input, analyze it, choose the next workflow step, and pass the request to the downstream node. See the Router Node page for full details.
Render a Template Node¶
The Render a Template node lets you shape the text flowing through a pipeline before it reaches the next step. You write a template that mixes fixed text with placeholders — the node fills in those placeholders at runtime using information about the current message, the participant, and the pipeline state.
Use this node to reformat a previous node's output, build a prompt for a downstream LLM node, or compose a message that includes personalized participant details.
See the Render a Template and Send an Email Node reference for the full variable list and template syntax.
Send an Email Node¶
The Send an Email node sends an email as part of a pipeline run. The node acts as a passthrough: its output is identical to its input, so inserting it into a pipeline does not change what the next node receives.
See the Send an Email How-to Guide for steps and example use cases.
See the Render a Template and Send an Email Node reference for recipient field syntax, template variables, and prompt examples.
Extract Structured Data Node¶
Extract structured data from the input. This node acts as a passthrough, meaning the output will be identical to the input, allowing it to be used in a pipeline without affecting the conversation.
Update Participant Data Node¶
Extract structured data and save it as participant data. This node is commonly used with events.
Python Node¶
Execute custom Python code for logic, data processing, or external API calls.
Key capabilities:
- Utility functions — read and write participant data, temporary state (per pipeline run), and session state (per user session).
- Attachments — access files uploaded by the user and read their contents (text, PDF, DOCX, XLSX, and more).
- HTTP client — make secure HTTP requests to external APIs using the built-in
httpglobal. - Debugging — use
print()to capture diagnostic output, visible in the trace detail view.
See the Python Node page for full documentation.