🤖 Cómo crear tu propio «agente de motivación» punk con n8n e IA: el robot que te anima a terminar tus proyectos

Robot punk motivando con agente IA n8n productividad proyectos automatización personal 2025

⚡️ ¿Por qué necesitas un agente motivador?

¿Cuántos proyectos has dejado a medias? ¿Tu servidor casero sigue funcionando a medias, tu Home Assistant tiene automaciones incompletas o tu blog lleva semanas sin actualizarse? La procrastinación es el enemigo del maker, pero hoy vamos a hackearla: crearemos un robot punk motivacional que te anime, te presione (con cariño) y te ayude a terminar tus proyectos tech usando n8n, IA y automatización.

1️⃣ Visión general del proyecto

Vamos a configurar un agente de IA en n8n que:

  • Te envía mensajes motivadores personalizados vía Telegram o email
  • Lleva un seguimiento de tus proyectos y deadlines
  • Te manda memes punk cuando avanzas (o cuando procrastinas)
  • Se adapta a tu personalidad y estilo de trabajo

2️⃣ Requisitos técnicos

  • n8n instalado en tu servidor casero o VPS
  • Cuenta en OpenRouter para acceder a modelos IA (usaremos DeepSeek R1 gratis)
  • Bot de Telegram configurado (si quieres recibir mensajes por Telegram)
  • Opcional: cuenta en algún servicio de imágenes por IA

3️⃣ Arquitectura detallada del workflow

Nuestro workflow estará formado por varios módulos interconectados:

Módulo 1: Trigger y programación

En n8n, añade un nodo Schedule:

{
  "mode": "specificDates",
  "specificDates": [
    {
      "date": "YYYY-MM-DD",
      "hour": 9,
      "minute": 0
    },
    {
      "date": "YYYY-MM-DD",
      "hour": 17,
      "minute": 30
    }
  ]
}

Esto activará el workflow dos veces al día: por la mañana y por la tarde. También puedes usar expresiones cron para programación avanzada:

{
  "mode": "cronExpression",
  "cronExpression": "0 9,17 * * 1-5"  // Lunes a viernes a las 9AM y 5PM
}

Módulo 2: Estado del proyecto y contexto

Necesitamos una base de datos para almacenar el estado de tus proyectos. Puedes usar:

  • Google Sheets: Simple pero efectivo para empezar
  • n8n Variables: Para datos persistentes entre ejecuciones
  • Base de datos: PostgreSQL o MySQL para proyectos complejos

Añade un nodo Google Sheets configurado así:

{
  "operation": "read",
  "sheetName": "Proyectos",
  "range": "A:G",
  "options": {
    "returnAllMatches": true
  }
}

Tu Google Sheet debería tener esta estructura:

Proyecto Descripción Fecha límite Progreso (%) Estado Personalidad Nivel presión
Servidor casero IA Montar agente motivador y automatizar backups 2025-06-01 55 En curso punk 4

Módulo 3: IA Generativa para mensajes motivacionales

Añade un nodo OpenRouter para generar mensajes motivacionales personalizados:

{
  "authentication": "genericCredentialType",
  "genericCredentialType": {
    "openrouterApiKey": "tu_api_key_aquí"
  },
  "model": "deepseek/deepseek-r1:free",
  "messages": [
    {
      "role": "system",
      "content": "Eres un coach motivacional con estilo punk y rebelde. Tu trabajo es motivar al usuario a terminar sus proyectos tech. Usa lenguaje directo, algo irreverente pero siempre constructivo. Incluye referencias punk, tech y maker. No uses más de 3 frases. Adapta tu estilo según la personalidad indicada y el nivel de presión solicitado."
    },
    {
      "role": "user",
      "content": "Crea un mensaje motivacional para este proyecto: \"{{$node[\"Google Sheets\"].json[\"nombreProyecto\"]}}\". Descripción: {{$node[\"Google Sheets\"].json[\"descripción\"]}}. Fecha límite: {{$node[\"Google Sheets\"].json[\"fechaLímite\"]}}. Progreso actual: {{$node[\"Google Sheets\"].json[\"progreso\"]}}%. Personalidad: {{$node[\"Google Sheets\"].json[\"personalidad\"]}}. Nivel de presión: {{$node[\"Google Sheets\"].json[\"nivelPresión\"]}}/5."
    }
  ],
  "options": {
    "temperature": 0.7,
    "maxTokens": 150
  }
}

