Skip to main content

Voice Nodes Reference

Voice nodes enable phone-based automation, from handling inbound calls to making AI-powered outbound calls and voice responses.


Overview​

Voice workflows typically follow this pattern:

[Voice Trigger] → [Voice Agent] → [Actions] → [Voice Response/Transfer]

Node Categories​

CategoryNodes
TriggersVoice Inbound, Voice Message
AI AgentVoice Agent
ActionsVoice Outbound, Transfer Call
OutputVoice Response, Text to Speech

Supported Providers​

  • Telephony: Exotel, Twilio, Tata Tele
  • TTS (Text-to-Speech): ElevenLabs, Cartesia, Azure, Google, AWS Polly
  • STT (Speech-to-Text): Deepgram, Azure, Google, AWS Transcribe

Voice Inbound Trigger​

Triggers workflows when incoming phone calls are received.

Configuration​

FieldTypeRequiredDescription
NameTextNoName for this trigger
Voice ProviderSelectYesPhone provider integration (Twilio, Exotel)
Phone NumbersMulti-selectYesPhone numbers that trigger this workflow
Enable RecordingToggleNoEnable call recording
Call TimeoutNumberNoMax call duration (30-3600 seconds)
Business Hours OnlyToggleNoOnly trigger during business hours

Business Hours Configuration​

When Business Hours Only is enabled:

Timezone: UTC
Monday: 09:00 - 17:00 (enabled)
Tuesday: 09:00 - 17:00 (enabled)
Wednesday: 09:00 - 17:00 (enabled)
Thursday: 09:00 - 17:00 (enabled)
Friday: 09:00 - 17:00 (enabled)
Saturday: 10:00 - 14:00 (disabled)
Sunday: (disabled)

Output Variables​

{{voiceinboundtrigger_1.caller_number}}    - Caller's phone number
{{voiceinboundtrigger_1.called_number}} - Number that was called
{{voiceinboundtrigger_1.call_id}} - Unique call identifier
{{voiceinboundtrigger_1.call_start_time}} - When call started
{{voiceinboundtrigger_1.provider}} - Voice provider name

Voice Message Trigger​

Triggers workflows on voice input from various sources (phone, WebRTC, WhatsApp, voice notes).

Configuration​

FieldTypeRequiredDescription
SourceSelectNoFilter by source: any, phone, webrtc, whatsapp, voice_note
Test ModeToggleNoAllow text input for testing
Transcriber SourceSelectNodirect, voice_agent, or none
Transcriber IntegrationSelectConditionalSTT provider (when source is direct)
LanguageTextNoLanguage code (default: en)
Include TimestampsToggleNoInclude word-level timestamps
Filter ProfanityToggleNoFilter profanity from transcription

Output Variables​

{{voicemessagetrigger_1.message}}          - Transcribed text
{{voicemessagetrigger_1.audio_url}} - Original audio URL
{{voicemessagetrigger_1.source}} - Input source
{{voicemessagetrigger_1.confidence}} - Transcription confidence
{{voicemessagetrigger_1.duration}} - Audio duration
{{voicemessagetrigger_1.language}} - Detected language

Voice Agent Node​

Voice-enabled AI agent for handling phone conversations. Similar to Core Agent but optimized for voice interactions.

Configuration​

Basic Settings​

FieldTypeRequiredDescription
NameTextNoDisplay name for the agent
LLM ProviderSelectYesAI provider (OpenAI, Anthropic, etc.)
TemperatureSliderNoCreativity (0-1, default 0.7)
Max TokensNumberNoResponse length (50-500, default 250)
System PromptTextareaYesAgent instructions

Voice Settings (TTS)​

FieldTypeRequiredDescription
Synthesizer IntegrationSelectYesTTS provider
Voice IDSelectYesVoice to use
SpeedSliderNoSpeech speed (0.5-2.0)
LanguageTextNoVoice language
AccentTextNoVoice accent

Provider-Specific Settings:

ElevenLabs:

  • Stability (0-1)
  • Similarity Boost (0-1)
  • Style (0-1)

