Cómo crear un bot de Telegram con IA que registre clientes en MariaDB usando n8n y OpenRouter
Tabla de contenidos
- 1
- 2 Arquitectura del workflow en n8n
- 3 Paso 1: Crear el bot de Telegram
- 4 Paso 2: Configurar credenciales en n8n
- 5 Paso 3: Crear el workflow en n8n
- 6 Paso 4: Validar antes de insertar
- 7 Paso 5: Evitar duplicados en MariaDB
- 8 Paso 6: Insertar en la base de datos
- 9 Paso 7: Confirmación en Telegram
- 10 Ejemplo real de uso
- 11 Ventajas de usar IA con n8n
- 12 Conclusión
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
- Abre Telegram.
- Busca @BotFather.
- Ejecuta
/newbot. - 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.