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:

  1. Disparador diario: un nodo Schedule Trigger se ejecuta a las 9:15.
  2. Lectura de caducidades: el nodo Google Sheets lee tu hoja «Caducidades».
  3. 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.
  4. 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.
  5. 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), notas y aviso_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

  1. Crea una fila de prueba con tu propio correo y un caduca_el dentro de 20 días.
  2. Ejecuta el flujo a mano y comprueba que aparece el borrador y que aviso_enviado pasa a 30.
  3. Ejecútalo otra vez: no debe crearse ningún borrador nuevo.
  4. 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.