Módulo 4: Generación de memes motivacionales

Para añadir un toque visual, usaremos un nodo HTTP Request para llamar a un servicio de generación de imágenes:

{
  "url": "https://api.openai.com/v1/images/generations",
  "method": "POST",
  "authentication": "genericCredentialType",
  "genericCredentialType": {
    "apiKey": "tu_api_key_aquí"
  },
  "body": {
    "prompt": "Un robot punk con cresta naranja y chaqueta de pinchos animando a alguien a completar un proyecto de {{$node[\"Google Sheets\"].json[\"nombreProyecto\"]}}. Estilo cartoon, colorido, humorístico.",
    "n": 1,
    "size": "512x512"
  }
}

Módulo 5: Lógica condicional avanzada

Usemos un nodo IF para determinar el tipo de mensaje según el progreso y la fecha límite:

{
  "conditions": {
    "mode": "allResults",
    "conditions": [
      {
        "id": "1",
        "name": "Urgente",
        "type": "complex",
        "value": "={{ new Date($node[\"Google Sheets\"].json[\"fechaLímite\"]) - new Date() < 1000 * 60 * 60 * 24 * 2 && $node[\"Google Sheets\"].json[\"progreso\"] < 70 }}",
        "routing": {
          "operations": {
            "main": [
              [
                {
                  "node": "OpenRouter - mensaje urgente",
                  "type": "main",
                  "index": 0
                }
              ]
            ]
          }
        }
      },
      {
        "id": "2",
        "name": "Progreso excelente",
        "type": "complex",
        "value": "={{ $node[\"Google Sheets\"].json[\"progreso\"] >= 80 }}",
        "routing": {
          "operations": {
            "main": [
              [
                {
                  "node": "OpenRouter - mensaje celebración",
                  "type": "main",
                  "index": 0
                }
              ]
            ]
          }
        }
      },
      {
        "id": "3",
        "name": "Estancado",
        "type": "complex",
        "value": "={{ $node[\"Google Sheets\"].json[\"últimoMensaje\"] && new Date() - new Date($node[\"Google Sheets\"].json[\"últimoMensaje\"]) > 1000 * 60 * 60 * 24 * 3 && $node[\"Google Sheets\"].json[\"progreso\"] === $node[\"Último estado\"].json[\"progreso\"] }}",
        "routing": {
          "operations": {
            "main": [
              [
                {
                  "node": "OpenRouter - mensaje crítico",
                  "type": "main",
                  "index": 0
                }
              ]
            ]
          }
        }
      }
    ]
  }
}

Módulo 6: Envío a múltiples canales

Implementaremos dos canales de comunicación: Telegram y Email.

Nodo Telegram:

{
  "authentication": "genericCredentialType",
  "operation": "sendMessage",
  "chatId": "tu_chat_id",
  "message": "¡Actualización de proyecto {{$node[\"Google Sheets\"].json[\"nombreProyecto\"]}}!\n\n{{$node[\"OpenRouter\"].json[\"output\"]}}",
  "additionalFields": {
    "parse_mode": "HTML",
    "disable_notification": false
  }
}

Nodo Email (usando n8n Email):

