Aprende Inteligencia Artificial y Acelera tu Futuro

Descubre cómo la IA puede multiplicar tu productividad y cambiar tu forma de trabajar.

Acceder al Curso Ahora

Cómo crear un bot de Telegram con IA que registre clientes en MariaDB usando n8n y OpenRouter

    Si quieres aprender a crear un bot de Telegram con n8n que use inteligencia artificial para extraer datos y guardarlos en una base de datos MariaDB, este tutorial es para ti.

    En esta guía paso a paso construiremos un sistema real donde:

    • 📩 Un usuario envía un mensaje natural por Telegram
    • 🤖 Un modelo LLM (OpenRouter) extrae los datos automáticamente
    • 🧠 n8n valida la información
    • 🗄 Se inserta en MariaDB
    • ✅ El bot confirma el registro

    Este ejemplo es perfecto para:

    • Automatización empresarial
    • Proyectos educativos
    • Sistemas internos de HR o CRM
    • Workflows con IA en n8n

    Arquitectura del workflow en n8n

    El flujo que vamos a construir es:

    Telegram Trigger
          ↓
    OpenRouter (LLM)
          ↓
    Parse JSON
          ↓
    Validación
          ↓
    Comprobación de duplicados
          ↓
    Insert en MariaDB
          ↓
    Respuesta en Telegram
    

    Este patrón es el mismo que utilizan muchas empresas para automatizar procesos internos con inteligencia artificial.


    Paso 1: Crear el bot de Telegram

    1. Abre Telegram.
    2. Busca @BotFather.
    3. Ejecuta /newbot.
    4. Copia el token que te genera.

    Ese token lo usarás en n8n.


    Paso 2: Configurar credenciales en n8n

    Telegram

    • Ve a Credentials
    • Añade credencial Telegram
    • Pega el token

    OpenRouter

    • Añade credencial OpenRouter
    • Introduce tu API Key

    MariaDB

    Configura:

    • Host
    • Puerto
    • Usuario
    • Contraseña
    • Base de datos: botiga

    Paso 3: Crear el workflow en n8n

    1️⃣ Telegram Trigger

    • Event: message
    • Conecta las credenciales
    • Ejecuta test y envía un mensaje al bot

    2️⃣ OpenRouter Chat Model

    Usaremos un modelo LLM para convertir lenguaje natural en JSON estructurado.

    System Prompt

    You extract client data from user messages.
    Return ONLY valid JSON.
    No explanations.
    No markdown.
    If required fields are missing, set valido=false.
    Never invent data.
    

    User Prompt

    Extract client data from this message:
    
    {{$json.message.text}}
    
    Return this exact JSON:
    
    {
      "dni": "string or null",
      "nom": "string or null",
      "cognoms": "string or null",
      "adreca": "string or null",
      "data_naix": "YYYY-MM-DD or null",
      "valido": true/false,
      "errores": []
    }
    

    Temperatura: 0

    Esto fuerza un comportamiento determinista en el modelo.


    3️⃣ Parsear el JSON en n8n

    Añade un nodo Code (JavaScript):

    const raw = $json.text;
    
    if (!raw) throw new Error("No LLM text found.");
    
    const cleaned = String(raw)
      .trim()
      .replace(/^```json\s*/i, "")
      .replace(/^```\s*/i, "")
      .replace(/```$/i, "")
      .trim();
    
    let data = JSON.parse(cleaned);
    
    if (data.data_naix && !/^\d{4}-\d{2}-\d{2}$/.test(data.data_naix)) {
      data.valido = false;
      data.errores = [...(data.errores || []), "Invalid date format"];
    }
    
    return [data];
    

    Paso 4: Validar antes de insertar

    Añade un nodo IF:

    {{$json.valido}} is true
    

    Si es false → enviar mensaje de error.


    Paso 5: Evitar duplicados en MariaDB

    Ejecuta esta consulta:

    SELECT COUNT(*) as total FROM client WHERE dni = {{$json.dni}};
    

    Después añade otro IF:

    {{$json.total}} is greater than 0
    

    Si es mayor que 0 → el DNI ya existe.


    Paso 6: Insertar en la base de datos

    Nodo: Insert rows in a table
    Tabla: client

    Mapea:

    • dni
    • nom
    • cognoms
    • adreca
    • data_naix

    Paso 7: Confirmación en Telegram

    Mensaje de éxito:

    ✅ Client registered: {{$json.nom}} {{$json.cognoms}}
    

    Mensaje de error:

    ❌ DNI already exists
    

    Ejemplo real de uso

    Usuario escribe:

    Add client Maria Torres López, DNI 12345678A, born 1998-04-12, address 12 Main Street.

    El sistema:

    • Extrae automáticamente los campos
    • Valida
    • Inserta
    • Responde

    Sin formularios. Solo lenguaje natural.


    Ventajas de usar IA con n8n

    • Automatización flexible
    • Eliminación de formularios rígidos
    • Adaptable a distintos estilos de escritura
    • Integración sencilla con bases de datos
    • Escalable a sistemas HR, CRM o ERP

    Conclusión

    Con este tutorial has aprendido cómo:

    • Crear un bot de Telegram con n8n
    • Usar OpenRouter como motor LLM
    • Extraer datos estructurados desde texto libre
    • Validar información antes de insertarla
    • Integrar MariaDB en un flujo automatizado

    Este patrón es el mismo que se utiliza en entornos empresariales modernos para construir agentes internos con IA.

    Tutoriales Más Vistos

    Posts Más Vistos