Ecosistema Hermes
Factronics USA

Blueprint Operativo
IA para Factronics

4 agentes de inteligencia artificial que automatizan el procesamiento de órdenes de compra, inbox ejecutivo, operaciones y onboarding de clientes.

Stack baseCoolify → n8n → Claude API
QB VersionDesktop 2024 Manufacturing
Duración10 semanas
Costo estimado$158–265 USD/mes

Visión General del Sistema

Todo corre en un VPS con Coolify. El puente con QuickBooks Desktop usa el conector oficial de Intuit sin exponer puertos locales.

Cloud — Hostinger VPS (orquestado por Coolify)
n8n Workflows → Hermes API (Claude) → RAG / Assistants
PostgreSQL + Redis + Control Panel
↕ HTTPS / Cloudflare
Local — Factronics, Medley FL
QB Desktop 2024 ← SOAP polling ← QB Web Connector
Servicios externos:
Gmail API HubSpot CRM Slack Bot OpenAI Assistants
🔑 Decisión clave: QBWC
Se usa el conector oficial de Intuit en lugar de un bridge custom. QBWC inicia la comunicación saliente — no se necesita Cloudflare Tunnel ni puertos expuestos en la máquina local.
🤖 OpenAI Assistants como RAG
Factronics ya tiene Custom GPTs entrenados con documentación técnica. Hermes los consulta vía Assistants API — zero infraestructura RAG adicional.

Tecnología por Componente

Hostinger VPS
KVM 2 · 8GB RAM · Ubuntu 22.04
Cloud
Coolify
Orquestación de contenedores Docker
Cloud
Hermes API
FastAPI Python · Orquestador de agentes
Cloud
n8n
Workflows y triggers sin código
Cloud
PostgreSQL
Estado, logs de auditoría, cola QBWC
DB
Redis
Colas y sesiones en memoria
DB
QB Desktop 2024
Manufacturing Edition · Servidor dedicado
Local
QB Web Connector
SOAP polling oficial de Intuit · 60s interval
Local
Claude API
Anthropic · Procesamiento PDF + drafts
API

Flujo del QuickBooks Web Connector

Cómo Hermes crea Sales Orders en QB Desktop sin exponer ningún puerto local.

1
Hermes procesa una PO y genera el QBXML para crear una Sales Order Draft.
2
Hermes guarda el trabajo en PostgreSQL: INSERT INTO qbwc_jobs_queue
3
QB Web Connector (en PC de Factronics) hace polling al endpoint SOAP cada 60 segundos.
4
El endpoint SOAP de Hermes devuelve el QBXML pendiente de la cola.
5
QBWC ejecuta el QBXML contra QuickBooks Desktop en la máquina local.
6
QBWC envía la respuesta de vuelta al SOAP endpoint (éxito + datos creados).
7
Hermes actualiza el estado del trabajo en PostgreSQL y notifica a Jovan en Slack.

Los 4 Agentes Hermes

Haz clic en cada agente para ver el detalle completo de su función, flujo y configuración.

+
Agente 01
Contador QB
CRÍTICO — POC

Lee POs en PDF del inbox de accounting@, extrae datos con Claude, valida contra QB y crea Sales Orders Draft automáticamente.

Trigger
Gmail → accounting@factronicsusa.com · cada 5 min
A
Claude extrae: cliente, PO#, items, cantidades, precios, dirección de envío
B
Valida precios contra QB Cache (tolerancia ±2%)
C
Si OK: Crea Draft en QB vía QBWC → Slack ✅
Si discrepancia: Borrador email aclaratorio → Slack ⚠️ → pending_review
Clientes configurados: NSP · Bauducco · Nestlé · B.Braun · Armor · Liberty Express
+
Agente 02
Inbox Copilot
ALTA — Mes 2

Clasifica emails de jovan@ por tipo y urgencia, genera borradores técnicamente precisos usando Custom GPTs de Factronics, y actualiza HubSpot autónomamente.

Tipos de email
A · Técnico-Comercial B · Admin-Operativo C · Soporte Post-Venta D · Lead/Prospecto X · Sin acción
HubSpot: analiza sentiment_score + buying_intent para actualizar deal stage automáticamente (confidence >0.85).
Regla absoluta: NUNCA envía emails — solo crea borradores en Gmail Drafts.
+
Agente 03
Operations Supervisor
MEDIA — Mes 3

Audita vía API la plataforma de tareas (Airtable/ClickUp/Trello), detecta cuellos de botella y envía resumen diario a Jovan en Slack.

Schedule triggers
Lun-Vie 8:00 AM · 5:00 PM · cada hora (scan vencidas)
Fuentes: API de Airtable/ClickUp/Trello + HubSpot deals activos + Slack sin respuesta en #operaciones. Equipos monitoreados: JMK Robotics · FACCA Caracas · Medley.
+
Agente 04
Onboarding Agent
MEDIA — Mes 3

