Skip to main content

Output Nodes Reference

Output nodes return results from your workflow, sending responses to users, chat interfaces, or external systems.


Text Response Node

Send text messages back to users with advanced templating support.

Configuration

FieldTypeRequiredDescription
TextTextYesResponse text template
Typing IndicatorToggleNoShow typing indicator before response
DelayNumberNoDelay before sending (seconds)

Template Features

Variable Insertion:

Hello {{contact.first_name}}, your order #{{order.id}} is confirmed.

Array Iteration:

Your items:
{{#each order.items}}
- {{item.name}}: ${{item.price}}
{{/each}}

Conditional Content:

{{#if success}}
Your request was successful!
{{else}}
Sorry, there was an error.
{{/if}}

Accessing Previous Node Output:

{{llmintegration_1.output}}

Output Variables

{{textresponse_1.response_text}}  - Final formatted text
{{textresponse_1.output}} - For chaining to next node

Response Builder Node

Compose rich, multi-component responses with text, tables, charts, SQL, and more.

Configuration

FieldTypeRequiredDescription
ComponentsArrayYesArray of component configurations
Output DestinationSelectNoWhere to send output: chat, sse_output, api_response

Component Types

TypeIconDescription
text📝Rich text with markdown support
sql🗄Syntax-highlighted SQL query
table📊Interactive data table with sorting/pagination
chart:chart_increasing:Plotly chart visualization
recharts📊Recharts visualization (bar, line, pie, area)
contacts👥Contact cards display
activities📆Activity timeline
json{}Collapsible JSON tree viewer
alert⚠️Highlighted alert/notice message
tableau📊Embedded Tableau visualization
image🖼Image display with lightbox

Component Examples

Text Component:

{
"type": "text",
"props": {
"content": "## Summary\n\nHere are the results...",
"maxLength": 500,
"showHeader": false
}
}

Table Component:

{
"type": "table",
"props": {
"data": "{{queryNode.results}}",
"pageSize": 10,
"showSizeChanger": true
}
}

Chart Component (Recharts):

{
"type": "recharts",
"props": {
"data": "{{analysisNode.chart_data}}",
"type": "bar",
"title": "Sales by Month",
"xKey": "month",
"yKey": "revenue"
}
}

Alert Component:

{
"type": "alert",
"props": {
"message": "Processing complete!",
"type": "success"
}
}

Output Variables

{{responsebuilder_1.output}}      - Full response object
{{responsebuilder_1.components}} - Array of rendered components
{{responsebuilder_1.success}} - true/false

Voice Response Node

Convert text to speech and output audio responses.

Configuration

FieldTypeRequiredDescription
TextTextYesText to convert to speech
Synthesizer SourceSelectYesdirect, voice_agent, or none
Synthesizer IntegrationSelectConditionalTTS integration (when source is direct)
Output FormatSelectNomp3, wav, ogg, m4a
Output DestinationSelectNofile, stream, phone, webrtc

Voice Settings

SettingTypeDescription
Voice IDTextVoice to use for synthesis
SpeedNumberSpeech speed (0.5-2.0, default 1.0)
PitchNumberVoice pitch (-20 to 20, default 0)
VolumeNumberAudio volume (0.0-1.0, default 0.8)

Example Configuration

Text: "Hello {{contact.first_name}}, thank you for calling."
Synthesizer Source: direct
Output Format: mp3
Voice Settings:
Speed: 1.0
Volume: 0.8

Output Variables

{{voiceresponse_1.audio_url}}     - URL to audio file
{{voiceresponse_1.audio_data}} - Audio binary data
{{voiceresponse_1.duration}} - Audio duration
{{voiceresponse_1.success}} - true/false

Workflow JSON Output Node

Validate and output workflow JSON configurations (used by AI Workflow Builder).

Configuration

FieldTypeRequiredDescription
Workflow JSONTextYesWorkflow JSON from LLM
Auto Fix HandlesToggleNoAuto-fix missing sourceHandle/targetHandle
Auto LayoutToggleNoAuto-layout nodes using grid
Validation LevelSelectNostrict or lenient
Output ChannelSelectNoworkflow_builder or api_response

Use Case

This node is primarily used in AI-powered workflow generation:

[LLM Integration] → [Workflow JSON Output]
- Validates generated workflow
- Fixes handle issues
- Outputs to workflow builder

Output Variables

{{workflowjsonoutput_1.is_valid}}          - Whether workflow is valid
{{workflowjsonoutput_1.workflow_json}} - Validated workflow JSON
{{workflowjsonoutput_1.total_nodes}} - Number of nodes
{{workflowjsonoutput_1.total_edges}} - Number of edges
{{workflowjsonoutput_1.fixes_applied}} - Number of auto-fixes
{{workflowjsonoutput_1.validation_errors}} - List of errors

Quick Reference

Node Selection Guide

NeedUse
Simple text messageText Response
Rich multi-component outputResponse Builder
Voice/audio responseVoice Response
AI-generated workflow outputWorkflow JSON Output

Response Patterns

Simple Text:

[Process Data] → [Text Response: "Done! Found {{count}} records."]

Rich Dashboard Response:

[Query Data] → [Response Builder]
- Text: Summary
- Table: Results
- Chart: Visualization

Voice Reply:

[LLM Generate] → [Voice Response: "{{llm.output}}"]

Best Practices

  1. Use Text Response for simple messages - Fast and efficient
  2. Use Response Builder for rich data - Tables, charts, multiple sections
  3. Add typing indicator - Makes responses feel more natural
  4. Handle empty data - Check for results before displaying tables/charts
  5. Use appropriate delays - Prevent overwhelming users with rapid responses