Blog · · 4 min de lectura
Cómo avisar a tus clientes antes de que caduquen seguros y documentos con n8n e IA
Guía paso a paso para que n8n revise cada mañana tus caducidades en Google Sheets, detecte pólizas, ITV, licencias o certificados que vencen pronto y prepare con IA un aviso útil.

En una asesoría, una clínica, un taller, una academia o una gestoría anotas la fecha de caducidad de un seguro, una ITV, una licencia profesional o un certificado… y se queda en la hoja. Semanas después el cliente te llama porque se le ha pasado el plazo, o peor: ha tenido un problema sin cobertura y tú no le avisaste a tiempo.
En esta guía vas a montar en n8n un flujo que cada mañana revisa tus caducidades en Google Sheets, detecta lo que vence en 30 o 7 días y redacta con IA un aviso personalizado en Gmail. Tú revisas el borrador y lo envías.
Qué vas a construir
Un flujo de cinco pasos que funciona solo todos los días:
- Disparador diario: un nodo Schedule Trigger se ejecuta a las 9:15.
- Lectura de caducidades: el nodo Google Sheets lee tu hoja «Caducidades».
- Filtro por fecha: un nodo Code se queda con las filas que vencen en 30 o 7 días y que no se han avisado ya en esa fase.
- Aviso con IA: un nodo Basic LLM Chain escribe un correo cercano que recuerda el documento, la fecha de caducidad y qué puede hacer el cliente.
- Borrador y registro: Gmail crea el borrador y Google Sheets anota la fase avisada en
aviso_enviado.
Lo que necesitas
- Una instancia de n8n (en la nube o instalada gratis en tu ordenador).
- Google Sheets y Gmail conectados en n8n.
- Una clave de API de OpenAI u otro proveedor de IA, con un límite mensual de gasto configurado en su panel.
- Una hoja «Caducidades» con estas columnas:
cliente,email,tipo_documento,referencia,emisor,caduca_el(AAAA-MM-DD),notasyaviso_enviado(vacía).
Paso 1: prepara la hoja de caducidades
Lo importante es que caduca_el tenga siempre el mismo formato de fecha. En tipo_documento usa etiquetas claras («seguro RC», «ITV», «colegiatura», «certificado ISO»). En emisor apunta quién lo emitió (compañía, DGT, colegio profesional) y en notas detalles útiles, como «prefiere WhatsApp» o «renueva con nosotros».
Paso 2: disparador y lectura
Añade un Schedule Trigger diario a las 9:15 (revisa que la zona horaria del flujo, en Settings, sea Europe/Madrid). Conéctalo a Google Sheets → Get Row(s) apuntando a tu hoja «Caducidades».
Paso 3: filtra lo que caduca pronto
Añade un nodo Code (modo Run Once for All Items) con este código:
const hoy = new Date(); hoy.setHours(0, 0, 0, 0);
const salida = [];
for (const i of $input.all()) {
const c = i.json;
if (!c.email || !c.caduca_el) continue;
const dias = Math.round((new Date(c.caduca_el) - hoy) / 86400000);
let fase = null;
if (dias <= 7 && dias >= 0) fase = '7';
else if (dias <= 30 && dias > 7) fase = '30';
if (!fase || String(c.aviso_enviado) === fase) continue;
salida.push({ json: { ...c, dias, fase } });
}
return salida;
Así cada cliente recibe como máximo dos avisos: uno un mes antes y otro la última semana. Si no caduca nada, el flujo termina sin gastar IA.
Paso 4: redacta el aviso con IA
Añade un Basic LLM Chain con un modelo pequeño y barato (por ejemplo, gpt-4o-mini) y este prompt:
Eres quien atiende a los clientes de [NOMBRE DEL NEGOCIO]. Escribe un correo breve para
{{ $json.cliente }} recordando que su {{ $json.tipo_documento }}
(referencia {{ $json.referencia }}, emisor {{ $json.emisor }}) caduca el {{ $json.caduca_el }}
(faltan {{ $json.dias }} días).
Notas: {{ $json.notas }}
- Tono cercano y profesional, en español, máximo 6 frases.
- Recuerda la fecha y el tipo de documento sin alarmismo.
- Ofrece, sin inventar precios ni plazos legales, ayuda para renovarlo si el negocio lo gestiona.
- Termina invitando a responder a este correo.
- No inventes fechas, coberturas ni condiciones legales.
Devuelve solo el cuerpo del correo.
Los datos salen de tu hoja; la IA solo pone el tono. Si no gestionas la renovación tú, quita esa frase del prompt.
Paso 5: crea el borrador y marca el aviso
Conecta un nodo Gmail → Create Draft con el destinatario {{ $('Code').item.json.email }}, el asunto Tu {{ $('Code').item.json.tipo_documento }} caduca pronto y el texto de la IA en el cuerpo. Usar borradores te deja revisar antes de enviar, igual que en avisos de renovación de contratos o avisos de fin de garantía.
Después, un nodo Google Sheets → Update Row que busque por email + referencia y escriba la fase en aviso_enviado.
Cuando tengas confianza en los textos, puedes cambiar Create Draft por Send.
Cómo probarlo
- Crea una fila de prueba con tu propio correo y un
caduca_eldentro de 20 días. - Ejecuta el flujo a mano y comprueba que aparece el borrador y que
aviso_enviadopasa a30. - Ejecútalo otra vez: no debe crearse ningún borrador nuevo.
- Cambia la fecha a dentro de 5 días y confirma que se prepara el segundo aviso.
Coste y buenas prácticas
- Coste: cada aviso cuesta menos de una décima de céntimo en la API de IA.
- Sé claro con la responsabilidad: el aviso recuerda la fecha que tú tienes registrada; no sustituye la obligación del cliente ni el consejo de un profesional colegiado.
- Avisa de errores: activa un flujo de errores para enterarte si Gmail o la hoja fallan, como en gestión de errores en n8n.
- Combínalo con avisos de renovación de contratos si también gestionas vencimientos de servicio, y con este flujo para pólizas y documentos.
Empieza con plantillas listas para importar
Si quieres tener ya montada la base de atención al cliente en n8n, descarga gratis el agente de WhatsApp o echa un vistazo al pack completo AgentKiosk: 8 agentes probados en español e inglés, con su workflow, su prompt y su guía, listos para importar y combinar con estos avisos de caducidad.


