Blog · · 5 min de lectura
Cómo avisar a tus clientes cuando tienen un documento pendiente de firma con n8n e IA
Guía paso a paso para que n8n revise cada mañana tus documentos en Google Sheets, detecte contratos o formularios sin firmar y prepare con IA un recordatorio educado en Gmail.

Has enviado el contrato, la propuesta o el alta al cliente… y sigue sin firmar. Pasan los días, tú no quieres ser pesado y, cuando te acuerdas, el acuerdo se ha enfriado o el cliente ya ha firmado con otro.
En esta guía vas a montar en n8n un flujo que cada mañana revisa un registro de documentos pendientes de firma en Google Sheets, detecta los que llevan demasiado tiempo esperando y redacta con IA un recordatorio educado en Gmail. Tú revisas el borrador y lo envías.
Esto no es lo mismo que un aviso de renovación de contratos: ahí el contrato ya está firmado y se acerca el vencimiento; aquí el documento aún no se ha firmado y quieres que el cliente lo complete sin sonar a cobrador.
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:25.
- Lectura de documentos: el nodo Google Sheets lee tu hoja «Firmas pendientes».
- Filtro por espera: un nodo Code se queda con los documentos enviados hace X días que aún no han recibido el máximo de avisos.
- Aviso con IA: un nodo Basic LLM Chain escribe un correo cercano que recuerda el documento, facilita el enlace de firma y ofrece ayuda.
- 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 «Firmas pendientes» con estas columnas:
cliente,email,documento,fecha_envio(AAAA-MM-DD),enlace_firma(opcional),notasyaviso_enviado(vacía o1/2).
Puedes rellenar la hoja a mano cuando envíes un DocuSign, HelloSign, Adobe Sign o un PDF por correo, o con otro flujo de n8n que escriba ahí los envíos. Esta guía asume que las filas ya están en Sheets.
Paso 1: prepara la hoja de firmas pendientes
Lo importante es que fecha_envio tenga siempre el mismo formato de fecha y que solo dejes filas con documentos realmente pendientes (no los ya firmados ni cancelados). En enlace_firma pon el enlace de firma electrónica o el PDF si lo tienes; si no, déjalo vacío y el prompt no lo inventará. En notas apunta preferencias útiles («prefiere WhatsApp», «revisa con su abogado», «firmar antes del viernes»).
Paso 2: disparador y lectura
Añade un Schedule Trigger diario a las 9:25 (revisa que la zona horaria del flujo, en Settings, sea Europe/Madrid). Conéctalo a Google Sheets → Get Row(s) apuntando a tu hoja «Firmas pendientes».
Paso 3: filtra los documentos pendientes de aviso
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_envio) continue;
const dias = Math.round((hoy - new Date(c.fecha_envio)) / 86400000);
if (dias < 2 || dias > 30) continue; // espera al menos 2 días; ignora > 30
const ya = Number(c.aviso_enviado || 0);
let fase = null;
if (ya < 1 && dias >= 2) fase = 1; // primer aviso a los 2+ días
else if (ya === 1 && dias >= 7) fase = 2; // segundo aviso a los 7+ días
if (!fase || fase > 2) continue;
salida.push({ json: { ...c, dias, fase } });
}
return salida;
Así cada documento recibe como máximo dos avisos. Si no hay nada pendiente, 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 }} recordándole que el documento «{{ $json.documento }}»
enviado el {{ $json.fecha_envio }} (hace {{ $json.dias }} días) sigue pendiente de firma.
Enlace de firma (si existe, inclúyelo; si está vacío, no inventes uno): {{ $json.enlace_firma }}
Notas: {{ $json.notas }}
- Tono cercano y profesional, en español, máximo 6 frases.
- Recuerda el documento sin culpar ni presionar; ofrece ayuda si hay dudas.
- Si hay enlace_firma, invita a firmarlo con un clic; si no, pide responder a este correo.
- No inventes plazos legales, descuentos ni enlaces 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 herramienta de firma ya manda el primer email automático, usa este flujo solo para el segundo aviso educado.
Paso 5: crea el borrador y marca el aviso
Conecta un nodo Gmail → Create Draft con el destinatario {{ $('Code').item.json.email }}, el asunto Pendiente de firma: {{ $('Code').item.json.documento }} 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 recordatorios de facturas impagadas.
Después, un nodo Google Sheets → Update Row que busque por email + fecha_envio 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
fecha_enviode hace 3 días, conaviso_enviadovacío. - Ejecuta el flujo a mano y comprueba que aparece el borrador y que
aviso_enviadopasa a1. - Ejecútalo otra vez: no debe crearse ningún borrador nuevo.
- Cambia
fecha_envioa hace 8 días (dejandoaviso_enviadoen1) 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 documento; si no responde, anótalo y pásalo a una llamada humana o a un seguimiento comercial.
- No inventes enlaces de firma: si
enlace_firmaestá vacío, el prompt pide responder al correo. - 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 cuando el documento firmado tenga fecha de vencimiento, y con seguimiento de presupuestos si la firma cierra una propuesta comercial.
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 firma pendiente.


