- Langflow permite construir aplicaciones de inteligencia artificial mediante componentes visuales conectados entre sí.
- LangBot lleva los flujos creados a Telegram, Discord, Slack y otras plataformas.
- La API Key y el identificador del flujo permiten comunicar correctamente ambas aplicaciones.
- Una red Docker compartida evita numerosos errores cuando los servicios utilizan contenedores separados.
Si quieres entrar en el mundo de la inteligencia artificial, pero te da cierto respeto enfrentarte a miles de líneas de código, Langflow puede facilitarte considerablemente el trabajo. Esta plataforma de código abierto permite construir aplicaciones, agentes y flujos de inteligencia artificial mediante una interfaz visual en la que los distintos componentes se conectan entre sí.
En lugar de programar desde cero toda la lógica de una aplicación, puedes añadir bloques para recibir un mensaje, preparar las instrucciones, consultar documentos, llamar a un modelo y devolver una respuesta. Cada bloque representa una función concreta y dispone de entradas y salidas compatibles con determinados tipos de datos.
Esto no significa que Langflow elimine completamente la parte técnica. Para crear aplicaciones avanzadas todavía necesitas comprender conceptos como prompts, modelos, herramientas, memoria, embeddings, APIs y bases de datos vectoriales. La diferencia es que puedes organizar estas piezas visualmente, probarlas por separado y modificar el flujo sin tener que rehacer todo el programa.
Langflow también permite publicar los flujos mediante una API. Gracias a esta función, el prototipo creado en el editor puede convertirse en el cerebro de una aplicación externa, una página web o un bot de mensajería. Una de las formas de hacerlo consiste en combinar Langflow con LangBot, una plataforma que conecta sistemas de IA con Telegram, Discord, Slack, LINE, WeChat y otros servicios.
Qué es Langflow y para qué sirve

Langflow es una plataforma visual para construir y ejecutar flujos de trabajo basados en modelos de lenguaje. Su editor utiliza componentes que pueden arrastrarse al lienzo y conectarse mediante puertos, formando una secuencia de procesamiento.
Entre los componentes disponibles se encuentran:
- Entradas y salidas de chat para recibir y devolver mensajes.
- Modelos de lenguaje de diferentes proveedores.
- Prompts con instrucciones y variables dinámicas.
- Agentes capaces de decidir qué herramientas utilizar.
- Cargadores de archivos para procesar documentos y otros datos.
- Modelos de embeddings para representar información mediante vectores.
- Bases de datos vectoriales para almacenar y recuperar contenido relevante.
- Herramientas y APIs que permiten interactuar con servicios externos.
- Componentes de memoria para conservar el historial de las conversaciones.
Aunque Langflow surgió estrechamente relacionado con el ecosistema de LangChain, no conviene describirlo únicamente como una interfaz gráfica para esta biblioteca. Actualmente dispone de su propia arquitectura de componentes, API, servidor y sistema de despliegue, además de integraciones con numerosos proveedores.
Langflow resulta especialmente útil para crear prototipos, experimentar con diferentes modelos, desarrollar sistemas RAG y exponer la lógica de una aplicación mediante una API. También permite crear componentes personalizados en Python cuando los bloques incluidos no cubren una necesidad concreta.
Diferencias entre un flujo, una cadena y un agente
Antes de empezar, conviene distinguir varios conceptos que suelen utilizarse como si fueran equivalentes.
Un flujo es el conjunto completo de componentes y conexiones que forman la aplicación. Puede contener entradas, prompts, modelos, herramientas, almacenamiento y salidas.
Una cadena ejecuta una secuencia relativamente predecible. Por ejemplo, puede recibir una consulta, traducirla, enviarla a un modelo y resumir después la respuesta. La salida de una etapa pasa a la siguiente siguiendo una ruta definida previamente.
Un agente, en cambio, recibe un objetivo y decide qué herramienta debe utilizar para alcanzarlo. Puede consultar una base de datos, realizar una búsqueda o ejecutar varias operaciones antes de responder.
También es posible construir sistemas multiagente, donde varios agentes desempeñan funciones diferentes. Uno puede recopilar información, otro analizarla y un tercero preparar la respuesta final. Sin embargo, conectar varios modelos en secuencia no convierte automáticamente un flujo en un sistema multiagente.
Esta diferencia es importante porque los agentes ofrecen mayor flexibilidad, pero también pueden consumir más tokens, tardar más tiempo y tomar decisiones inesperadas. Para una tarea sencilla y predecible, un flujo convencional suele ser más rápido y fácil de depurar.
Qué función cumple LangBot en esta integración
Langflow se encarga de ejecutar la lógica de la aplicación de IA, pero no administra directamente todas las conexiones con servicios como Telegram, Discord o Slack. Para eso puede utilizarse LangBot.
LangBot es una plataforma de código abierto diseñada para crear y administrar bots en diferentes servicios de mensajería. Gestiona la recepción de mensajes, la conexión con cada plataforma, los permisos y el envío de las respuestas al usuario final.
La división de responsabilidades queda de la siguiente forma:
- Langflow actúa como motor de inteligencia artificial: recibe el mensaje, ejecuta los prompts, consulta datos, llama al modelo y genera una respuesta.
- LangBot actúa como intermediario: recibe el mensaje desde Telegram, Discord o Slack, lo envía al flujo y devuelve el resultado a la plataforma correspondiente.
Por tanto, LangBot no convierte automáticamente cualquier diagrama en un bot terminado. Primero debes crear y probar el flujo en Langflow, publicar su endpoint y proporcionar a LangBot la información necesaria para ejecutarlo.
Requisitos para crear un bot con Langflow y LangBot