Automatiza el proceso completo de onboarding de clientes: desde deal "Closed Won" en HubSpot hasta cliente creado en QuickBooks.

1
HubSpot Webhook: deal llega a etapa "Closed Won"
2
Hermes envía formularios de registro al cliente
3
Claude extrae datos de formularios PDF recibidos
4
Verificación: EIN, certificado de reventa FL, etc.
5
QBWC crea el cliente en QuickBooks Desktop
Meta: <24 horas desde deal ganado hasta cliente activo en QB.

Seguridad y Compliance

🔐
Variables sensibles — Zero en código fuente
Todas las keys van en Coolify Environment Variables (encriptadas en reposo). Rotación de tokens cada 90 días: Anthropic, OpenAI, QBWC_SOAP, Gmail, Slack, HubSpot.
📋
Audit Log inmutable
Cada acción de cada agente se escribe en audit_log (sin DELETE). Retención 2 años. Backup diario a Google Drive de Factronics.
🚨
Kill Switch — Protocolo de emergencia
Activar en ops.factronic-ops.com/config (solo Jovan y Pablo). Efecto inmediato: todos los triggers de n8n se desactivan, Hermes API rechaza nuevas peticiones (503), SOAP endpoint responde vacío, Slack alerta al equipo. Reactivación estimada: 2 minutos.
✉️
Política de NO-ENVÍO autónomo
Regla absoluta: Ningún agente puede enviar emails por cuenta propia. Todo va a Gmail DRAFTS. La Sales Order va a QB como DRAFT. El humano (Jovan o contabilidad) da clic de aprobación. Única excepción: notificaciones internas de Slack.

Estimado Mensual de Operación

Concepto Costo mensual
Hostinger VPS (KVM 2)$15–20
Claude API (orquestación: POs + triage + drafts)$120–200
OpenAI Assistants API (Custom GPTs técnicos)$20–40
Cloudflare (DNS + dominio)$3–5
Gmail APIGratis
n8n + PostgreSQL + Redis (self-hosted)$0
Total infraestructura$158–265 / mes

Si el volumen se duplica (~430 POs + 1000 emails), el estimado sube a ~$300–400/mes.

Cómo medimos el éxito

Tiempo procesamiento QB
17.92 hrs / 5 meses
< 2.5 hrs
revisión humana
Tiempo PO → QB Draft
~7 min manual
< 3 min
automático (incl. polling QBWC)
Triaje de inbox
7.67 hrs / 5 meses
↓ 75%
reducción tiempo manual
Precisión contable
variable (error humano)
98%
borradores correctos
Onboarding de clientes
días o semanas (manual)
< 24 hrs
a cliente creado en QB
HubSpot autónomo
0% deals actualizados
85%
sin intervención humana

Guía de Ejecución Paso a Paso

Para Pablo y equipo Coordenadas — exactamente qué hacer, en qué orden, con quién.

Inputs necesarios antes de cualquier código

Sin estos inputs, nada avanza. Conseguirlos en la Reunión 1.

  • Acceso a QuickBooks Desktop (servidor Windows dedicado en Medley, FL)Jovan
  • 5–10 POs reales en PDF (NSP, Bauducco, otros clientes)Jovan
  • Credenciales Google Workspace: accounting@ y jovan.gutic@Jovan
  • Acceso a Slack de Factronics (o crear workspace nuevo)Jovan
  • IDs de Custom GPTs en OpenAI (o acceso para mapearlos)Jovan
  • API Key de plataforma de tareas (Airtable / ClickUp / Trello)Jovan
  • HubSpot Private App tokenJovan
  • Dominio para el panel de operacionesPablo
  • Cuenta Hostinger con VPS KVM 2Pablo
  • Cuenta Cloudflare (puede ser la de la agencia)Pablo
  • API Key de Anthropic (Claude) — cuenta de pagoPablo
  • API Key de OpenAI (Assistants API) — cuenta de pagoPablo
  • QB Web Connector descargado de Intuit DeveloperPablo

Discovery

Entender el negocio antes de escribir una línea de código.

Reunión 1 — Kick-off con Jovan (60 min) ▶
💬 Frase de apertura
"Jovan, antes de empezar a construir cualquier cosa, necesito entender exactamente cómo funciona tu operación hoy. Voy a hacerte preguntas básicas — algunas van a parecer obvias, pero necesito los detalles para que el sistema funcione bien desde el primer día."
QuickBooks
  • ¿En qué computadora está QB Desktop? ¿Servidor dedicado listo?
  • ¿Está encendida L-V 7AM–7PM ET?
  • ¿Factronics USA y FACCA son archivos QB separados?
  • ¿El servidor Windows tiene acceso a internet?