Cartesia:

  • Model variant

Transcriber Settings (STT)​

FieldTypeRequiredDescription
Transcriber IntegrationSelectYesSTT provider
LanguageTextNoTranscription language
ModelSelectNoSTT model (Deepgram)
Profanity FilterToggleNoFilter profanity
Smart FormattingToggleNoFormat numbers, dates
Speaker DiarizationToggleNoIdentify speakers

Timing Settings:

  • Silence Timeout: 100-5000ms (when to finalize transcript)
  • Max Segment Duration: 20-70s
  • Utterance Timeout: 500-3000ms

Channel Configuration​

FieldTypeDescription
ChannelSelectphone, webrtc, or auto
Voice ProviderSelectTelephony provider for phone calls

Output Variables​

{{voiceagent_1.output}}              - Final agent response
{{voiceagent_1.transcript}} - Full conversation transcript
{{voiceagent_1.call_duration}} - Call duration
{{voiceagent_1.success}} - true/false
{{voiceagent_1.tool_calls}} - Tools used during call

Voice Outbound Call Node​

Make outbound phone calls - either manual (connect two humans) or AI-powered.

Configuration​

Call Type​

TypeDescription
ManualConnect two humans (e.g., agent to customer)
AIAI Voice Agent handles the call

Core Settings​

FieldTypeRequiredDescription
Call TypeSelectYesmanual or ai
Voice ProviderSelectYesTelephony integration
Caller IDTextYesDisplay number for customer
Call Input ModeSelectNosingle or batch

Single Call Input​

Phone: {{contact.phone}}
Variables: [
{key: "name", value: "{{contact.first_name}}"},
{key: "company", value: "{{contact.company.name}}"}
]

Batch Call Input​

Data Source: {{databasequery_1.contacts}}
Phone Field: phone
Variable Mappings: [
{key: "name", value: "first_name"},
{key: "deal_value", value: "deal.value"}
]

Manual Call Configuration​

FieldTypeDescription
From NumberTextAgent's phone number
Connect OrderSelectfrom_first (call agent first) or to_first (call customer first)
Call PurposeTextNotes for CRM logging

AI Call Configuration​

FieldTypeDescription
Voice Agent NodeSelectVoice Agent to handle call
Conversation VariablesKey-ValueVariables to pass to agent

Output Variables​

{{voiceoutbound_1.call_id}}          - Unique call ID
{{voiceoutbound_1.status}} - Call status
{{voiceoutbound_1.duration}} - Call duration
{{voiceoutbound_1.recording_url}} - Recording URL (if enabled)
{{voiceoutbound_1.success}} - true/false

# For batch calls
{{voiceoutbound_1.total_calls}} - Total calls attempted
{{voiceoutbound_1.successful}} - Successful calls
{{voiceoutbound_1.failed}} - Failed calls
{{voiceoutbound_1.results}} - Array of call results

Transfer Call Node​

Transfer the current call to another phone number or department. Works as a tool for Voice Agent.

Configuration​

FieldTypeRequiredDescription
DestinationsArrayYesList of transfer destinations
Transfer MessageTextNoMessage before transfer
Fallback MessageTextNoMessage if transfer fails

Destination Configuration​

[
{
"name": "Sales Team",
"number": "+919876543210",
"description": "For pricing and purchase inquiries"
},
{
"name": "Support",
"number": "+919876543211",
"description": "For technical issues and troubleshooting"
},
{
"name": "Billing",
"number": "+919876543212",
"description": "For payment and invoice questions"
}
]

How It Works​

  1. Voice Agent recognizes transfer intent from conversation
  2. AI calls this tool with the destination name
  3. Node speaks transfer message and initiates transfer
  4. If transfer fails, fallback message is played

Supported Providers​

  • Exotel: Passthru → Connect flow
  • Tata Tele: API-based transfer
  • Twilio: SIP REFER or REST API

Output Variables​

{{transfercall_1.transferred}}       - true/false
{{transfercall_1.destination}} - Destination transferred to
{{transfercall_1.transfer_time}} - When transfer occurred

