En la sección CRM/Hubspot, bajo el título «HubSpot CRM Integration — La función de búsqueda mientras se escribe (search-as-you-type) activa el límite

oscar.lago

Bronze Partner
Registrado
15 Jul 2026
Mensajes
1
Hola a todos,



Llevamos varios meses ejecutando la plantilla oficial de integración CRM de HubSpot en 3CX Versión 20.0 Actualización 9 (Versión 995 - AI 1.4.48) sin problemas. Desde el 29/06 hemos visto un volumen masivo y diario de errores de 'Integration.Crm.Engine.TooManyRequestsException' en los registros de la Consola de Gestión — miles al día (pico de 2.200+/día) — que creemos que también están causando acumulación de hilos/conexiones en el motor CRM que ha provocado cortes totales de telefonía el 07/09, 10/07 y 14/07 (las llamadas dejaron de funcionar en toda la PBX, no solo las búsquedas CRM fallando de forma completa).



**Lo que hemos encontrado hasta ahora:**



1. Nuestra plantilla establece '<Connection MaxConcurrentRequests="2" />'. Según la documentación de plantilla XML (https://www.3cx.com/docs/crm-template-xml-description/), esto se define como *"una consulta numérica para una sola llamada"* — por lo que no está claro si esta configuración tiene algún efecto en los escenarios 'SearchContacts_*' (la función de búsqueda manual/en vivo), en contraste con los escenarios de búsqueda de identificación de llamadas.



2. La API de búsqueda de HubSpot ('/crm/v3/objects/{object}/search') está limitada a 5 solicitudes por segundo **por cuenta**, combinadas en todos los endpoints de búsqueda (documentado [aquí](https://developers.hubspot.com/docs/api-reference/latest/crm/search-the-crm#limits)).



3. Nuestra plantilla incluye tres escenarios 'SearchContacts_*' (emparejando por teléfono/correo electrónico, por nombre/empresa, y empresas por teléfono/nombre) que respaldan la casilla manual del cliente de "buscar contactos". Estos se activan en cada pulsación de tecla (búsqueda incremental: '6' → '64' → '645'...), sin que se exponga ningún mecanismo de rebote o mínimo de caracteres en el esquema de la plantilla XML del CRM. Si los tres escenarios se activan por pulsación de tecla (según la nota del documento que indica que se ejecutan y concatenan varios escenarios del mismo tipo), una sola acción de búsqueda puede generar 3 llamadas simultáneas a la API de búsqueda de HubSpot por cada carácter tipado — superando trivialmente el límite de 5 requisitos por s de cuenta con solo un uso simultáneo moderado.



4. Las solicitudes fallidas (429) parecen dejar los hilos/conexiones en un estado defectuoso en el motor CRM de 3CX en lugar de fallar de forma correcta, que es lo que realmente está haciendo que nuestra telefonía se colapse — un 429 de una API externa nunca debería poder desactivar el sistema telefónico.



**Hemos encontrado la misma excepción subyacente reportada para otros CRMs** (Zoho: [hilo](https://www.3cx.com/community/threads/zoho-crm-and-3cx-v20.123988/), Freshsales), y un informe casi idéntico sin resolver para HubSpot en el [foro de la comunidad HubSpot](https://community.hubspot.com/t/3cx-integration-reponse-429/124906) — así que esto no parece una mala configuración aislada por nuestra parte, sino más bien una laguna estructural en el motor de integración CRM: 'MaxConcurrentRequests' limita la concurrencia, no la tasa de solicitudes, y no hay forma en el esquema de plantilla de añadir limitación real de tasa o debounce a la función de búsqueda en vivo.



**Nuestras preguntas para el soporte de 3CX / la comunidad:**



1. ¿Se aplica 'MaxConcurrentRequests' a escenarios de 'SearchContacts_* ' o solo al flujo de consulta de llamadas por número? La redacción de la documentación ("una búsqueda de número para una sola llamada") sugiere que puede no aplicarse a escenarios de búsqueda.

2. ¿Hay alguna forma — dentro o fuera de la plantilla XML (por ejemplo, una configuración de la Consola de Gestión) — de añadir un recuento mínimo de caracteres o un retraso de rebote a la caja de búsqueda de contactos en vivo, para que no se active una solicitud en cada pulsación?

3. ¿Está disponible la sincronización de contactos de CRM con guía telefónica (mencionada en [este hilo antiguo](https://www.3cx.com/community/threads/contact-search-not-available-in-latest-crm-wizard.123102/)) para la plantilla de HubSpot como alternativa a las búsquedas en tiempo real?

4. Independientemente de la causa raíz del límite de tasa: ¿es un comportamiento esperado que una respuesta 429 del CRM deje los hilos/conexiones del motor en mal estado, hasta el punto de afectar a toda la PBX telefónica? Esto parece un error de resiliencia, independientemente de qué CRM esté en el otro extremo.



Gracias de antemano.
 
Hola respecto a esto que consultas, tenés las siguientes alternativas a usar:

1. Activar la opción de Guardar los contactos CRM en el pbx, así de esa manera cuando se reciban las llamadas y el sistema haga la búsqueda en el crm y estos queden guardados en el directorio de la 3cx, con eso entonces los usuarios al hacer la búsqueda del contacto si el sistema ya lo tiene guardado internamente evitaría hacer la búsqueda al crm.

2. Copiar y pegar en lugar de tipear el número o nombre del contacto.

Si necesitan este campo activo de búsqueda de contacto desde la aplicación, entonces copien y peguen el número completo o el nombre en lugar de teclearlo número por número. Al pegar el texto completo de una vez, 3CX enviará una sola petición a HubSpot, evitando así alcanzar el límite cuando tienen varios usuarios realizando la misma tarea.

3. Revisar el plan de HubSpot
Si son una empresa con muchos agentes de ventas o soporte, las cuentas gratuitas o de nivel "Starter" de HubSpot tienen límites más ajustados. Los planes Professional o Enterprise ofrecen un mayor límite en las llamadas a la API, lo que reduce la probabilidad de toparse con este error de ráfaga (burst limit).
 

Estadísticas del Foro

Temas
44.439
Mensajes
232.807
Miembros
78.338
Último miembro
neil.marsura