πŸŽ™οΈ 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/voices to 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. Returnsconversation_id immediately; 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 in elevenlabs_pending_calls for 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's token query 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.