Antes de empezar necesitas tener instaladas o disponibles las siguientes herramientas:
- Docker y Docker Compose, si vas a ejecutar las aplicaciones mediante contenedores.
- Langflow, instalado localmente o en un servidor accesible.
- LangBot, instalado mediante uv, Docker o uno de sus métodos compatibles.
- Una API Key del proveedor del modelo, salvo que utilices un modelo local.
- Un token para Telegram, Discord, Slack u otra plataforma donde quieras publicar el bot.
- Una API Key de Langflow para autorizar las llamadas al flujo.
También debes comprobar que LangBot puede acceder a la dirección de Langflow. Que las dos aplicaciones funcionen correctamente desde el navegador no garantiza que puedan comunicarse entre sí, especialmente cuando se encuentran dentro de contenedores diferentes.
Para realizar una primera prueba, puedes ejecutar ambas herramientas en el mismo ordenador. Cuando el flujo esté funcionando, será posible trasladarlo a un servidor, añadir una base de datos persistente y aplicar medidas de seguridad más estrictas.
Cómo instalar Langflow mediante Docker
La forma más rápida de probar Langflow consiste en utilizar su imagen oficial de Docker. Un comando básico sería el siguiente:
docker run -d \
--name langflow \
-p 7860:7860 \
-v langflow-data:/app/langflow \
-e LANGFLOW_AUTO_LOGIN=false \
-e LANGFLOW_SUPERUSER_PASSWORD=CAMBIA_ESTA_CONTRASENA \
langflowai/langflow:latest
Después podrás acceder a la interfaz mediante:
http://localhost:7860
El volumen langflow-data permite conservar los proyectos y la configuración cuando se recrea el contenedor. Sin él, podrías perder los flujos al eliminar o sustituir el contenedor.
No debes utilizar una contraseña débil ni publicar directamente el puerto 7860 en internet. En una instalación de producción conviene utilizar HTTPS, restringir el acceso y desplegar una base de datos adecuada, como PostgreSQL.
Cómo instalar y abrir LangBot
LangBot ofrece diferentes métodos de instalación. Para una prueba rápida puede ejecutarse mediante uvx, una herramienta incluida en el ecosistema de uv:
uvx langbot
Una vez iniciado, el panel de administración se encuentra normalmente en:
http://localhost:5300
Este procedimiento resulta cómodo para probar la aplicación sin preparar manualmente un entorno de Python. Para un despliegue más duradero, LangBot también ofrece una configuración basada en Docker Compose.
No debes confundir el puerto 5300 de LangBot con el 7860 de Langflow. Son dos aplicaciones independientes y cada una mantiene su propio panel, configuración y proceso.
Desde LangBot tendrás que crear una conexión con la plataforma de mensajería elegida y configurar el pipeline o proveedor responsable de generar las respuestas. Los nombres exactos de algunos menús pueden variar entre versiones, pero la integración con Langflow utiliza su API para ejecutar el flujo publicado.
Cómo construir el flujo básico en Langflow