{
  "fromEmail": "robot@tupagina.com",
  "toEmail": "tu@email.com",
  "subject": "🤖 Recordatorio punk: {{$node[\"Google Sheets\"].json[\"nombreProyecto\"]}}",
  "html": "<h1>¡Hey maker!</h1><p>{{$node[\"OpenRouter\"].json[\"output\"]}}</p>
  <img src='{{$node[\"HTTP Request\"].json[\"data\"][0][\"url\"]}}'>
  <p><strong>Progreso actual:</strong> {{$node[\"Google Sheets\"].json[\"progreso\"]}}%</p>
  <p><strong>Fecha límite:</strong> {{$node[\"Google Sheets\"].json[\"fechaLímite\"]}}</p>",
  "options": {
    "attachments": []
  }
}

Módulo 7: Actualización de estado

Finalmente, actualizamos la hoja de Google Sheets para registrar cuándo se envió el último mensaje:

{
  "operation": "update",
  "sheetName": "Proyectos",
  "range": "A:G",
  "options": {
    "valueInputMode": "RAW",
    "valueRenderMode": "FORMATTED_VALUE"
  },
  "dataKey": "nombreProyecto",
  "columns": {
    "E": "={{new Date().toISOString()}}"
  }
}

4️⃣ Ejemplos de prompts motivacionales punk

Aquí tienes ejemplos para diferentes personalidades y niveles de presión:

// Estilo punk, presión nivel 5
"¡DESPIERTA DE UNA VEZ! Tu proyecto '{{nombreProyecto}}' está acumulando polvo como un viejo casete. Los verdaderos punks TERMINAN lo que empiezan. ¡MUÉVETE AHORA y demuestra que no eres solo palabras!"

// Estilo divertido, presión nivel 2
"Hey, tu servidor casero te echa de menos... ¿Cuándo volverás a jugar con él? Tu proyecto '{{nombreProyecto}}' está en {{progreso}}%, como una canción que solo has tarareado el estribillo. ¡Dale caña!"

// Estilo agresivo, presión nivel 4
"¿LLAMAS A ESO PROGRESO? {{progreso}}% en '{{nombreProyecto}}'? Mi abuela programa más rápido, y ella piensa que Python es una serpiente. MUEVE EL TRASERO y termina esto AHORA."

// Estilo serio, presión nivel 3
"Atención: Tu proyecto '{{nombreProyecto}}' alcanzará su fecha límite en {{díasRestantes}} días. Con solo un {{progreso}}% completado, se requiere acción inmediata para cumplir los objetivos establecidos."

5️⃣ Mejoras avanzadas y extensiones

Integración con tareas reales

Conecta tu agente motivador con herramientas reales de gestión de proyectos:

// Ejemplo de nodo para GitHub Issues
{
  "authentication": "oAuth2",
  "resource": "issue",
  "owner": "tu-usuario",
  "repository": "tu-repo",
  "operation": "get",
  "issueNumber": 123
}

Sistema de recompensas automatizado

Añade un nodo condicional que active «recompensas» cuando completes tareas:

{
  "conditions": {
    "mode": "allResults",
    "conditions": [
      {
        "id": "1",
        "name": "Proyecto completado",
        "type": "complex",
        "value": "={{ $node[\"Google Sheets\"].json[\"progreso\"] >= 100 }}",
        "routing": {
          "operations": {
            "main": [
              [
                {
                  "node": "Activar recompensa",
                  "type": "main",
                  "index": 0
                }
              ]
            ]
          }
        }
      }
    ]
  }
}

Memoria y aprendizaje

Usa un nodo Function para analizar qué tipo de mensajes te motivan más:

// Añade este código en un nodo Function
const proyectos = $node["Google Sheets"].json;
const progresoDiario = {};

// Calcula el progreso diario para cada proyecto
proyectos.forEach(proyecto => {
  const fechaActual = new Date();
  const fechaÚltimoMensaje = new Date(proyecto.últimoMensaje);
  const díasTranscurridos = (fechaActual - fechaÚltimoMensaje) / (1000 * 60 * 60 * 24);

  if (díasTranscurridos > 0) {
    progresoDiario[proyecto.nombreProyecto] = (proyecto.progreso - proyecto.progresoAnterior) / díasTranscurridos;
  }
});

// Analiza qué estilo motivacional funciona mejor
const estilosEfectivos = Object.keys(progresoDiario)
  .filter(proyecto => progresoDiario[proyecto] > 5) // Más del 5% de progreso diario
  .map(proyecto => {
    const proyectoData = proyectos.find(p => p.nombreProyecto === proyecto);
    return proyectoData.personalidad;
  });

// Cuenta qué estilos son más efectivos
const contadorEstilos = {};
estilosEfectivos.forEach(estilo => {
  contadorEstilos[estilo] = (contadorEstilos[estilo] || 0) + 1;
});

// Determina el estilo más efectivo
let estiloMásEfectivo = Object.keys(contadorEstilos).reduce((a, b) => 
  contadorEstilos[a] > contadorEstilos[b] ? a : b, Object.keys(contadorEstilos)[0] || "punk");

return { estiloMásEfectivo, progresoDiario };

6️⃣ Despliegue completo: conexión con tu ecosistema

Para hacer que tu agente motivacional sea realmente útil, intégralo con:

  • Home Assistant: Envía notificaciones cuando estás en tu escritorio de trabajo
  • Time tracking: Conecta con Toggl, RescueTime o cualquier sistema de seguimiento
  • Calendario: Sincroniza con Google Calendar para recordatorios contextuales
  • GitHub/GitLab: Monitoriza tus commits y pulls para seguimiento real

Ejemplo de integración con Home Assistant:

{
  "authentication": "genericCredentialType",
  "resource": "state",
  "entityId": "binary_sensor.escritorio_ocupado",
  "operation": "get"
}

🎸 Resumen punk y despedida

Con este agente motivacional, ya no tienes excusas para dejar proyectos a medias. Tu robot punk te mantendrá enfocado, te dará caña cuando procrastines y celebrará tus victorias con el estilo irreverente que mereces.
¿Quieres probarlo ya? El ejemplo completo en JSON para importar directamente en n8n está disponible en este repositorio de GitHub.
¿Has creado tu propio agente motivacional? ¿Tienes algún truco para combatir la procrastinación en tus proyectos tech? Cuéntanoslo en los comentarios o en la comunidad de learningaiagents.net.

Recursos y enlaces útiles

Preguntas Frecuentes

¿Qué es un agente de motivación IA y cómo funciona?

Un agente de motivación IA es un workflow automatizado en n8n que usa LLMs (GPT-4, Claude, Ollama) para enviarte mensajes personalizados de ánimo, recordatorios de objetivos, tracking de progreso, y feedback positivo. Funciona: 1) Defines tus proyectos y metas en base de datos, 2) Scheduler ejecuta diariamente, 3) AI Agent analiza tu progreso (commits git, tareas completadas, tiempo trabajado), 4) Genera mensaje motivacional personalizado, 5) Envía vía Telegram, email, o notificación push. Es coach personal que conoce tu contexto y te mantiene accountable sin coste de coach humano.

¿Puedo crear un agente de motivación con n8n y IA gratis?

Sí, 100% gratis: n8n self-hosted (gratis), Ollama con DeepSeek R1 (gratis, local), Telegram Bot API (gratis). Setup: servidor con n8n + Ollama (homelab, VPS barato 5€/mes, o Raspberry Pi), workflow n8n que: 1) Schedule Trigger diario, 2) HTTP Request a Ollama con prompt de motivación, 3) Telegram Bot envía mensaje. Sin costes recurrentes de OpenAI, sin límites. El único gasto es hardware/VPS si no tienes. Alternativa cloud: n8n cloud (20€/mes) + OpenAI API (0.50€/día), pero menos punk.

