{"id":2890,"date":"2026-10-18T18:00:06","date_gmt":"2026-10-18T16:00:06","guid":{"rendered":"https:\/\/antoniofernandez.net\/?p=2890"},"modified":"2026-10-25T00:08:43","modified_gmt":"2026-10-24T22:08:43","slug":"gestionar-tareas-y-avisos-con-ia-n8n","status":"publish","type":"post","link":"https:\/\/antoniofernandez.net\/copia-divi\/gestionar-tareas-y-avisos-con-ia-n8n\/","title":{"rendered":"Gestionar tareas y avisos con IA y n8n"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/10\/gestionar-tareas-avisos-ia-n8n.png-1024x576.png\" alt=\"Gestionar tareas y avisos con IA y n8n mediante filtros y correo electr\u00f3nico\" class=\"wp-image-2895\" srcset=\"https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/10\/gestionar-tareas-avisos-ia-n8n.png-1024x576.png 1024w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/10\/gestionar-tareas-avisos-ia-n8n.png-300x169.png 300w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/10\/gestionar-tareas-avisos-ia-n8n.png-768x432.png 768w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/10\/gestionar-tareas-avisos-ia-n8n.png-1536x864.png 1536w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/10\/gestionar-tareas-avisos-ia-n8n.png.png 1672w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Automatizaci\u00f3n 4 del Laboratorio AF: selecci\u00f3n de tareas pendientes y env\u00edo de avisos por correo.<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"has-text-color has-link-color wp-elements-1 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En esta cuarta automatizaci\u00f3n del Laboratorio AF probamos c\u00f3mo <strong>gestionar tareas y avisos con IA y n8n<\/strong>. El flujo consulta una tabla interna, selecciona las tareas pendientes cuya fecha l\u00edmite es hoy o anterior y utiliza Gemini para redactar un aviso que env\u00eda por correo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-2 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Comprobamos el filtrado con tres tareas ficticias y realizamos un env\u00edo programado. Tambi\u00e9n documentamos un problema de autenticaci\u00f3n del correo que provoc\u00f3 el rechazo inicial de Gmail. El flujo no modifica las tareas ni evita avisos repetidos; al terminar las pruebas, detuvimos su programaci\u00f3n.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">1. Objetivo de la automatizaci\u00f3n<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-3 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El objetivo fue comprobar si n8n pod\u00eda consultar tareas, detectar cu\u00e1les requer\u00edan un aviso seg\u00fan su estado y fecha l\u00edmite, redactar un mensaje con IA y enviarlo por correo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-4 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Definimos dos condiciones que deb\u00edan cumplirse a la vez:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-5\">\n<li>La tarea deb\u00eda tener el estado <strong>pendiente<\/strong>.<\/li>\n\n\n\n<li>Su fecha l\u00edmite deb\u00eda ser <strong>hoy o anterior<\/strong>, tomando como referencia la fecha de Madrid.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-6 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las tareas futuras y las completadas deb\u00edan quedar fuera del env\u00edo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-7 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La selecci\u00f3n se realiz\u00f3 mediante reglas en el nodo <strong>Filter<\/strong>. Gemini intervino despu\u00e9s, \u00fanicamente para redactar el aviso. No utilizamos un agente aut\u00f3nomo para decidir qu\u00e9 tareas seleccionar ni configuramos cambios en sus estados.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">2. Herramientas utilizadas para gestionar tareas y avisos con IA y n8n<\/h2>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-8\">\n<li><strong>n8n instalado en Windows mediante Docker Desktop:<\/strong> para conectar y ejecutar los pasos.<\/li>\n\n\n\n<li><strong>Data tables de n8n:<\/strong> una tabla interna con tres tareas ficticias.<\/li>\n\n\n\n<li><strong>Filter:<\/strong> para seleccionar las tareas seg\u00fan su estado y fecha l\u00edmite.<\/li>\n\n\n\n<li><strong>Gemini mediante API:<\/strong> utilizamos <strong>Gemini 3.5 Flash Lite<\/strong> para redactar el aviso.<\/li>\n\n\n\n<li><strong>Send Email mediante SMTP:<\/strong> para enviar el mensaje desde nuestra cuenta de correo al buz\u00f3n de prueba de Gmail.<\/li>\n\n\n\n<li><strong>Schedule Trigger:<\/strong> para comprobar una ejecuci\u00f3n programada con un intervalo de cinco minutos.<\/li>\n\n\n\n<li><strong>cPanel:<\/strong> para revisar y corregir la autenticaci\u00f3n del correo del dominio.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-9 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Reutilizamos la instalaci\u00f3n de n8n y la credencial de Gemini. Las contrase\u00f1as del correo se introdujeron en las credenciales de n8n y no se incluyen en este art\u00edculo<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">3. Tareas utilizadas en la prueba<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-10 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Creamos la tabla interna <strong>AF_Tareas_Prueba<\/strong> con tres columnas de texto: <strong>tarea<\/strong>, <strong>estado<\/strong> y <strong>fecha_limite<\/strong>. Introdujimos las fechas con el formato <strong>AAAA-MM-DD<\/strong>.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-11 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La prueba se realiz\u00f3 el <strong>18 de octubre de 2026<\/strong>, tomando como referencia la fecha de Madrid.<\/p>\n\n\n\n<figure style=\"font-size:18px\" class=\"wp-block-table\"><table class=\"has-text-color has-link-color has-fixed-layout\" style=\"color:#e5e7eb\"><thead><tr><th>Tarea ficticia<\/th><th>Estado<\/th><th>Fecha l\u00edmite<\/th><th>Resultado esperado<\/th><\/tr><\/thead><tbody><tr><td>Preparar la reuni\u00f3n de prueba<\/td><td>pendiente<\/td><td>2026-10-18<\/td><td>Generar aviso: vence hoy<\/td><\/tr><tr><td>Revisar el art\u00edculo de prueba<\/td><td>pendiente<\/td><td>2026-10-20<\/td><td>Excluir: fecha futura<\/td><\/tr><tr><td>Ordenar las notas de prueba<\/td><td>completada<\/td><td>2026-10-17<\/td><td>Excluir: ya completada<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-12 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los registros se introdujeron manualmente. No conectamos un calendario ni una aplicaci\u00f3n externa de gesti\u00f3n de tareas.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">4. C\u00f3mo configuramos el flujo<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-13 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Organizamos la versi\u00f3n programada en cinco pasos:<\/p>\n\n\n\n<ol start=\"1\" style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-14\">\n<li><strong>Schedule Trigger:<\/strong> inicia el flujo cada cinco minutos durante la prueba.<\/li>\n\n\n\n<li><strong>Leer tareas:<\/strong> consulta los registros de la tabla AF_Tareas_Prueba.<\/li>\n\n\n\n<li><strong>Filter:<\/strong> conserva \u00fanicamente las tareas pendientes con fecha l\u00edmite de hoy o anterior.<\/li>\n\n\n\n<li><strong>Basic LLM Chain:<\/strong> utiliza Gemini para redactar un aviso con los datos de la tarea seleccionada.<\/li>\n\n\n\n<li><strong>Send an Email:<\/strong> env\u00eda el aviso como texto plano al correo de prueba mediante SMTP.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-15 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Conectamos <strong>Google Gemini Chat Model<\/strong> a la entrada de modelo de Basic LLM Chain.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-16 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Primero utilizamos un activador manual para revisar el filtro y el mensaje. Despu\u00e9s lo sustituimos por Schedule Trigger para comprobar el funcionamiento programado.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-17 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El env\u00edo se configur\u00f3 con el servidor SMTP del proveedor, el puerto <strong>465<\/strong> y <strong>SSL\/TLS<\/strong> activado.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">5. Condiciones para seleccionar las tareas<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-18 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Configuramos <strong>Filter<\/strong> con dos condiciones unidas mediante <strong>AND<\/strong>: ambas deb\u00edan cumplirse.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-19 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La primera comprobaba que <strong>estado<\/strong> fuera exactamente <strong>pendiente<\/strong>. La segunda comparaba <strong>fecha_limite<\/strong> con la fecha actual en la zona <strong>Europe\/Madrid<\/strong>, para conservar las tareas que venc\u00edan ese d\u00eda o antes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-20 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Como las fechas estaban escritas en el formato <strong>AAAA-MM-DD<\/strong>, utilizamos una comparaci\u00f3n de texto. Esta prueba presupone fechas v\u00e1lidas y con ese formato; no a\u00f1adimos validaci\u00f3n para valores vac\u00edos o incorrectos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-21 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Al ejecutar el filtro con las tres tareas, \u00fanicamente pas\u00f3 <strong>\u00abPreparar la reuni\u00f3n de prueba\u00bb<\/strong>. La tarea futura y la completada quedaron descartadas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-22 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No probamos por separado una tarea pendiente con fecha anterior: el registro con fecha pasada estaba completado y fue excluido por su estado.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">6. Instrucciones y revisi\u00f3n del aviso<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-23 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Pedimos a Gemini un aviso en espa\u00f1ol, en texto plano y con un m\u00e1ximo de <strong>60 palabras<\/strong>. Deb\u00eda conservar exactamente el nombre de la tarea y su fecha l\u00edmite, indicar si venc\u00eda ese d\u00eda o ya estaba vencida y evitar inventar horarios, prioridades o consecuencias.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-24 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n indicamos que no afirmara haber completado la tarea, enviado el mensaje o creado un recordatorio.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-25 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La respuesta fue:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-ast-global-color-7-color has-text-color has-link-color wp-elements-26 wp-block-paragraph\" style=\"font-size:18px\">AVISO DE PRUEBA. La tarea \"Preparar la reuni\u00f3n de prueba\" tiene fecha l\u00edmite 2026-10-18. Su estado es pendiente y vence hoy. Datos ficticios del Laboratorio AF.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-27 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El texto respet\u00f3 el l\u00edmite de palabras, conserv\u00f3 los datos y describi\u00f3 correctamente el vencimiento. Su generaci\u00f3n todav\u00eda no demostraba la entrega: comprobamos el env\u00edo y la recepci\u00f3n por separado.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\"><strong>7. Primer env\u00edo: aceptado por SMTP y rechazado por Gmail<\/strong><\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-28 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Ejecutamos el nodo de env\u00edo y n8n mostr\u00f3 que el servidor SMTP hab\u00eda aceptado el destinatario, sin rechazos en esa respuesta inicial. Sin embargo, el mensaje no apareci\u00f3 en Gmail.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-29 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Revisamos el buz\u00f3n del remitente y encontramos una devoluci\u00f3n con el c\u00f3digo <strong>550-5.7.26<\/strong>. Gmail indicaba que el mensaje no hab\u00eda superado las comprobaciones <strong>SPF ni DKIM<\/strong>.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-30 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esto permiti\u00f3 distinguir dos resultados diferentes: el servidor del proveedor hab\u00eda aceptado el correo para enviarlo, pero el servidor de destino lo rechaz\u00f3 despu\u00e9s.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-31 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por tanto, el estado correcto del nodo no bastaba para confirmar la recepci\u00f3n. Fue necesario comprobar el buz\u00f3n de destino y revisar el mensaje de devoluci\u00f3n.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\"><strong>8. Correcci\u00f3n de la autenticaci\u00f3n del correo<\/strong><\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-32 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En <strong>Entregabilidad del correo electr\u00f3nico<\/strong>, cPanel indicaba que faltaban la clave DKIM local y el registro SPF del dominio.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-33 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Generamos la clave DKIM e instalamos el registro sugerido. Para SPF, revisamos los registros TXT existentes en el editor de zonas y, al comprobar que no hab\u00eda ninguno de ese tipo, a\u00f1adimos el valor recomendado por cPanel.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-34 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Durante la introducci\u00f3n del registro, el formulario estaba configurado como tipo <strong>A<\/strong> y mostr\u00f3 un error de direcci\u00f3n IP. Lo cambiamos a <strong>TXT<\/strong> antes de guardar.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-35 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Al finalizar, cPanel mostr\u00f3 <strong>SPF, DKIM y DMARC como v\u00e1lidos<\/strong>. No atribuimos su configuraci\u00f3n anterior al flujo: el env\u00edo de prueba permiti\u00f3 detectar el problema.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-36 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Repetimos el env\u00edo y el mensaje lleg\u00f3 a <strong>Spam<\/strong> de Gmail. Lo marcamos como <strong>\u00abNo es spam\u00bb<\/strong>, sin dar por garantizada la ubicaci\u00f3n de futuros mensajes.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\"><strong>9. Prueba de env\u00edo programado<\/strong><\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-37 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Publicamos el flujo con un intervalo de prueba de <strong>cinco minutos<\/strong>. Sin pulsar Execute, apareci\u00f3 una nueva ejecuci\u00f3n que el usuario comprob\u00f3 como correcta.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-38 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Despu\u00e9s verificamos la llegada de un nuevo correo correspondiente a esa ejecuci\u00f3n. Su contenido conservaba el nombre <strong>\u00abPreparar la reuni\u00f3n de prueba\u00bb<\/strong>, la fecha <strong>2026-10-18<\/strong> y la indicaci\u00f3n de que venc\u00eda ese d\u00eda.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-39 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La prueba confirm\u00f3 el recorrido completo: consulta de tareas, filtrado, redacci\u00f3n con Gemini y recepci\u00f3n del aviso enviado mediante SMTP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-40 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Al terminar, retiramos la publicaci\u00f3n del flujo para detener la programaci\u00f3n. No lo dejamos enviando mensajes cada cinco minutos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-41 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El flujo no registra qu\u00e9 tareas ya han recibido un aviso. Si permaneciera activo con los mismos datos, podr\u00eda repetir los env\u00edos en ejecuciones posteriores.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\"><strong>10. Limitaciones y costes<\/strong><\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-42 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La prueba utiliz\u00f3 <strong>tres tareas ficticias en una tabla interna de n8n<\/strong>. No conectamos herramientas externas de productividad ni configuramos cambios de estado, prioridades o fechas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-43 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El filtro seleccionaba tareas mediante reglas. La IA \u00fanicamente redactaba el mensaje: no decid\u00eda qu\u00e9 tareas gestionar ni actuaba como un agente aut\u00f3nomo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-44 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No incorporamos un control de avisos repetidos, validaci\u00f3n de fechas incorrectas ni confirmaci\u00f3n autom\u00e1tica de entrega. La recepci\u00f3n se comprob\u00f3 manualmente, porque la aceptaci\u00f3n del servidor SMTP no garantiz\u00f3 que Gmail admitiera el primer mensaje.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-45 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Utilizamos Gemini con la cuenta configurada en el nivel gratuito. <strong>No medimos tokens ni coste por aviso<\/strong>. Tampoco calculamos los costes del alojamiento o de mantener la instalaci\u00f3n local funcionando.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-46 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La programaci\u00f3n depend\u00eda del ordenador, Docker Desktop y n8n. Al terminar, el flujo qued\u00f3 sin publicar para evitar nuevas llamadas a la API y env\u00edos repetidos.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\"><strong>11. Qu\u00e9 hemos aprendido<\/strong><\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-47 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La prueba mostr\u00f3 que podemos <strong>gestionar tareas y avisos con IA y n8n<\/strong> combinando reglas de selecci\u00f3n, redacci\u00f3n con Gemini y env\u00edo por correo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-48 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El filtro distingui\u00f3 entre una tarea pendiente que venc\u00eda ese d\u00eda, otra futura y una completada. Despu\u00e9s comprobamos que una ejecuci\u00f3n programada pod\u00eda generar un aviso y que este llegaba al buz\u00f3n de destino.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-49 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n aprendimos que un env\u00edo aceptado por SMTP no equivale a una entrega confirmada. El rechazo inicial permiti\u00f3 detectar problemas de autenticaci\u00f3n del correo y revisar su configuraci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-50 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El resultado es un prototipo de avisos probado con datos ficticios. Para utilizarlo de forma habitual, quedar\u00edan pendientes el control de env\u00edos repetidos, la validaci\u00f3n de fechas y la supervisi\u00f3n de errores y entregas.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">Preguntas frecuentes <\/h2>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-51 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfLa IA decide qu\u00e9 tareas deben generar un aviso?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">No. El nodo Filter aplica las condiciones de estado y fecha. Gemini redacta el mensaje despu\u00e9s de esa selecci\u00f3n.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-52 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfSe avisa de todas las tareas pendientes?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">No. Solo pasan las pendientes cuya fecha l\u00edmite es hoy o anterior, seg\u00fan la fecha de Madrid.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-53 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfEl flujo completa o modifica las tareas?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">No. Consulta sus datos y env\u00eda avisos, pero no cambia sus estados ni sus fechas.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-54 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfPuede enviar el mismo aviso varias veces?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">S\u00ed. No implementamos un registro de avisos enviados. Por eso detuvimos la programaci\u00f3n despu\u00e9s de la prueba.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-55 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfUn env\u00edo correcto en n8n garantiza que el correo llegue?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">No. El servidor SMTP acept\u00f3 el primer mensaje, pero Gmail lo rechaz\u00f3 despu\u00e9s. Comprobamos la recepci\u00f3n por separado.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-56 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfPor qu\u00e9 el primer mensaje no lleg\u00f3 a Gmail?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">La devoluci\u00f3n indic\u00f3 que no hab\u00eda superado SPF ni DKIM. Corregimos la autenticaci\u00f3n del dominio y repetimos la prueba.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-57 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfLos mensajes llegan siempre a Recibidos?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">No podemos garantizarlo. El primer mensaje recibido tras la correcci\u00f3n apareci\u00f3 en Spam.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-58 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfCu\u00e1nto cuesta cada aviso?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">No lo medimos. No registramos los tokens ni calculamos el coste por mensaje.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-59 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfLa automatizaci\u00f3n sigue enviando correos?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">No. Retiramos la publicaci\u00f3n del flujo al terminar la prueba programada.<\/p>\n<\/details>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\"><strong>Fuentes oficiales<\/strong><\/h2>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-60\">\n<li><a href=\"https:\/\/docs.n8n.io\/integrations\/builtin\/core-nodes\/n8n-nodes-base.filter\/\" target=\"_blank\" rel=\"noreferrer noopener\">Filter de n8n<\/a>: condiciones para seleccionar las tareas.<\/li>\n\n\n\n<li><a href=\"https:\/\/docs.n8n.io\/integrations\/builtin\/core-nodes\/n8n-nodes-base.filter\/?utm_source=chatgpt.com\" rel=\"noopener\">docs.n8n.io<\/a><a href=\"https:\/\/docs.n8n.io\/integrations\/builtin\/core-nodes\/n8n-nodes-base.sendemail\/\" target=\"_blank\" rel=\"noreferrer noopener\">Send Email de n8n<\/a>: env\u00edo de correo mediante SMTP.<\/li>\n\n\n\n<li><a href=\"https:\/\/docs.n8n.io\/integrations\/builtin\/core-nodes\/n8n-nodes-base.sendemail\/?utm_source=chatgpt.com\" rel=\"noopener\">docs.n8n.io<\/a><a href=\"https:\/\/support.google.com\/mail\/answer\/81126\" target=\"_blank\" rel=\"noreferrer noopener\">Requisitos de Gmail para remitentes<\/a>: autenticaci\u00f3n del correo y requisitos de entrega.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Tambi\u00e9n puedes aprender<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-61 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Contin\u00faa con estos contenidos del Laboratorio AF:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-62\">\n<li><strong><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/clasificar-correos-con-ia-n8n\/\" target=\"_blank\" rel=\"noreferrer noopener\">Clasificar correos con IA y n8n<\/a>:<\/strong> recepci\u00f3n de mensajes mediante IMAP y clasificaci\u00f3n con Gemini.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/generar-informes-con-ia-n8n\/\" target=\"_blank\" rel=\"noreferrer noopener\">Generar informes con IA y n8n<\/a>:<\/strong> lectura de dos tablas internas, ejecuci\u00f3n programada y creaci\u00f3n de un archivo descargable.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/crear-borradores-en-wordpress-con-ia-n8n\/\" target=\"_blank\" rel=\"noreferrer noopener\">Crear borradores en WordPress con IA y n8n<\/a>:<\/strong> generaci\u00f3n de contenido y env\u00edo a WordPress para revisi\u00f3n.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/agente-ia-para-organizar-tareas\/\" target=\"_blank\" rel=\"noreferrer noopener\">Proyecto 4 \u00b7 Crear un agente IA para organizar tareas<\/a>:<\/strong> planificaci\u00f3n de actividades y comprobaci\u00f3n de sus l\u00edmites.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/blog\/\" target=\"_blank\" rel=\"noreferrer noopener\">Ver todas las entradas del blog<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Volver a la p\u00e1gina principal<\/a><\/p>\n\n\n\n<div class=\"wp-block-group has-text-color has-background has-link-color wp-elements-63 is-layout-constrained wp-block-group-is-layout-constrained\" style=\"color:#94a3b8;background-color:#111827\">\n<p class=\"has-text-color has-link-color wp-elements-64 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:25px\">\u26a0\ufe0f Aviso importante<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-65 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta automatizaci\u00f3n es una prueba educativa con tareas ficticias. Los datos de las tareas seleccionadas se env\u00edan a la API de Gemini para redactar los avisos. Revisa las condiciones del proveedor antes de utilizar informaci\u00f3n real.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-66 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Comprueba el destinatario y el contenido antes de activar los env\u00edos. Una programaci\u00f3n puede repetir mensajes y consumir recursos mientras permanezca activa; nuestro flujo no incluye un control de duplicados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-67 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aceptaci\u00f3n de un mensaje por el servidor SMTP no garantiza su entrega. Revisa las devoluciones y comprueba la recepci\u00f3n cuando sea necesario.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-68 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No utilices este prototipo como \u00fanico sistema de aviso para obligaciones importantes. Al terminar las pruebas, dejamos su programaci\u00f3n detenida.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Reunimos los resultados de ocho experimentos con Hermes Agent: investigaci\u00f3n web, an\u00e1lisis de PDF, comparaci\u00f3n de modelos, memoria, instrucciones enga\u00f1osas, creaci\u00f3n de archivos y datos incompletos. Explicamos qu\u00e9 comprobamos, qu\u00e9 limitaciones encontramos y qu\u00e9 no medimos.<\/p>\n","protected":false},"author":1,"featured_media":2895,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[19,22,24,21],"class_list":["post-2890","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-inteligencia-artificial","tag-agentes-ia","tag-automatizacion-con-ia","tag-gestion-de-tareas","tag-n8n"],"_links":{"self":[{"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/posts\/2890","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/comments?post=2890"}],"version-history":[{"count":8,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/posts\/2890\/revisions"}],"predecessor-version":[{"id":3377,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/posts\/2890\/revisions\/3377"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/media\/2895"}],"wp:attachment":[{"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/media?parent=2890"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/categories?post=2890"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/tags?post=2890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}