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