Propuestas Comerciales Automáticas
El problema
Cada propuesta comercial se tarda entre 1 y 3 horas: leer el brief del cliente, entender sus necesidades, estructurar el documento, adaptarlo a su sector, y formatearlo correctamente. Cuando tienes 10 solicitudes en paralelo, el embudo se atasca. Los leads que llegaron el lunes esperan su propuesta hasta el jueves, y para entonces ya están hablando con la competencia.
Este flujo convierte un formulario de intake en un documento de Google Docs personalizado, listo para revisar, en menos de 3 minutos.
Herramientas necesarias
- n8n (self-hosted o cloud)
- Typeform Trigger (node nativo n8n) — recibe respuestas del formulario de intake
- HTTP Request (Claude API) — genera el contenido de la propuesta
- Google Docs (node nativo n8n) — crea el documento desde plantilla
- Gmail (node nativo n8n) — envía notificación al cliente y al equipo
- Credenciales: Typeform API key, Anthropic API key, Google OAuth2, Gmail OAuth2
- Requisito: tener una plantilla de propuesta en Google Docs con placeholders
{{CLIENTE}},{{PROPUESTA_CUERPO}}, etc.
Configuración paso a paso
Nodo 1 — Typeform Trigger
- Form ID: el ID de tu formulario de intake (se ve en la URL de Typeform)
- Evento:
form_response - Campos recomendados en el formulario:
- Nombre de la empresa
- Sector/industria
- Problema principal que quieren resolver
- Presupuesto aproximado
- Plazo deseado
- Nombre del contacto y email
Nodo 2 — Set node (construir contexto)
Construye un objeto limpio con los datos del formulario mapeando las referencias de Typeform ($json.form_response.answers) a campos con nombres legibles: empresa, sector, problema, presupuesto, plazo, contacto, email_cliente.
Nodo 3 — HTTP Request (Claude API)
- Method:
POST - URL:
https://api.anthropic.com/v1/messages - Headers:
x-api-key,anthropic-version: 2023-06-01,Content-Type: application/json - Body:
{
"model": "claude-opus-4-5",
"max_tokens": 2000,
"messages": [{ "role": "user", "content": "{{ $json.prompt_propuesta }}" }]
}
Nodo 4 — Code node (extraer texto)
const texto = items[0].json.content[0].text;
return [{ json: { propuesta_generada: texto } }];
Nodo 5 — Google Docs (Copy from Template)
- Operation:
Create from Template - Template Document ID: ID de tu plantilla de Google Docs
- New Document Title:
Propuesta {{ $node['Set'].json.empresa }} - {{ $now.format('DD-MM-YYYY') }} - Variables a reemplazar:
{{CLIENTE}}→{{ $node['Set'].json.empresa }}{{CONTACTO}}→{{ $node['Set'].json.contacto }}{{FECHA}}→{{ $now.format('DD de MMMM, YYYY') }}{{PROPUESTA_CUERPO}}→{{ $node['Code'].json.propuesta_generada }}
Nodo 6 — Gmail (Send)
- To:
{{ $node['Set'].json.email_cliente }} - Subject:
Tu propuesta personalizada está lista — {{ $node['Set'].json.empresa }} - Body: email de notificación con enlace al Google Doc (obtenido del output del nodo Google Docs:
$json.webViewLink)
Ejemplo de prompt IA
Eres un consultor senior especializado en automatización y transformación digital para empresas. Genera una propuesta comercial profesional y personalizada.
DATOS DEL CLIENTE:
- Empresa: {{ $node['Set'].json.empresa }}
- Sector: {{ $node['Set'].json.sector }}
- Problema principal: {{ $node['Set'].json.problema }}
- Presupuesto: {{ $node['Set'].json.presupuesto }}
- Plazo deseado: {{ $node['Set'].json.plazo }}
Estructura la propuesta así:
1. ENTENDIMIENTO DEL PROBLEMA (2 párrafos — demuestra que entiendes su situación específica)
2. SOLUCIÓN PROPUESTA (descripción del enfoque, fases, metodología)
3. ENTREGABLES (lista concisa de qué recibirán)
4. INVERSIÓN Y PLAZOS (tabla con fases, duración y precio estimado dentro del rango indicado)
5. PRÓXIMOS PASOS (llamada a la acción específica)
Tono: profesional pero directo. Sin jerga genérica de consultoría. Máximo 600 palabras.
Ahorro estimado
- Tiempo de elaboración por propuesta: de 1.5h a 5 minutos
- Con 8 propuestas/semana: 11+ horas ahorradas semanalmente
- Tiempo de respuesta al cliente: de 2-3 días a menos de 1 hora
- Tasa de propuestas enviadas en el mismo día de la solicitud: del 20% al 100%