Blog · · 6 min de lectura

Cómo generar propuestas comerciales en PDF con n8n e IA (sin programar)

Guía paso a paso para que, al rellenar un formulario o una fila en Sheets, n8n prepare una propuesta personalizada en Google Docs o PDF, la envíe por email y deje el estado apuntado. Sin código.

Hacer un presupuesto o una propuesta comercial a mano lleva tiempo: copias la plantilla, cambias el nombre, el servicio, el precio, lo pasas a PDF y lo mandas. Si te llegan varios al día, o se te acumulan, o salen con errores.

En esta guía montarás en n8n un flujo que parte de un formulario o de una fila en Google Sheets con los datos del cliente, deja que la IA escriba el texto de la propuesta, genera un Google Doc (o un PDF) a partir de tu plantilla, lo envía por email y actualiza el estado en tu hoja. Tú solo revisas las primeras veces que el tono suene a ti.

Si ya cualificas leads o haces seguimiento de presupuestos, este flujo encaja justo en medio: cualificar leads decide a quién merece la pena responder; esta guía prepara la propuesta; y el seguimiento de presupuestos persigue a quien no contesta.

Qué vas a construir

Un flujo de siete piezas:

  1. Trigger: formulario de n8n o fila nueva en Google Sheets con los datos del cliente.
  2. Edit Fields (Set): ordena nombre, empresa, servicio, alcance, precio e IVA.
  3. Basic LLM Chain: la IA escribe el cuerpo de la propuesta con esos datos.
  4. Google Drive + Google Docs: copia tu plantilla y rellena los huecos (o genera un Doc nuevo).
  5. Google Drive (opcional): exporta el Doc a PDF.
  6. Gmail: envía el enlace o el PDF al cliente (o lo deja en borradores).
  7. Google Sheets: Append o Update Row con el estado «propuesta enviada».

Paso 1: elige de dónde llegan los datos

Necesitas nombre, email, empresa (si aplica), qué piden, alcance aproximado y el precio que vas a ofrecer. Dos formas cómodas:

  • n8n Form Trigger: n8n te da un formulario con enlace. Campos sugeridos: nombre, email, empresa, servicio, alcance (texto libre), precio, moneda e IVA (%). Ideal si tú o tu equipo lo rellenáis al acabar una llamada.
  • Google Sheets Trigger (On Row Added): si ya apuntas las solicitudes en una hoja, cada fila nueva arranca el flujo. Útil si alguien del equipo escribe a mano o si otro flujo (por ejemplo el de cualificar leads) deja ahí las filas «calientes».

Para empezar, el formulario de n8n es lo más claro: lo pruebas tú mismo en un minuto.

Paso 2: ordena los datos

Añade un Edit Fields (Set) con campos fijos: nombre, email, empresa, servicio, alcance, precio, iva, total y fecha con {{ $now.toISODate() }}. Calcula el total en este nodo (precio + IVA) para no mezclar fórmulas en la plantilla.

Así, si mañana cambias el formulario por una hoja, solo tocas el Set y el resto del flujo sigue igual.

Paso 3: la IA escribe el cuerpo de la propuesta

Añade un Basic LLM Chain con tu modelo de IA y una instrucción como esta:

Eres [tu nombre], de [tu negocio]. Escribe el cuerpo de una propuesta comercial breve y profesional en español. Datos: cliente {{ $json.nombre }}, empresa {{ $json.empresa }}, servicio {{ $json.servicio }}, alcance {{ $json.alcance }}, precio {{ $json.precio }} € + IVA {{ $json.iva }} % (total {{ $json.total }} €), fecha {{ $json.fecha }}. Incluye: un párrafo de contexto (qué entendiste que necesitan), 3–5 entregables concretos, un plazo orientativo en días laborables, el precio con IVA y una frase de validez (por ejemplo, 15 días). Tono cercano pero serio. No inventes servicios ni precios que no estén en estos datos. Máximo 280 palabras. Devuelve solo el texto, sin asunto ni firma.

Lo importante: tú fijas el precio y el alcance en el formulario. La IA solo los redacta; no inventa cifras. Si quieres un tono más formal o más cercano, dilo en la instrucción.

Paso 4: genera el documento desde tu plantilla