Antes de conectarlo a LangBot, crea un flujo nuevo desde la interfaz de Langflow. Puedes comenzar con la plantilla Basic Prompting o partir de un lienzo vacío.
Un flujo conversacional sencillo puede contener:
- Chat Input: recibe el mensaje enviado por el usuario.
- Prompt: añade las instrucciones que definen el comportamiento del bot.
- Language Model: ejecuta el modelo seleccionado.
- Chat Output: entrega la respuesta producida por el modelo.
La conexión general sería:
Chat Input → Prompt → Language Model → Chat Output
Dentro del componente del modelo tendrás que elegir un proveedor y configurar sus credenciales. Langflow admite diferentes modelos e integraciones, por lo que los campos disponibles dependerán de la opción seleccionada.
En el prompt puedes escribir instrucciones como las siguientes:
Eres un asistente de soporte técnico.
Responde en español con instrucciones claras y breves.
Si no conoces la respuesta, indícalo y no inventes información.
Pregunta del usuario:
{input}
El nombre de la variable debe coincidir con la entrada conectada al componente. Si el prompt espera una variable diferente o no recibe el mensaje del usuario, el modelo puede ignorar la consulta o responder siempre de la misma manera.
Cómo probar el flujo antes de publicarlo
Abre el Playground de Langflow y envía diferentes mensajes. No te limites a comprobar que devuelve una respuesta: revisa también cómo se comporta con preguntas largas, entradas vacías, instrucciones ambiguas y consultas para las que no dispone de información.
Si utilizas herramientas o documentos, comprueba que el modelo:
- Invoca la herramienta adecuada cuando resulta necesaria.
- No utiliza una herramienta para preguntas que puede responder directamente.
- Recupera fragmentos relevantes de la documentación.
- No inventa información cuando la fuente no contiene la respuesta.
- Mantiene separadas las conversaciones de usuarios distintos.
Este paso es imprescindible. Si el flujo no funciona en el Playground, conectarlo a LangBot solamente añadirá otra capa de complejidad y hará que resulte más difícil localizar el origen del problema.
Cómo obtener la API Key y el identificador del flujo