¿Cómo envío mensajes de motivación por Telegram con n8n?

Pasos: 1) Crea bot en Telegram con @BotFather, obtén token. 2) En n8n, añade credencial de Telegram Bot con token. 3) En workflow: usa nodo «Telegram» con operation «Send Message», especifica chat_id (tu Telegram ID, obtén con @userinfobot), y content desde AI Agent. 4) Opcional: añade botones inline (Quick Replies) para feedback («¡Gracias!», «Hoy no puedo»). 5) Guarda workflow, activa Schedule Trigger. Cada mañana recibes mensaje personalizado en Telegram. Más efectivo que alarmas genéricas porque contexto es tuyo.

¿Cómo hago que el agente de motivación sea realmente personalizado?

Contexto es clave: 1) Base de datos con tus proyectos actuales, deadlines, estado (Google Sheets, PostgreSQL, Airtable). 2) Integra fuentes de progreso: GitHub commits (cuánto programaste ayer), Toggl/RescueTime (horas trabajadas), Notion/Todoist (tareas completadas), fitness tracker (ejercicio). 3) AI Agent lee estos datos y genera mensaje con contexto real: «Ayer hiciste 3 commits en proyecto homelab, vas 60% completado. Hoy enfócate en Docker networking». Cuanto más datos integres, más relevante y motivador es el mensaje. IA transforma datos brutos en insights accionables.

