Files
n8n/Automatización Bot Prisa yachts/PROYECTO.md
T

8.8 KiB

Automatización Bot Prisa Yachts

Fecha: 2 julio 2026
Responsable: Álvaro
n8n: https://n8n.crewinghunters.com


¿Qué es esto?

Sistema de automatización de captación de clientes para Prisa Yachts LLC, empresa de servicios náuticos en Florida. El proyecto tiene dos pilares:

  1. Bot de WhatsApp — atiende consultas 24/7, clasifica el servicio solicitado y notifica al especialista correcto
  2. Directorio marino de Florida — base de datos de marinas, astilleros, almacenamiento y tiendas de suministros, con emails y websites, para campañas de captación

Empresa: Prisa Yachts LLC

📞 (786) 396-3315
📧 info@prisayachts.com
🌐 prisayachts.com
📸 @prisayachts

Slogan: "Safe Command ♦ Luxury Maintenance and Care"

Servicios y responsables

# Servicio Especialista WhatsApp
1 Engines & Mechanical Álvaro +1 (954) 655-4084
2 Electrical & Electronics / NMEA Álvaro +1 (954) 655-4084
3 Teak Deck Recovery Federico +1 (754) 209-3375
4 Captaining & Crewing Federico +1 (754) 209-3375
5 Yacht Care & Detailing Federico +1 (754) 209-3375
6 Crew Placement & Staffing Federico +1 (754) 209-3375
7 Other / Otro Ambos

Pilar 1 — Bot de WhatsApp

Arquitectura

Cliente WhatsApp
      │
      ▼
Meta Webhook ──► n8n Webhook (POST /prisa-whatsapp)
                      │
                      ▼
               State Machine (Code node)
                      │
          ┌───────────┴───────────┐
          ▼                       ▼
    Is Verify?              Is Send to Client?
    (GET challenge)               │
          │                       ▼
    Respond 200          Enviar mensaje al cliente
                                  │
                         Notify Specialist?
                         ┌────────┴────────┐
                         ▼                 ▼
                      Is Both?          Is Alvaro?
                    ┌──┴──┐           ┌──┴──┐
                    ▼     ▼           ▼     ▼
                 Álvaro Federico   Álvaro Federico

Flujo del bot (state machine)

PASO 1 — "new" / reset words (hola, hello, hi, menu, start)
  → Enviar MENÚ PRINCIPAL (opciones 1-7)
  → Estado: waiting_category

PASO 2 — "waiting_category"
  → Cliente responde 1-7
  → Enviar formulario del servicio específico
  → Estado: collecting_info

PASO 3 — "collecting_info"
  → Cliente envía sus datos
  → Enviar CONFIRMACIÓN al cliente
  → Notificar especialista con resumen del caso
  → Estado: complete

PASO 4 — "complete"
  → Siguiente mensaje reinicia el flujo desde el menú

Estado actual del bot

Ítem Estado
Workflow creado en n8n Desplegado
Credential WhatsApp_Prisa Creada (placeholder)
Workflow activo Activo
Webhook URL https://n8n.crewinghunters.com/webhook/prisa-whatsapp
Token de Meta Pendiente aprobación Meta
Phone Number ID Pendiente aprobación Meta

Pasos pendientes — Bot WhatsApp

  • Meta aprueba la cuenta de WhatsApp Business
  • Actualizar credencial WhatsApp_Prisa en n8n:
    • Cambiar PLACEHOLDER_PENDING_META_APPROVALBearer <ACCESS_TOKEN>
  • En los 3 nodos HTTP del workflow, cambiar URL:
    • Reemplazar PLACEHOLDER_PHONE_NUMBER_ID<YOUR_PHONE_NUMBER_ID>
  • Configurar webhook en Meta Developer Portal:
    • URL: https://n8n.crewinghunters.com/webhook/prisa-whatsapp
    • Verify Token: (cualquier string, ej. prisayachts2025)
    • Suscribir a: messages
  • Prueba final: enviar "hola" al número del negocio desde WhatsApp

Pilar 2 — Directorio Marino de Florida

Objetivo

Construir la base de datos más completa posible de negocios náuticos en Florida para usar en campañas de captación (email + WhatsApp). Cada registro incluye:

Nombre | Dirección | Teléfono | Email | Ciudad | Condado | Website

Categorías del directorio

Hoja Descripción
MARINAS Puertos deportivos y marinas
ASTILLEROS Boatyards y talleres náuticos
ALMACENAMIENTO Boat storage / dry stack
SUMINISTROS Tiendas de suministros marinos

Cobertura geográfica actual

El archivo principal es Directorio_Marino_FL_Acumulativo_4.xlsx.

