ποΈ ElevenLabs
Manage ElevenLabs Conversational AI agents β voice and chat.
Overview
The ElevenLabs node integrates with ElevenLabs Conversational AI for voice and chat agents. The node covers six resources, an async post-call trigger, and an agentic-tool pattern that exposes any Falcon Builder workflow as a tool an ElevenLabs agent can call mid-conversation.
Getting Connected
- Sign in to your ElevenLabs dashboard and copy an API key from Profile β API Keys
- In Falcon Builder, go to Dashboard β Credentials β Add Credential and select ElevenLabs API
- Paste your API key. A Webhook Signing Secret is auto-generated β copy it into your ElevenLabs post-call webhook settings.
- Click Test Credential β we hit
GET /v1/voicesto confirm.
Resources
The node has a Resource dropdown that switches the operation list and config UI.
- Agent β create, list, get, update, delete, duplicate. Voice ID, model, system prompt, knowledge base IDs, tool IDs, temperature, max tokens all configurable.
- Outbound Call β twilio, sip, whatsapp. Fire-and-forget. Returns
conversation_idimmediately; full transcript arrives via theElevenLabs Call Completed trigger node. - Conversation β list, get, get audio (signed URL), get transcript, delete.
- Phone Number β import (Twilio creds passed through to ElevenLabs; we don't store them), list, get, update (label / attached agent), delete.
- Knowledge Base β list, get, create-from-url, create-from-text, search, delete. (File uploads must go through the ElevenLabs dashboard for now.)
- Batch Call β submit, list, get, cancel, retry, delete. Recipients JSON supports per-recipient
dynamic_variables.
Async Outbound Calls
A workflow can't block waiting for a 5-minute phone call to end. Falcon Builder uses a two-node pattern:
- Action node: βElevenLabs / Outbound Call / Twilioβ dispatches the call and returns immediately with
conversation_id. We persist the conversation inelevenlabs_pending_callsfor correlation. - Trigger node: ElevenLabs Call Completed (
trigger-elevenlabs) fires in a separate workflow when ElevenLabs sends the post-call webhook. Outputs the full transcript, summary, audio URL, end reason, evaluation results, and cost via{{$json.*}}.
The webhook receiver verifies HMAC against the credential's Webhook Signing Secret. Configure ElevenLabs to POST to https://your-domain/api/webhooks/elevenlabs/post-call using the secret you copied from the credential page.
Workflows as Agent Tools
On any workflow detail page, expand Expose as ElevenLabs Agent Tool to turn that workflow into a tool an ElevenLabs voice agent can call mid-conversation.
- Define a tool name, description, and JSON Schema for the agent's arguments.
- Falcon registers the tool with ElevenLabs and returns a stable URL.
- Auth: HMAC-SHA256(
tokenSalt,workflowId) presented in the URL'stokenquery parameter. Rotating disables the old URL. - 10-second timeout. ElevenLabs cancels tool calls that don't respond within ~10s β return early and process asynchronously if longer.
System Prompt Input
The System Prompt field on Agent Create/Update accepts a flat string and supports {{variable}} interpolation. Consumers building structured per-agent prompt editors render their structured input to a flat string before sending β see apps/web/src/lib/agents/prompt-renderer.ts for the shared utility.
Output Variables
Operation results land in the configured output variable (default: elevenlabs_result). Standard envelope is { status, statusText, data } where data is the raw ElevenLabs response. The trigger node exposes a flatter shape via {{$json.transcript}}, {{$json.summary}}, {{$json.endReason}}, and others.