¡Hola! Hoy vamos a darle voz a nuestros agentes de IA. Veremos dos formas de hacerlo con n8n y ElevenLabs para que la experiencia sea mucho más chula y natural. Una será para enviar y recibir audios, y la otra para tener una conversación en tiempo real. ¡Es súper fácil, vamos a ello! 🎤
Método 1: Enviar y Recibir Audios (Asíncrono)
En este primer caso, le enviaremos un archivo de voz a nuestro agente, él lo procesará y nos devolverá otro archivo de voz como respuesta. No es una conversación en directo, sino un intercambio de audios. Usaremos Telegram para este ejemplo.
- Recibir el Mensaje de Voz:
- Empezamos con un nodo
Telegram Trigger
. Lo configuramos para que se activeOn message received
. Enlace a la lección donde explico como generar las credenciales de Telegram. - Ejecutamos el nodo para que se quede «escuchando» y, desde Telegram, enviamos una nota de voz al bot.
- Al recibirlo, n8n nos mostrará en la salida del nodo un archivo de voz (normalmente en formato
audio/ogg
).
- Empezamos con un nodo
- Descargar y Transcribir el Audio:
- Necesitamos convertir esa voz a texto. Primero, añadimos otro nodo de
Telegram
y usamos la acciónGet a File
para descargar el audio. Solo tenemos que arrastrar elfile_id
del primer nodo a este. - Ahora, usamos el nodo de
ElevenLabs
. Si no lo ves, asegúrate de tener una versión de n8n actualizada y busca e instala el nodo desde la sección de «Community Nodes». - Dentro de ElevenLabs, elegimos la acción
Transcribe audio or video
.
- Necesitamos convertir esa voz a texto. Primero, añadimos otro nodo de
- Configurar ElevenLabs (API Key):
- El nodo te pedirá una API Key. Para conseguirla:
- Ve a la web de ElevenLabs y crea una cuenta (puedes empezar gratis).
- En tu perfil, busca la sección de API Keys y crea una nueva.
- Dale los permisos que necesites (para este caso,
text-to-speech
yspeech-to-speech
). - Copia la clave y guárdala bien, porque solo se muestra una vez.
- Pégala en la credencial de n8n y guarda. ¡Ya está conectado!
- Ahora, ejecuta el nodo de transcripción. Verás cómo convierte tu audio en texto plano.
- El nodo te pedirá una API Key. Para conseguirla:
- Procesar el Texto con un Agente de IA:
- Añadimos un nodo
AI Agent
. - En
User Message
, seleccionamosDefine below
y arrastramos el texto transcrito del nodo de ElevenLabs. - Le damos una personalidad con un System Prompt (ej: «Eres un asistente muy gracioso»).
- Conectamos un modelo de lenguaje (como OpenRouter, OpenAI, etc.) para que el agente tenga «cerebro».
- Ejecutamos el agente. Verás que genera una respuesta en texto basada en tu audio.
- Añadimos un nodo
- Convertir la Respuesta a Voz y Enviarla de Vuelta:
- Añadimos otro nodo de
ElevenLabs
, pero esta vez con la acciónConvert text to speech
. - Arrastramos la respuesta de texto del agente de IA al campo
Text
. - Elegimos una voz. Puedes seleccionarla de una lista o, si tienes una voz específica de ElevenLabs que te gusta, puedes copiar su
Voice ID
desde la web y pegarla directamente. - Ejecutamos el nodo y ¡magia! Ya tenemos un archivo de audio con la respuesta.
- Finalmente, añadimos un nodo de
Telegram
con la acciónSend an Audio File
.- Necesitamos decirle a quién enviarlo. Arrastramos el
Chat ID
del primer nodo (el trigger). - Le indicamos que vamos a enviar datos binarios (
Binary Data
). Automáticamente buscará el archivo de audio del paso anterior.
- Necesitamos decirle a quién enviarlo. Arrastramos el
- Ejecutamos este último paso y recibirás el audio en tu chat de Telegram.
- Añadimos otro nodo de
¡Y ya está! Ahora solo tienes que activar el workflow para que funcione de forma autónoma.
Método 2: Conversación en Tiempo Real con un Agente de Voz de ElevenLabs
Ahora vamos a lo más emocionante: una conversación fluida y en tiempo real. Esto lo configuraremos principalmente desde la web de ElevenLabs.
- Crear un Agente de Voz en ElevenLabs:
- En ElevenLabs, ve a la sección de Agentes (
Conversational AI
). - Crea un nuevo agente desde cero. Ponle un nombre, como
Agente de Prueba
. - Aquí puedes configurar su voz, el primer mensaje que dirá, etc.
- En ElevenLabs, ve a la sección de Agentes (
- Conectar n8n como una Herramienta (Tool Calling):
- La clave está en la sección de «Tools». Queremos que nuestro agente de voz pueda «llamar» a n8n para hacer cosas, como buscar información.
- Añadimos una
Custom Tool
de tipoAdd Webhook Tool
.- Le damos un nombre (ej:
n8n
) y una descripción (ej: «Usa esta herramienta para buscar en la web»). - El método será
POST
, porque enviaremos datos. - Ahora necesitamos una URL de n8n.
- Le damos un nombre (ej:
- Configurar el Webhook en n8n:
- En un nuevo workflow de n8n, añade un nodo
Webhook
. - Cambia su método a
POST
. - Copia la URL de prueba (
Test URL
) que te proporciona. - Pega esa URL en la configuración de la herramienta en ElevenLabs.
- En ElevenLabs, dentro de la herramienta, añade un
Body Parameter
. Este será el dato que enviaremos a n8n. Por ejemplo, llámalosearchQuery
y descríbelo como «lo que el usuario quiere buscar online».
- En un nuevo workflow de n8n, añade un nodo
- Darle «Inteligencia» al Agente de Voz:
- Vuelve a la configuración del agente en ElevenLabs y edita su System Prompt.
- Puedes usar la función de «Describir con IA» o escribirlo tú mismo. Dile al agente cómo debe comportarse y, muy importante, que use la herramienta
n8n
cuando necesite buscar información. - Guarda los cambios.
- Probar la Conversación:
- En n8n, pon a «escuchar» tu webhook (
Execute Node
). - En ElevenLabs, usa la función de «Test AI Agent». Se abrirá una ventana para que puedas hablar con él.
- Inicia una conversación y pídele que busque algo. Por ejemplo: «Busca la diferencia entre perros y gatos».
- Verás cómo el agente de voz identifica la petición, llama al webhook de n8n y le pasa la consulta (
searchQuery
).
- En n8n, pon a «escuchar» tu webhook (
- Procesar la Petición en n8n y Devolver la Respuesta:
- El webhook en n8n habrá recibido la consulta.
- Ahora, en lugar de usar otro agente de IA completo (sería redundante), usamos un nodo que vaya directo al grano. Por ejemplo, el nodo de
Perplexity
para hacer una búsqueda online. Le pasamos elsearchQuery
. - La respuesta de Perplexity puede ser larga. Para hacerla más natural, podemos pasarla por un nodo
AI Agent
con un simple prompt: «Resume esta información en tres frases». - Finalmente, añadimos un nodo
Respond to Webhook
. Este nodo enviará la respuesta resumida de vuelta al agente de voz de ElevenLabs. - ¡Importante! En el nodo Webhook inicial de n8n, asegúrate de cambiar la opción
Respond
aUsing 'Respond to Webhook' node
.
- Puesta en Producción:
- Una vez que todo funcione, activa tu workflow en n8n.
- Copia la URL de producción (
Production URL
) del webhook. - Vuelve a la configuración de la herramienta en ElevenLabs y sustituye la URL de prueba por la de producción.
¡Y eso es todo! Ahora tienes un asistente de voz súper potente con el que puedes mantener conversaciones fluidas. ¡A disfrutar! 🎉