Emails y POs
  • ¿POs siempre llegan a accounting@? ¿Siempre en PDF?
  • ¿Cuántas POs por semana típica vs semana pico?
  • ¿Quién detecta errores de precio hoy?
Salir con: 5-10 POs reales en PDF · IDs Custom GPTs · plataforma de tareas confirmada · servidor Windows confirmado · fecha para Reunión 2
Reunión 2 — Observar QB en vivo con contabilidad (45 min) ▶
💬 Frase de apertura
"Quiero que me muestres exactamente cómo procesas una PO, paso a paso, como si yo no supiera nada. Desde que te llega el email hasta que queda en QuickBooks."
  • Cómo busca al cliente en QB
  • Cómo agrega los items (¿por código o por nombre?)
  • Qué hace cuando un item no existe en QB
  • Qué hace cuando el precio no coincide
  • ¿QB Web Connector ya está instalado?
  • ¿Single-user o Multi-user mode?

Setup de Infraestructura

Instalar todas las plataformas y conectarlas entre sí. Sin agentes todavía.

📅 Día 1 — VPS + Coolify
Hostinger VPS KVM 2 · Ubuntu 22.04 · USA East. Instalar Coolify:
curl -fsSL .../install.sh | bash
Crear servicios: n8n · Hermes API · Control Panel · PostgreSQL · Redis.
📅 Día 2 — Gmail + Slack
Google Cloud Console: proyecto "Hermes Factronics" + Gmail API OAuth para accounting@ y jovan@. Crear Slack Bot "Hermes Ops" + canal #ops-hermes. Probar en n8n.
📅 Día 3 — OpenAI Assistants
Mapear Custom GPTs de Factronics como Assistants en OpenAI API. Configurar 4 assistants: Linx Tech · Anritsu · Comercial · Packaging. Guardar IDs en Coolify.
📅 Día 4 — QBWC (en Medley, FL)
Instalar QB Web Connector en servidor Windows dedicado. Crear y registrar archivo .QWC. Configurar polling: 60 segundos. Verificar "Connected" en QBWC.
✅ Checklist de conectividad — Día 5
  • https://n8n.factronic-ops.com → abre y pide login
  • https://api.factronic-ops.com/health → responde {"status":"ok"}
  • n8n puede conectarse a Gmail (credencial de prueba)
  • Slack bot responde en #ops-hermes
  • PostgreSQL: tablas creadas con DBeaver / TablePlus
  • QBWC: status "Connected" en servidor Windows
  • OpenAI Assistants API: consulta manual exitosa
  • HubSpot API: GET /contacts responde correctamente

POC Contable — Agente 1

Meta: PO de NSP llega por email → aparece como Draft en QB en menos de 3 minutos.

1
Desplegar Hermes API en Coolify desde GitHub. Configurar todas las env vars.
2
Programar endpoint SOAP /qbwc: recibir auth → revisar cola → devolver QBXML pendiente.
3
Programar extractor de POs: PDF → Claude API con prompt de extracción → JSON estructurado.
4
Validación contra QB Cache: cliente en cache + precio item (tolerancia ±2%).
5
Crear WF-001 en n8n: Gmail Trigger → filtro PDF → HTTP Request Hermes → Slack notification.
6
Pruebas con 10 POs reales: extracción → validación → flujo completo de email a Draft en QB.
Reunión 3 — Demo con Jovan (30 min)
Enviar una PO real de NSP en vivo. Mostrar en menos de 3 min: Draft en QB · mensaje en Slack · audit log en el panel.

Inbox Copilot — Agente 2

1
Conectar Custom GPTs como Assistants de OpenAI. Probar consulta manual a cada uno.
2
Clasificador de emails: tipos A/B/C/D/X + prioridad + sentiment_score + buying_intent. Probar con 20 emails reales. Meta: 85% precisión.
3
Generador de borradores con contexto de Assistants. Estilo de Jovan: directo, técnico, confiable. Sin precio sin consultar cache.
4
HubSpot acciones autónomas: crear contacto (tipo D), actualizar deal stage (confidence >0.85), poblar sentiment_score.
1
Crear WF-002 en n8n: Gmail Trigger (jovan@) → triage → draft → Gmail Create Draft → Label → Slack si prioridad alta.
2
Prueba en vivo: activar para una mañana. Jovan revisa cada borrador: ✅ Correcto · ✍️ Lo ajustaría · ❌ Equivocado.
3
Ajustar el prompt según feedback de Jovan. Iterar hasta que 80%+ de borradores sean aprovechados sin cambios.
Reunión 4 — Revisión Inbox Agent (20 min)
  • • ¿Cuántos borradores aprovechaste sin modificar?
  • • ¿Cuáles tuviste que reescribir mucho?
  • • ¿Hay algún tipo de email que el agente no maneja bien?
  • • ¿El tono de los borradores suena como tú?