LangBot necesita conocer qué flujo debe ejecutar y disponer de autorización para acceder a él.
Para crear una clave, abre el menú de usuario de Langflow, entra en Settings y busca el apartado Langflow API Keys. Crea una nueva clave, cópiala y guárdala en un gestor de contraseñas, porque puede no volver a mostrarse completa.
Las claves de Langflow heredan los permisos del usuario que las crea. Por tanto, no debes compartir una clave de administrador ni incluirla en capturas, repositorios o archivos públicos.
Para localizar el flujo, ábrelo y entra en:
Share → API access
Desde este apartado puedes consultar el endpoint generado y ver ejemplos de código para ejecutarlo. La dirección suele seguir una estructura similar a esta:
http://localhost:7860/api/v1/run/IDENTIFICADOR_DEL_FLUJO
Langflow también permite asignar un nombre al endpoint. Esto facilita utilizar una dirección reconocible en lugar de un identificador largo:
http://localhost:7860/api/v1/run/bot-soporte
Aunque el Flow ID puede aparecer en diferentes lugares de la interfaz o la URL, Share y API access es la referencia más fiable porque muestra el endpoint que debe utilizar la aplicación externa.
Cómo comprobar la API de Langflow manualmente
Antes de configurar LangBot, conviene enviar una solicitud directamente a la API. Puedes utilizar el código proporcionado por Langflow o ejecutar una prueba con curl:
curl --request POST \
--url "http://localhost:7860/api/v1/run/IDENTIFICADOR_DEL_FLUJO" \
--header "Content-Type: application/json" \
--header "x-api-key: TU_API_KEY" \
--data '{
"input_value": "Hola, ¿puedes ayudarme?",
"input_type": "chat",
"output_type": "chat"
}'
Si esta petición falla, revisa la dirección, la clave, el identificador y los registros de Langflow antes de continuar.
El contenido exacto del cuerpo puede variar según las entradas utilizadas en el flujo. El panel de API access genera ejemplos adaptados a la configuración, por lo que es preferible copiar el ejemplo producido por tu propia instalación.
También puedes consultar la documentación interactiva de la API en:
http://localhost:7860/docs
Cómo conectar LangBot con la API de Langflow
Una vez verificada la API, abre el panel de LangBot y crea o edita el pipeline que utilizará el bot. Selecciona la integración de Langflow e introduce los datos solicitados.
Normalmente necesitarás proporcionar:
- Dirección base de Langflow: por ejemplo,
http://localhost:7860. - API Key: la clave creada desde los ajustes de Langflow.
- Flow ID o nombre del endpoint: identifica el flujo que debe ejecutarse.
- Parámetros de entrada: permiten enviar correctamente el mensaje del usuario.
Después debes asociar el pipeline con el bot o plataforma correspondiente. Por ejemplo, para Telegram necesitarás crear un bot mediante BotFather e introducir su token en LangBot. Discord y Slack requieren sus propias aplicaciones, credenciales y permisos.
El flujo completo será el siguiente:
- El usuario envía un mensaje desde Telegram, Discord o Slack.
- LangBot recibe el mensaje mediante la integración de la plataforma.
- LangBot envía la consulta al endpoint de Langflow.
- Langflow ejecuta los componentes, prompts, herramientas y modelos.
- Langflow devuelve el resultado a LangBot.
- LangBot entrega la respuesta al usuario en la plataforma original.
Cómo conectar Langflow y LangBot si utilizas Docker

Cuando ambas aplicaciones se ejecutan directamente en el mismo equipo, pueden comunicarse mediante sus puertos locales. Sin embargo, dentro de Docker, localhost hace referencia al propio contenedor.
Si LangBot se encuentra dentro de un contenedor y configuras:
http://localhost:7860
LangBot buscará Langflow dentro de su propio contenedor. Como el servicio está en otro lugar, la conexión fallará.
Si los dos servicios se ejecutan mediante Docker Compose, la solución más limpia consiste en añadirlos a una red compartida y utilizar el nombre del servicio:
services:
langflow:
image: langflowai/langflow:latest
ports:
- "7860:7860"
networks:
- ia_network
langbot:
image: langbotio/langbot:latest
ports:
- "5300:5300"
networks:
- ia_network
networks:
ia_network:
En este caso, LangBot debería acceder a Langflow mediante una dirección semejante a:
http://langflow:7860
El nombre langflow corresponde al servicio declarado en Docker Compose.
Si Langflow se ejecuta en el ordenador anfitrión y LangBot dentro de Docker, puede ser necesario utilizar:
http://host.docker.internal:7860
La dirección exacta depende del sistema operativo y de la configuración de Docker. Por eso es recomendable probar la conectividad desde el entorno donde realmente se ejecuta LangBot, no solamente desde el navegador del anfitrión.
Cómo conservar la memoria de las conversaciones
Si cada mensaje se envía a Langflow como una petición completamente independiente, el modelo puede no recordar lo que el usuario dijo anteriormente.
El componente Agent de Langflow dispone de memoria de chat integrada. También puede utilizarse Message History para recuperar mensajes almacenados en Langflow o en servicios externos compatibles.
Para separar correctamente las conversaciones, las solicitudes deben utilizar un Session ID estable. LangBot debería enviar el mismo identificador para los mensajes pertenecientes a una misma conversación y uno diferente para cada usuario, canal o grupo.
Si todos los usuarios comparten el mismo Session ID, existe el riesgo de que:
- Se mezclen conversaciones diferentes.
- Un usuario reciba contexto perteneciente a otra persona.
- El historial crezca de forma innecesaria.
- El bot produzca respuestas incoherentes o exponga datos.
La estrategia exacta dependerá de la integración, pero suele ser conveniente construir el identificador utilizando el ID de la plataforma, el canal y el usuario.
Cómo añadir documentos mediante un sistema RAG

