Blog · · 6 min de lectura

Cómo avisar a tus clientes para citar el seguimiento postventa con n8n e IA

Guía paso a paso para que n8n revise cada mañana los trabajos recientes en Google Sheets, detecte los que tocan seguimiento y prepare con IA un aviso claro en Gmail para reservar la cita de postventa.

Terminaste el servicio, el cliente quedó contento… y a las dos semanas nadie ha agendado el seguimiento. Tú pierdes la oportunidad de retener y él cree que «ya está todo» sin un chequeo que habría evitado una incidencia o una renovación perdida.

En esta guía vas a montar en n8n un flujo que cada mañana revisa un registro de trabajos recientes en Google Sheets, detecta los que tocan seguimiento (por ejemplo a ~7 o ~21 días) y redacta con IA un aviso claro en Gmail para que el cliente reserve la cita de postventa. Tú revisas el borrador y lo envías.

Esto no es lo mismo que un recordatorio de cita ya agendada: ahí la cita ya existe y solo hay que evitar el no-show; aquí aún falta reservar el seguimiento. Tampoco sustituye a una encuesta de satisfacción: esa mide cómo fue el servicio; esta empuja a agendar el siguiente contacto útil.

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:20.
  2. Lectura de trabajos: el nodo Google Sheets lee tu hoja «Trabajos recientes» (o «Postventa»).
  3. Filtro por días desde el servicio: un nodo Code se queda con las filas a ~7 o ~21 días del trabajo que aún no han recibido el aviso de esa fase.
  4. Aviso con IA: un nodo Basic LLM Chain escribe un correo cercano que recuerda el servicio hecho, propone el seguimiento y facilita el enlace para reservar.
  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 «Trabajos recientes» con estas columnas: cliente, email, servicio, fecha_servicio (AAAA-MM-DD), motivo_seguimiento (opcional: qué revisar), enlace_reserva (opcional), notas y aviso_enviado (vacía o 1 / 2).

Puedes rellenar la hoja a mano al cerrar un trabajo, o con otro flujo de n8n que escriba ahí cada cierre. Esta guía asume que las filas ya están en Sheets.

Paso 1: prepara la hoja de trabajos recientes

Mantén fecha_servicio con formato de fecha coherente y deja solo trabajos cerrados que aún necesitan seguimiento (archiva los que ya citaron o rechazaron). En motivo_seguimiento anota algo útil si lo tienes («revisar ajuste a los 7 días», «control post-instalación», «valorar ampliación»); si no, déjalo vacío. En enlace_reserva pon el enlace a tu calendario, Calendly o formulario de cita; si no tienes uno fijo, déjalo vacío. En notas apunta preferencias («prefiere mañanas», «WhatsApp», «empresa de 12 personas»).

Paso 2: disparador y lectura

Añade un Schedule Trigger diario a las 9:20 (revisa que la zona horaria del flujo, en Settings, sea Europe/Madrid). Conéctalo a Google Sheets → Get Row(s) apuntando a tu hoja «Trabajos recientes».

Paso 3: filtra los seguimientos pendientes

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.fecha_servicio) continue;
  const serv = new Date(c.fecha_servicio); serv.setHours(0, 0, 0, 0);
  const dias = Math.round((hoy - serv) / 86400000);
  if (dias < 0 || dias > 30) continue;
  const ya = Number(c.aviso_enviado || 0);
  let fase = null;
  if (ya < 1 && dias >= 6 && dias <= 8) fase = 1;   // ~7 días
  else if (ya <= 1 && dias >= 20 && dias <= 22) fase = 2; // ~21 días
  if (!fase) continue;
  salida.push({ json: { ...c, dias, fase } });
}
return salida;

Así cada trabajo recibe como máximo dos avisos de seguimiento. Si no hay nada pendiente, el flujo termina sin gastar IA. Puedes ajustar las ventanas (6–8 y 20–22) a tu sector.

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 gestiona la postventa de [NOMBRE DEL NEGOCIO]. Escribe un correo breve para
{{ $json.cliente }} invitándole a reservar una cita de seguimiento tras el servicio
«{{ $json.servicio }}» del {{ $json.fecha_servicio }} (hace {{ $json.dias }} días).
Motivo del seguimiento (si existe, menciónalo; si está vacío, habla de un chequeo general útil): {{ $json.motivo_seguimiento }}
Enlace para reservar (si existe, inclúyelo; si está vacío, no inventes uno): {{ $json.enlace_reserva }}
Notas: {{ $json.notas }}
- Tono cercano y profesional, en español, máximo 7 frases.
- Recuerda el servicio hecho sin presión de venta agresiva; enfócate en cuidar el resultado.
- Si hay enlace_reserva, invita a reservar con un clic; si no, pide responder a este correo con franja preferida.
- No inventes precios, descuentos ni fechas de cita que no estén en los datos.
Devuelve solo el cuerpo del correo.

Los datos salen de tu hoja; la IA solo pone el tono. Si tu CRM o software de citas ya manda su propio email, usa este flujo como segundo aviso más humano o para trabajos que cierras a mano.

Paso 5: crea el borrador y marca el aviso

Conecta un nodo Gmail → Create Draft con el destinatario {{ $('Code').item.json.email }}, el asunto ¿Agendamos el seguimiento de {{ $('Code').item.json.servicio }}? y el texto de la IA en el cuerpo. Usar borradores te deja revisar antes de enviar, igual que en recordatorios de citas o avisos de bienvenida a clientes nuevos.

Después, un nodo Google Sheets → Update Row que busque por email + fecha_servicio 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 fecha_servicio de hace ~7 días, con aviso_enviado vacío.
  2. Ejecuta el flujo a mano y comprueba que aparece el borrador y que aviso_enviado pasa a 1.
  3. Ejecútalo otra vez: no debe crearse ningún borrador nuevo (fuera de la ventana de fase 1).
  4. Cambia fecha_servicio a hace ~21 días (dejando aviso_enviado en 1) 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. Pon un límite mensual de gasto en el panel del proveedor.
  • No seas pesado: como máximo ~2 avisos por trabajo; si no reserva, anótalo y, si aplica, pasa a una encuesta de satisfacción o a un flujo de reactivación de clientes inactivos.
  • No inventes enlaces ni citas: si enlace_reserva está vacío, el prompt pide responder al correo con franja preferida.
  • 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 recordatorios de citas cuando el cliente ya haya reservado el seguimiento, y con reducción de citas fallidas para que esa cita postventa no se quede vacía.

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 cita de seguimiento postventa.