¿El agente de motivación puede aprender de mi feedback?

Sí, con memoria conversacional. En Telegram Bot, añade botones para feedback («Útil», «No relevante»). Cuando clickeas, n8n guarda respuesta en base de datos con timestamp. AI Agent usa memoria: «La semana pasada marcaste como útiles mensajes sobre deadlines específicos, hoy incluyo deadline de entrega viernes». Alternativamente, guarda historial de mensajes y analiza correlación: mensajes que preceden alta productividad vs baja. Con vector database (ChromaDB), IA recuerda preferencias implícitas y refina estilo de comunicación. Es adaptive coaching, no spam genérico.

¿A qué hora es mejor enviar los mensajes de motivación?

Depende de tu rutina. Opciones: 1) Mañana temprano (7-8am): prepara mentalidad para día productivo, revisa metas. 2) Inicio de jornada laboral (9-10am): recordatorio de prioridades. 3) Tarde (6-7pm): reflexión de progreso del día, celebrar wins. 4) Noche (10pm): preparación para mañana. En n8n: usa Schedule Trigger con cron expression personalizado. Experimenta: envía en diferentes horarios durante una semana, mide en cuál actúas más. Ajusta. Puedes tener múltiples triggers: motivación matutina + revisión nocturna.

¿Un agente de motivación puede prevenir burnout?

Puede ayudar detectándolo temprano. Integra señales: 1) Commits/trabajo disminuyen drásticamente (posible agotamiento), 2) Horarios irregulares (trabajar muy tarde/madrugada), 3) Feedback negativo repetido, 4) Tareas acumuladas sin completar. AI Agent detecta patterns y ajusta tono: en lugar de «Haz más!», envía «Detecté que esta semana fue intensa. Considera descanso, el progreso es maratón no sprint». Combina con auto-check-ins: bot pregunta semanalmente «¿Cómo te sientes? (1-10)» y adapta intensidad de mensajes. IA como safety net emocional, no solo driver de productividad.

¿Puedo crear agente de motivación para equipo completo?

Sí, escalable. En lugar de un solo chat_id, mantén lista de usuarios en base de datos con preferencias individuales. Workflow: 1) Loop por cada miembro, 2) AI Agent genera mensaje personalizado según progreso individual (GitHub commits por usuario, Jira tickets cerrados), 3) Envía a cada Telegram. Para equipo, añade features de gamification: leaderboard semanal, celebrar milestones colectivos («El equipo cerró 50 issues esta semana 🎉»). Importante: transparencia y opt-in; nadie debe sentir vigilancia invasiva. Posiciona como herramienta de apoyo, no control. Para equipos remotos es gold para mantener cohesión.

Por ziru

El Diario IA
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.