Uno de los usos más interesantes de Langflow consiste en crear un bot que responda utilizando documentación propia. Para ello puedes implementar un sistema de Generación Aumentada por Recuperación o RAG.
El proceso se divide normalmente en dos partes:
- Indexación: los documentos se dividen en fragmentos, se convierten en embeddings y se guardan en una base de datos vectorial.
- Consulta: la pregunta del usuario se transforma en un vector y se buscan los fragmentos más relacionados antes de llamar al modelo.
Langflow incluye plantillas y componentes para trabajar con cargadores de documentos, modelos de embeddings y diferentes bases de datos vectoriales. Puedes utilizar una plantilla RAG como punto de partida y adaptarla a tus archivos.
Para obtener resultados fiables conviene ajustar:
- El tamaño y solapamiento de los fragmentos.
- El modelo utilizado para generar embeddings.
- La cantidad de resultados recuperados.
- El prompt que obliga a responder basándose en las fuentes.
- Los permisos de acceso a cada colección documental.
Un sistema RAG no garantiza que todas las respuestas sean correctas. Si la recuperación encuentra fragmentos poco relevantes o el prompt no establece límites claros, el modelo todavía puede interpretar mal la información o inventar detalles.
Casos de uso de Langflow y LangBot
La combinación de ambas herramientas permite publicar un mismo sistema de IA en diferentes canales sin reconstruir toda la lógica para cada plataforma.
Algunos casos de uso interesantes son:
- Bot de atención al cliente que consulta manuales, políticas y preguntas frecuentes.
- Asistente interno conectado con documentación corporativa autorizada.
- Bot de ventas que recopila información y deriva oportunidades al equipo comercial.
- Moderador para comunidades de Discord o Telegram.
- Asistente técnico capaz de consultar una base de conocimientos.
- Agente con herramientas para obtener información de APIs o bases de datos.
- Sistema de clasificación que analiza mensajes y los dirige al departamento adecuado.
Para acciones sensibles, como modificar registros, enviar correos o procesar pedidos, conviene exigir confirmación y limitar cuidadosamente las herramientas disponibles. Un agente no debería recibir más permisos de los estrictamente necesarios.
Cómo solucionar los errores de conexión más frecuentes