La vía más limpia sin código es plantilla en Google Docs + copia + reemplazo:

  1. Crea en Drive un Doc plantilla con huecos claros, por ejemplo {{nombre}}, {{empresa}}, {{servicio}}, {{cuerpo}}, {{precio}}, {{total}}, {{fecha}}. Deja el logo, tipografía y pie de página fijos.
  2. En n8n, añade Google Drive con la operación Copy sobre ese archivo. Dale un nombre nuevo tipo Propuesta {{ $json.nombre }} {{ $json.fecha }}.
  3. Añade Google Docs (o el nodo de actualización de texto que uses) y sustituye cada hueco por el valor del Set y el texto de la IA en {{cuerpo}}.

Si prefieres no usar plantilla, puedes crear un Google Doc nuevo y pegar el texto de la IA más una cabecera fija. La plantilla suele quedar más profesional porque el diseño ya está hecho.

Opción PDF

Cuando el Doc esté listo:

  • Google Drive → descarga o exporta el archivo como PDF (en muchos nodos aparece como export / download en formato PDF).
  • Guarda el binario en el flujo: lo adjuntarás al email en el paso siguiente.

Si no te hace falta PDF y te vale el enlace de Google Docs (con permiso «cualquiera con el enlace puede ver»), puedes saltarte la exportación y enviar solo la URL. Para clientes formales, el PDF suele transmitir mejor.

La plantilla de Docs suele ser más fácil de mantener si no programas; un conversor HTML→PDF es la alternativa si prefieres no usar Drive.

Paso 5: envía el email

Añade un nodo Gmail:

  • Destinatario: {{ $('Edit Fields').item.json.email }}
  • Asunto: algo como Propuesta: {{ $('Edit Fields').item.json.servicio }} — {{ $('Edit Fields').item.json.nombre }}
  • Cuerpo: dos o tres frases tuyas («Hola [nombre], aquí tienes la propuesta que hablamos. Cualquier duda, me dices.») más el enlace al Doc o el PDF adjunto.

Las primeras veces, usa Create Draft en lugar de Send: revisas el borrador, abres el PDF y, cuando suene a ti, pasas a envío automático.

Paso 6: deja el estado en tu hoja

Añade Google Sheets:

  • Si el trigger fue el formulario, usa Append Row en una hoja de propuestas con columnas nombre, email, servicio, total, fecha, enlace_doc, estado.
  • Si el trigger fue una fila, usa Update Row y pon estado en «propuesta enviada» y guarda el enlace del Doc.

Esa hoja es la misma que luego puede leer el flujo de seguimiento de presupuestos a los 3 y 7 días. No hace falta copiar datos a mano entre sistemas.

Paso 7: pruébalo de punta a punta

  1. Rellena el formulario con un cliente inventado.
  2. Revisa el Doc o el PDF: ¿el precio es el correcto? ¿El alcance no se ha inventado nada?
  3. Mira el borrador de Gmail y el estado en Sheets.
  4. Cuando esté bien, cambia Create Draft por Send.

Si algo falla (permisos de Drive, plantilla sin un hueco), n8n te lo marca en el nodo concreto: arreglas ese paso y vuelves a ejecutar solo desde ahí.

Ideas para ir más allá

  • Solo leads buenos: dispara este flujo cuando el cualificador de leads con IA pase el umbral, no con cada formulario público.
  • Seguimiento automático: en cuanto marques «propuesta enviada», el seguimiento de presupuestos se encarga de los recordatorios.
  • Cuando digan que sí: encadena la bienvenida al cliente nuevo para que el alta no se te pase.
  • Varias plantillas: un Switch por tipo de servicio elige plantilla A o B.
  • Aviso interno: Telegram o Slack con «Propuesta enviada a [nombre] — [total] €».

Coste y límites

  • Coste: la IA escribe un texto corto por propuesta; el gasto suele ser pequeño. Drive y Gmail van con tu cuenta de Google. Revisa los precios actuales de tu proveedor de IA y de n8n.
  • Revisión: la IA puede suavizar o alargar de más. Por eso conviene borradores al principio y precios siempre escritos por ti en el Set.
  • Permisos: el Doc o PDF que envías no debería incluir datos de otros clientes. Usa una copia por propuesta, no la plantilla original.
  • Validez y legales: la plantilla puede incluir condiciones generales fijas; no pidas a la IA que invente cláusulas legales.

Empieza con plantillas listas

Si quieres ahorrarte la configuración base de n8n e IA, descarga gratis el agente de WhatsApp o mira el pack AgentKiosk: 8 agentes listos para importar, con la parte de IA ya configurada. Esta propuesta en PDF la montas encima con los pasos de arriba.