El problema
Las agencias pierden la primera hora de cada proyecto en una llamada de descubrimiento: las mismas preguntas sobre el negocio, el público y el presupuesto, que en su mayoría ya responde la web del propio cliente. Si alguna vez contrataste una agencia web o a un diseñador freelance, conoces el ritual. Una o dos horas de "cuéntame de tu negocio", "quiénes son tus clientes", "tienes colores de marca" antes de que alguien te dé un precio.
Los formularios no lo resuelven. Un cuestionario largo hace las mismas preguntas obvias por escrito, el cliente lo abandona a la mitad y alguien en la agencia tiene que perseguirlo.
Qué construí
AskOnce es un agente de onboarding con IA que se encarga de la mitad aburrida de esa llamada. Lo construí solo, en un fin de semana, en el TUM.ai Makeathon de Múnich, para el reto de HappyRobot, que pedía agentes de IA capaces de hacer cosas reales (llamadas y emails incluidos), no solo chatear.
Qué hace
- Editor de workflows. La agencia arma su cuestionario una vez: preguntas, nombre del agente, tono. El cliente recibe un enlace.
- Lee la web primero. Antes de preguntar nada, AskOnce analiza la web del cliente y completa lo que puede, así el agente solo pregunta lo que falta.
- Chat o voz. El cliente responde escribiendo o hablando, y el brief se va armando en pantalla mientras tanto.
- Brief y decisión. Al final la agencia recibe un PDF con su marca y dos botones: aceptar (sale un email con un enlace para agendar) o rechazar (sale un email amable).
- Llamada de seguimiento. Si el cliente abandona a mitad de camino, el botón Call now del dashboard hace que el agente lo llame, pregunte solo lo que quedó sin responder y guarde las respuestas en el brief.



Por qué estas herramientas
Gemini se encarga de leer y escribir: analiza la web del cliente para que el agente nunca pregunte lo que ya es público, lleva el chat y redacta el brief final. Al principio mandaba cada mensaje del chat por un workflow de HappyRobot, pero cada respuesta implicaba iniciar una ejecución, esperar a que terminara y sacar la respuesta de sus nodos. Llamar a Gemini directamente hizo el chat rápido y dejó mucho menos que pudiera fallar delante del jurado.
HappyRobot hace aquello para lo que está pensado: llamadas telefónicas reales y los flujos de email de aceptar o rechazar. Antes de marcar, una función de Supabase le pasa al agente dos listas, lo que ya sabemos y lo que falta, así un cliente que respondió cinco de siete preguntas en la web no tiene que escuchar las siete otra vez. Después de la llamada, un paso de extracción saca las respuestas de la transcripción y las suma al brief.
ElevenLabs le da a cada workflow su propio agente de voz. Cada agencia tiene preguntas y tono distintos, así que AskOnce crea un agente de ElevenLabs aparte en cuanto se guarda un workflow, con esas preguntas dentro de su prompt.
Supabase guarda los datos y corre las funciones del lado del servidor, para que las API keys nunca lleguen al navegador. Lovable generó la UI en React: 206 de los 243 commits son de su bot. En un hackathon es lo sensato. Mi parte fue la conexión entre las tres plataformas.
Lo difícil
La voz necesitó tres intentos. El reconocimiento de voz del navegador solo funcionaba en Chrome y sonaba como un GPS, después vino una llamada de navegador con HappyRobot y al final ElevenLabs, que fue la que se quedó. Aun así, el domingo por la mañana cambié algo que funcionaba, rompí el arranque y tuve que volver a la versión anterior dos veces.
La llamada telefónica fue peor. Unas horas antes del jurado, todas las llamadas fallaban en un segundo porque el número de salida había perdido su SIP trunk (la conexión entre la plataforma de llamadas y la red telefónica). Dos números de reemplazo fallaron igual. Lo que al final funcionó fue el número que otro equipo ya estaba usando, y quedó en el changelog como limitación conocida.
En qué se convirtió
En la ceremonia de cierre la diapositiva decía "2nd & 3rd Place Happy Robot", y AskOnce fue tercero. Una placa y 100 euros.

La web sigue en línea. La landing y el login cargan, y el código es público en GitHub. No mantuve los flujos de llamadas ni los agentes de voz después del fin de semana, así que tómalo como una demo de hackathon, no como un producto en el que puedas registrarte.

La landing generada todavía dice "120+ agencies onboarded". Ese número nunca fue real: es texto de relleno que no alcancé a cambiar, y es lo primero que borraría.
El nombre del equipo sobrevivió al proyecto. En septiembre, con el mismo nombre, AskOnce ganó el 2º lugar en el reto "Best Route" de BMW Motorrad en Zúrich con algo totalmente distinto: un planificador de rutas en moto que puntúa las carreteras por lo divertidas que son, no por lo rápidas.