Si LangBot no consigue ejecutar el flujo, lo primero es comprobar si la API funciona mediante una llamada manual. Esto permite determinar si el error se encuentra en Langflow, en LangBot o en la red.
Los fallos más habituales son los siguientes:
- Flow ID incorrecto: se ha copiado el identificador de un componente en lugar del flujo completo.
- API Key inválida: la clave está incompleta, revocada o pertenece a un usuario sin permisos suficientes.
- Base URL equivocada: se ha duplicado
/apio se ha introducido el endpoint completo en un campo que solamente esperaba el dominio y el puerto. - Uso incorrecto de localhost: LangBot y Langflow están en contenedores distintos.
- Puerto inaccesible: el servicio no está escuchando, el contenedor se ha detenido o existe un cortafuegos intermedio.
- Formato de entrada incompatible: el flujo espera un tipo de dato o un nombre de variable diferente.
- Error del proveedor: la clave del modelo es incorrecta, no tiene saldo o ha alcanzado su límite.
- Tiempo de espera agotado: el flujo tarda demasiado porque consulta documentos, ejecuta herramientas o utiliza un modelo lento.
También debes revisar los registros de ambos servicios:
docker logs langflow
docker logs langbot
Si utilizas Docker Compose, puedes consultar los últimos registros mediante:
docker compose logs --tail=200 langflow
docker compose logs --tail=200 langbot
No compartas los registros completos sin revisarlos, ya que pueden contener direcciones internas, nombres de usuario, claves o fragmentos de las conversaciones.
Seguridad y despliegue en producción
Una instalación que funciona en un ordenador local no está necesariamente preparada para ser expuesta a internet. Antes de utilizar el bot con usuarios reales debes proteger tanto Langflow como LangBot.
Entre las medidas recomendables se encuentran:
- Activar la autenticación y utilizar contraseñas robustas.
- Guardar las claves como secretos o variables de entorno, nunca directamente en el código.
- Utilizar HTTPS mediante un proxy inverso.
- Limitar qué puertos quedan expuestos públicamente.
- Aplicar restricciones de uso y límites de solicitudes.
- Separar las conversaciones mediante identificadores de sesión.
- Revisar los permisos concedidos a herramientas y agentes.
- Utilizar almacenamiento persistente y realizar copias de seguridad.
- Actualizar periódicamente las imágenes y dependencias.
Las aplicaciones empresariales también necesitan controlar qué usuarios pueden acceder a cada documento, base de datos o herramienta. Conectar una fuente privada a un sistema RAG no implica que todos los usuarios del bot deban poder consultarla.
Cuándo merece la pena utilizar Langflow con LangBot
Esta combinación resulta especialmente útil cuando quieres separar el diseño de la inteligencia artificial de la integración con las plataformas de mensajería. Puedes modificar el flujo, cambiar el modelo o añadir documentos sin reconstruir desde cero el bot de Telegram o Discord.
Langflow aporta el editor visual, los agentes, las herramientas, la memoria y la API. LangBot añade la conexión con los canales de mensajería, la administración de bots y la distribución de las respuestas.
Para un prototipo sencillo, el proceso puede completarse en poco tiempo. Sin embargo, una aplicación destinada a usuarios reales necesita pruebas, control de errores, seguridad, límites de uso y almacenamiento persistente.
Una vez configurada correctamente la comunicación, cada mensaje seguirá el mismo recorrido: LangBot lo recibe, Langflow ejecuta la inteligencia del flujo y LangBot devuelve la respuesta al canal original. Esta arquitectura permite utilizar un mismo sistema en varias plataformas y seguir mejorándolo desde el editor visual sin modificar individualmente cada bot.
Soy un apasionado de la tecnología que ha convertido sus intereses «frikis» en profesión. Llevo más de 10 años de mi vida utilizando tecnología de vanguardia y trasteando todo tipo de programas por pura curiosidad. Ahora me he especializado en tecnología de ordenador y videojuegos. Esto es por que desde hace más de 5 años que trabajo redactando para varias webs en materia de tecnología y videojuegos, creando artículos que buscan darte la información que necesitas con un lenguaje entendible por todos.
Si tienes cualquier pregunta, mis conocimientos van desde todo lo relacionado con el sistema operativo Windows así como Android para móviles. Y es que mi compromiso es contigo, siempre estoy dispuesto a dedicarte unos minutos y ayudarte a resolver cualquier duda que tengas en este mundo de internet.