Sesión Zona Condados principales
1-3 Florida Sur Miami-Dade, Broward, Palm Beach
4 Florida Centro Martin, St. Lucie, Okeechobee, Sarasota, Charlotte, Lee, Collier, Monroe (Keys)
5 Florida Oeste-Centro Pinellas, Hillsborough, Manatee, Pasco, Hernando
6 (add_north_florida.js) Florida Norte Volusia, Flagler, Indian River, Brevard, Citrus, Levy, Dixie, Taylor, Wakulla, Franklin, Gulf, Bay, Walton, Okaloosa, Santa Rosa, Escambia, Duval, St. Johns, Nassau

Registros Florida Norte (Sesión 6):

  • Marinas: 128
  • Astilleros: 24
  • Almacenamiento: 16
  • Suministros: 37
  • Total sesión 6: 205 registros

Scraper de emails (scrape_marine_emails.js)

Automatiza la búsqueda de emails y websites para los registros que no los tienen:

Para cada negocio en el Excel:
  1. Buscar en DuckDuckGo: "nombre" ciudad Florida marina contact email
  2. Filtrar dominios basura (Yelp, Google, Facebook, etc.)
  3. Scrapear homepage → página /contact → página /about
  4. Extraer emails con regex, puntuar por relevancia
  5. Guardar resultado en el Excel (checkpoint cada 25 filas)

Última ejecución del scraper:

  • Procesó hoja MARINAS (174 filas)
  • Guardado de emergencia a _output.xlsx (archivo bloqueado por Excel)
  • Muchos registros de Miami/Broward sin email (negocios grandes, emails corporativos difíciles de scrapear)

Pasos pendientes — Directorio

  • Verificar completitud del Excel actual (contar registros por zona y categoria)
  • Correr scraper en MARINAS_NORTE, ASTILLEROS_NORTE, ALMACENAMIENTO_NORTE, SUMINISTROS_NORTE
  • Completar emails faltantes de Florida Sur manualmente (prioridad: marinas grandes)
  • Decidir si expandir a otros estados (Georgia, Carolina del Sur, Texas...)
  • Consolidar todos los acumulativos en un único archivo maestro limpio

Pilar 3 — Campañas de Captación (próximo paso)

Una vez el directorio esté completo con emails, lanzar campañas automáticas:

Email marketing

  • Plataforma a definir: Mailchimp / Brevo / n8n con SMTP
  • Segmentación por tipo de negocio y zona geográfica
  • Template con brochure de Prisa Yachts (ya existe Prisa_Yachts_Brochure.pdf)
  • Medir aperturas y clicks

WhatsApp marketing (futuro)

  • Usar la API aprobada de Meta para enviar mensajes masivos (templates aprobados)
  • Segmentar por servicio relevante para cada tipo de marina
  • Flujo: contacto frío → si responde, entra al bot automáticamente

Archivos del proyecto

Archivo Descripción
create_whatsapp_workflow.js Despliega el bot en n8n (ejecutar una vez)
scrape_marine_emails.js Scraper de emails del directorio
add_north_florida.js Agrega datos de Florida Norte al Excel
convert_to_pdf.js Genera Prisa_Yachts_Brochure.pdf desde HTML
Directorio_Marino_FL_Acumulativo_4.xlsx Base de datos principal
Directorio_Marino_FL_Acumulativo_4_output.xlsx Copia de emergencia del scraper
Directorio_Marino_FL_Acumulativo_5.xlsx Datos adicionales (pendiente integrar)
Prisa_Yachts_Brochure.html Brochure en HTML
Prisa_Yachts_Brochure.pdf Brochure generado
scrape_log.txt Log de la última ejecución del scraper

Dependencias técnicas

{
  "axios":     "^1.18.1",   // HTTP requests
  "cheerio":   "^1.2.0",    // HTML parsing / scraping
  "puppeteer": "^25.1.0",   // HTML → PDF
  "xlsx":      "^0.18.5"    // Lectura/escritura Excel
}

n8n: Self-hosted en https://n8n.crewinghunters.com
API Key n8n: En create_whatsapp_workflow.js (hardcoded — mover a variable de entorno)


Resumen de prioridades

🔴 Bloqueado (esperando tercero)

  1. Aprobación de Meta para WhatsApp Business API

🟡 En progreso

  1. Completar directorio marino (scraper + revisión manual)
  2. Integrar Directorio_Marino_FL_Acumulativo_5.xlsx al archivo principal

🟢 Listo para ejecutar cuando Meta apruebe

  1. Actualizar credenciales en n8n y probar bot en producción
  2. Lanzar primera campaña de email a marinas de Florida Sur

🔵 Próximos pasos estratégicos

  1. Diseñar templates de WhatsApp aprobados por Meta
  2. Construir workflow n8n para envío masivo de emails
  3. Expandir directorio a otras costas (Gulf Coast, Carolinas)