Acceso anticipadoProductos y APIsIntegracionesIA

AcoplaLas piezas peruanas que le faltan a HubSpot

App para HubSpot con tarjetas que traen datos y procesos del Perú a la ficha del CRM —RUC, DNI, tipo de cambio— y un estudio con IA que convierte un pedido en lenguaje natural en una tarjeta publicada, sin despliegue.

Busco algo como esto
stackealabs.com
Acopla: Sitio del producto
p95 con 15 peticiones simultáneas, 60 de 60 sin error
1.36 s
una consulta con caché, frente a 789 ms sin ella
30 ms
los planes de HubSpot, no solo Enterprise
Todos

Acopla es un producto de Stackea Labs. Lo que se está construyendo ahora mismo lo cuento en su lab.

El problema

HubSpot no sabe qué es un RUC. Un vendedor que registra una empresa peruana copia el número, abre otra pestaña, busca la razón social, vuelve y la pega. Si la empresa está de baja o no habida, nadie se entera hasta que la factura rebota.

Cada equipo que lo resuelve construye su propia integración, y casi siempre la misma: una tarjeta, una llamada a una API y algo de código serverless. Que además solo funciona en los planes más caros de HubSpot, porque las funciones serverless no están en todos.

Lo que construí

Una sola app pública de HubSpot con varias tarjetas dentro de la ficha del contacto, la empresa o el negocio:

  • RUC, DNI y tipo de cambio, con los datos oficiales que entrega Acredita. La tarjeta muestra el estado y la condición del contribuyente antes de que alguien facture.
  • Escribir de vuelta en el CRM, en dos pasos. El servidor calcula la diferencia entre lo que hay en HubSpot y lo que dice la fuente oficial, el usuario la confirma y la escritura es idempotente y queda auditada. Ningún dato se pisa sin que una persona lo vea.
  • Una tarjeta HTTP genérica para conectar cualquier API, con protección contra SSRF: no se puede usar para llegar a la red interna.
  • El estudio con IA. Se pide en lenguaje natural —por ejemplo, «quiero ver las facturas pendientes de esta empresa»—, la IA lo convierte en una especificación validada, se previsualiza dentro de una ficha simulada de HubSpot y se publica al portal sin desplegar código. También crea las propiedades y los workflows que la tarjeta necesita.

Cómo está hecho

La decisión que define el producto: las tarjetas no usan funciones serverless de HubSpot. Llaman al backend propio de Acopla con hubspot.fetch, y por eso funcionan en cualquier plan. El costo es que el backend tiene que verificar cada firma de HubSpot y no confiar en nada de lo que llega.

Toda escritura en el CRM pasa por una confirmación obligada por tipos: el código que escribe no compila si no recibe una confirmación del usuario. No es una buena práctica que alguien recuerda; es una regla que el compilador impone.

Backend en NestJS 11 con Prisma sobre PostgreSQL con Row Level Security —cada portal ve solo lo suyo, garantizado por la base de datos—, colas con BullMQ, el estudio en Next.js 15 y la IA con la API de Claude. La caché se decide por la clase de cada dato: lo público se guarda, lo personal no.

Estado hoy

Funciona en producción, instalada en portales de prueba, y abre en acceso anticipado desde Stackea Labs. Medido: un p95 de 1.36 s con 15 peticiones simultáneas, 60 de 60 sin error, y una consulta repetida que pasa de 789 ms a 30 ms gracias a la caché.

Lo que aprendí

Que en HubSpot la limitación más cara no es técnica, es de plan. Diseñar alrededor de hubspot.fetch en vez de las funciones serverless obligó a construir más —firmas, multi-tenant, caché—, pero es lo que permite instalar la misma app en una empresa con el plan más básico.

2 capturas · toca una para verla en grande

Cuéntame qué quieres resolver. Te respondo en 24–48 h con una primera idea de cómo lo construiría, y si no soy la persona indicada, te lo digo.

Proyectos relacionados

Acceso anticipado

Productos y APIs · Integraciones

Avisa

Tu sistema reporta «cita creada» y Avisa decide qué mensaje de WhatsApp enviar, cuándo y cuánto cuesta.

Para: Clínicas y negocios que agendan, cobran y avisan por WhatsApp

  • PHP 8.4
  • Laravel 13
  • Octane + FrankenPHP
  • PostgreSQL 16
Ver el caso
En staging

Sistemas a medida · Productos y APIs

FarmaOrden

Control operativo para cadenas de boticas: cada sol y cada caja de medicamento atribuidos a una persona, aunque se caiga internet.

Para: Cadenas de farmacias y boticas del Perú

  • PHP 8.4
  • Laravel 13
  • PostgreSQL 16
  • Redis 7
Ver el caso