Voice Response Node​

Convert text to speech and send as audio response (primarily for active calls).

Configuration​

FieldTypeRequiredDescription
TextTextYesText to speak (supports variables)
Synthesizer SourceSelectYesdirect, voice_agent, or none
Synthesizer IntegrationSelectConditionalTTS provider
Output FormatSelectNomp3, wav, ogg, m4a
Output DestinationSelectNofile, stream, phone, webrtc

Voice Settings​

SettingRangeDefaultDescription
Voice ID--Voice to use
Speed0.5-2.01.0Speech speed
Pitch-20 to 200Voice pitch
Volume0.0-1.00.8Audio volume

Output Variables​

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

Text to Speech Node​

Convert text to speech audio file (for generating audio assets, not live calls).

Configuration​

FieldTypeRequiredDescription
Synthesizer IntegrationSelectNoTTS provider
Voice IDTextNoVoice to use
LanguageTextNoLanguage code (e.g., en-US)
Voice GenderSelectNomale, female, neutral, auto
Speaking RateSliderNoSpeed (0.5-2.0)
PitchSliderNoPitch (-20 to 20)
VolumeSliderNoVolume (0-100)
Audio FormatSelectNomp3, wav, ogg, opus, flac, aac

Text Source Options​

SourceDescription
inputFrom previous node output
staticFixed text in configuration
templateTemplate with variables
previous_nodeSpecific node's output

Advanced Options​

FieldDescription
Use SSMLEnable SSML markup for advanced control
Output Modebase64, url, file, or stream

Output Variables​

{{texttospeech_1.audio_data}}        - Audio as base64
{{texttospeech_1.audio_url}} - URL to audio file
{{texttospeech_1.duration}} - Audio duration
{{texttospeech_1.format}} - Audio format used
{{texttospeech_1.success}} - true/false

Common Workflow Patterns​

Inbound Call → AI Agent​

[Voice Inbound Trigger]
↓
[Voice Agent]
- System: "You are a helpful customer service agent..."
- Tools: [KB Search, CRM Manager, Transfer Call]
↓
[CRM Manager: Log Activity]

AI Outbound Campaign​

[Database Query: Get contacts]
↓
[Voice Outbound Call]
- Call Type: AI
- Batch Mode
- Voice Agent: Sales Agent
↓
[CRM Manager: Update status]

Manual Call Connect​

[Click Trigger: "Call Customer"]
↓
[CRM Manager: Get Contact]
↓
[Voice Outbound Call]
- Call Type: Manual
- From: {{user.phone}}
- To: {{contact.phone}}

Voice Note Processing​

[Voice Message Trigger]
- Source: voice_note
↓
[LLM Integration: Summarize]
↓
[CRM Manager: Create Note]
↓
[Text Response: "Note saved!"]

IVR with Transfer​

[Voice Inbound Trigger]
↓
[Voice Agent]
- "How can I help today?"
- Tools: [Transfer Call, KB Search]
↓
[Condition: Transfer requested?]
→ Yes → [Transfer Call]
→ No → [Voice Response: "Goodbye!"]

Best Practices​

Voice Agent Prompts​

Keep prompts concise for voice:

You are a friendly customer service agent for Acme Corp.
- Keep responses under 2-3 sentences
- Speak naturally, avoid technical jargon
- Confirm understanding before actions
- Offer to transfer to human if needed

Transcription Settings​

For real-time conversations:

  • Silence Timeout: 300ms (faster response)
  • Max Segment: 30s
  • VAD Threshold: 0.03 (balanced)

Call Recording​

Always inform callers about recording:

Transfer Message: "This call may be recorded for quality purposes.
Please hold while I transfer your call."

Error Handling​

[Voice Agent] → [Condition: Success?]
→ Yes → [Log: Call completed]
→ No → [Voice Response: Apology] → [Create Task: Follow up]

Batch Call Limits​

  • Start with small batches (10-20 calls)
  • Monitor success rates before scaling
  • Implement retry logic for failed calls
  • Respect carrier rate limits