Agentes 3 y 4 + Sistema Completo

⚙️ Operations Agent
Confirmar plataforma (Airtable/ClickUp/Trello). Configurar API client en Hermes. Crear WF-003 (Schedule 8AM Mon-Fri). Probar: ¿el resumen del lunes tiene info correcta?
🔗 Onboarding Agent
Webhook HubSpot "Closed Won" → enviar formularios → extraer datos PDF → verificar EIN/resale cert → crear cliente en QB vía QBWC. WF-004.
🛑 Kill Switch — WF-005
Crear WF-005. Agregar botón en Control Panel. Probar: activar → verificar que n8n desactiva todos los workflows → reactivar. Acceso: solo Jovan y Pablo.
Reunión 5 — Demo final y entrega (45 min)
Con Jovan + equipo contabilidad. Agenda: Demo 4 agentes → Walkthrough Control Panel → Kill Switch → Preguntas → Confirmar retainer mensual.

Si algo falla, parar y resolver

QBWC muestra "Waiting for first request" permanentemente
El endpoint SOAP /qbwc no responde. Verificar: Hermes API accesible desde internet · URL en .QWC es HTTPS (no HTTP) · credenciales SOAP coinciden con Coolify.
QBWC ejecuta trabajos pero todos fallan
Revisar qbwc_jobs_queue.error_message. Causas posibles: QBXML mal formado · archivo .QBW incorrecto · QB en modo multi-user.
Extractor de POs falla en más del 20% de los casos
Los PDFs son imágenes escaneadas, no texto. Agregar OCR antes de pasar el PDF a Claude.
n8n no detecta emails nuevos
El token de Gmail expiró o los permisos OAuth no incluyen gmail.readonly. Regenerar credenciales en Google Cloud Console.
Los precios no coinciden con QB aunque deberían
El nombre del item en la PO no coincide con el código en QB. Mejorar el mapeo de items: "National Steak Processors" → "NSP" en QB.
HubSpot no recibe actualizaciones
Verificar que el Private App token tiene scopes correctos: crm.objects.deals.write y crm.objects.contacts.write. Verificar pipeline ID.

10 Semanas — Plan de Ejecución

Semana 1–2 · Discovery + Infra
Reuniones de discovery + Setup de infraestructura completa
  • Kick-off con Jovan + observación QB en vivo
  • VPS · Coolify · n8n · PostgreSQL · Redis · Hermes API
  • Gmail API · Slack Bot · OpenAI Assistants configurados
  • QBWC instalado y conectado en Medley, FL
Entregable: Toda la infra verde. QBWC responde. n8n ve emails de Gmail.
Semana 3–5 · POC Contable
Agente 1 — QB Accounting Agent completo
  • Extractor de POs con Claude API
  • Validación contra QB Cache
  • QBWC: job queue para Sales Order Draft
  • WF-001 completo en n8n
  • Pruebas con 10 POs reales + demo con Jovan
Entregable: PO de NSP → Draft en QB + Slack en <3 min.
Semana 6–7 · Inbox Copilot
Agente 2 — Email Intelligence + HubSpot autónomo
  • Clasificador: tipos A/B/C/D/X + sentiment
  • Draft generator con contexto de Assistants
  • HubSpot: crear contactos, actualizar deal stage
  • WF-002 en n8n · prueba con 20 emails reales
Entregable: 10 emails de Jovan procesados, borradores en Gmail, HubSpot actualizado.
Semana 8–9 · Ops + Onboarding
Agentes 3 y 4 + Control Panel + Kill Switch
  • Operations: resumen diario + alertas de tareas (WF-003)
  • Onboarding: HubSpot Closed Won → forms → QB (WF-004)
  • Kill Switch (WF-005) con botón en Control Panel
  • Control Panel completo: dashboard, borradores, alertas, audit log
Entregable: Sistema completo en staging con los 4 agentes. Demo con equipo.
Semana 10 · Producción
Deploy a producción + capacitación + retainer activo
  • Deploy con datos reales · monitoreo intensivo 5 días
  • Ajuste de prompts según feedback de Jovan
  • Sesión de capacitación: Jovan y equipo contable
  • Documentación final entregada
Entregable: Sistema en producción. Retainer mensual activado.

5 Reuniones — Resumen

# Reunión Con quién Cuándo Duración
1Kick-off discoveryJovanSemana 160 min
2Observación QB en vivoContabilidadSemana 145 min
3Demo POC ContableJovan + ContabilidadSemana 530 min
4Revisión Inbox AgentJovanSemana 720 min
5Demo final y entregaJovan + equipoSemana 1045 min
Elaborado por
Coordenadas Agency
Junio 2026 · Versión 2.0
Actualizado con feedback de Jovan — QBWC · Assistants API · Onboarding · HubSpot autónomo