Hace tiempo que quería crear un agente de voz que realmente fuese útil para un e-commerce, no solo una demo bonita que responde dos cosas y se queda colgada.
Me interesaba construir algo real, que se pudiera usar desde el primer día: alguien que atienda la llamada, detecte si el cliente existe, consulte información del pedido, asesore sobre productos y hasta pueda transferir la llamada a un humano.
Este artículo recoge mi experiencia completa creando ese agente, tal y como enseño en el vídeo que acompaña este post. No es teoría: es exactamente lo que hice, lo que funcionó, lo que no, y las soluciones que encontré.
Falta la segunda parte, donde vamos probando y mejorando hasta tener algo consistente, pero la base, aquí os la comparto.
Por qué quise construir este agente
El proyecto nació al trabajar con jordirubio.com, una tienda especializada en modelismo con un catálogo enorme: maquetas, pinturas, herramientas y más de 2000 productos en WooCommerce. Los clientes llaman muchísimo: quieren saber dónde está su pedido, cuándo llega, si un producto está disponible o qué pintura deberían usar para cierto acabado.
Yo quería que la IA fuese capaz de resolver todo eso sin sonar robótica. Y que lo hiciera por teléfono, no solo por chat.
El primer paso: sentarme a diseñar el flujo real de conversación
Antes de abrir Retell AI, me di cuenta de que necesitaba entender las conversaciones reales que tiene la tienda.
Identifiqué dos mundos muy distintos:
- Clientes existentes: vienen con un objetivo claro (mi pedido, mi envío, mi duda).
- No clientes o nuevos clientes: necesitan asesoramiento desde cero.
Mi intención nunca fue “crear un menú de opciones”. Lo que quería era una conversación normal, natural, como la que tendría un dependiente que conoce bien la tienda.
Así que decidí construir el agente desde cero en Conversational Flow, sin plantillas ni nada prefabricado.
Configurando el agente en Retell: donde empieza a tomar forma
Cuando empecé un nuevo flujo “start from blank”, lo primero fue definir:
• El idioma y la voz
Español y una voz cálida, cercana. Tenía claro que, si la voz no se siente humana, el proyecto se cae entero.
• El rol
Le expliqué al agente quién es y qué hace:
Eres el ayudante por voz de la tienda de modelismo jordirrubio.com. Conoces todo el catálogo, asesoras con paciencia y te gusta hacer las cosas fáciles.
• Cómo quiero que hable
Le pedí frases cortas, explicaciones simples y que siempre devolviera la pelota con preguntas:
“¿Quieres que lo miremos juntos?”
“¿Qué tipo de modelo estás montando?”
• Los ajustes técnicos
Aquí fue cuando descubrí que Retell deja por defecto una hora de llamada.
Yo pensé: “Si alguien está una hora con la IA, tenemos otro problema”.
Lo dejé en 6–7 minutos y reduje el silencio máximo antes de colgar a 30 segundos.
• Métricas post-llamada
Añadí una variable “venta”. Para mí era importante medir si este agente generaba ventas reales. No quería que fuera solo una curiosidad tecnológica.
El mensaje inicial: cuidar lo legal sin romper la naturalidad
El mensaje de inicio para mí era muy importante, porque ahí es donde te puedes cargar la experiencia si suena demasiado artificial.
Además, legalmente hay que avisar de que la llamada se graba.
Así que preferí usar una frase estática en el nodo de inicio. Nada de prompts complejos. Natural, claro y directo:
Me presento
Aviso de grabación
Pregunto con quién hablo
Esto marcó el tono de toda la experiencia.
Primera gran prueba: ¿cómo saber si quien llama es cliente?
Aquí llegó uno de los momentos clave del proyecto.
Quería que el agente supiera directamente, sin preguntar:
“Ah, vale, este cliente es Juan Pérez, vive en tal dirección y su último pedido es el nº 2457”.
Eso solo podía hacerlo integrando Retell con n8n y de ahí con WooCommerce.
El webhook en n8n
Creé un webhook en n8n para recibir automáticamente el número de teléfono del usuario desde Retell. En ese momento, la variable “user number” se volvió mi mejor amiga.
Integración con WooCommerce
Añadí la conexión usando la consumer key y la consumer secret.
Hasta aquí todo fácil… hasta que apareció el problema.
El error que me obligó a parar: WooCommerce solo devuelve 100 clientes
Este fue el momento en el que pensé:
“¿En serio WooCommerce solo deja sacar 100 clientes a la vez? ¿Cómo voy a encontrar uno por teléfono?”.
Probé un workaround temporal: pedir el email.
Funcionaba, pero no me gustaba. Sentía que rompía la magia: quería que el agente detectara al cliente sin pedirle nada.
Así que me puse a investigar y encontré la solución técnica real:
Modificar el código de WordPress
Añadí un fragmento al archivo functions.php que eleva el límite a 1000 clientes.
Cuando lo probé y comprobé que n8n podía buscar por teléfono… sentí que había desbloqueado un superpoder.
Volví al flujo original:
el teléfono decide si el usuario es cliente o no.
Qué pasa cuando sí es cliente
Aquí fue cuando empecé a disfrutar del proyecto.
Si el webhook devolvía dirección, código postal o cualquier dato del cliente, la transición en Retell lo llevaba a un nodo donde le preguntaba:
“Perfecto, ¿en qué puedo ayudarte?”
Y de ahí:
- información sobre productos
- dudas sobre envíos
- transferir la llamada a un humano
La warm transfer la configuré para que quien recibe la llamada sepa que viene de la IA.
Ese detalle hace que la experiencia sea muy profesional.
Creé componentes reutilizables: el que más cariño le puse fue al de productos
Retell añadió hace poco una función que me encanta: los componentes.
Quise crear uno que pudiera usar en otros agentes, y lo llamé “Información de Productos”.
Qué hacía este componente
- Pregunta qué producto busca el cliente.
- Envía la palabra clave a un webhook en n8n.
- n8n busca entre más de 2000 productos usando el módulo de search.
- Devuelve el primer resultado con nombre, descripción y precio.
- El agente se lo cuenta al cliente.
- El cliente decide si quiere buscar otro producto o salir.
Y si el producto no existe
En n8n añadí un condicional:
Si no hay resultados → envío “no encontrado”.
El agente responde algo natural:
“Lo siento, no disponemos de ese tipo de productos.”
Sentí que este componente era la prueba de que el proyecto iba por el camino correcto: natural, útil y sin fricciones.
Testing: donde salen los silencios, errores y bloqueos
Las primeras pruebas fueron divertidas… y frustrantes.
A veces, mientras n8n procesaba una búsqueda, el agente se quedaba callado. Y claro, eso en una llamada es mortal.
La solución fue añadir una frase de relleno:
“Dame un segundo que abro el ordenador.”
Esto salvó la experiencia completa.
Utilicé continuamente:
- el call history de Retell
- el playground del flujo
Ahí fue donde pude ver exactamente dónde se quedaba “colgado”.
Resultado final: un agente que realmente ayuda
Cuando todo estuvo conectado, sentí que el proyecto tenía algo especial:
No solo era un agente de voz. Era un nuevo canal de atención al cliente completamente autónomo.
El agente podía:
- Reconocer al cliente por teléfono.
- Consultar WooCommerce en tiempo real.
- Buscar productos por palabra clave.
- Explicar características y precios.
- Responder dudas sobre envíos.
- Transferir la llamada a un humano.
- Medir si la llamada acababa en venta.
Y lo hacía con una naturalidad sorprendente.



