La integración de Custom CRM te permite conectar Enginy con tu propio sistema CRM o base de datos interna. Esta opción está diseñada para equipos que utilizan un sistema propietario o personalizado que no está incluido en las integraciones estándar de Enginy.
Nota: Custom CRM está actualmente en Beta. Si necesitas ayuda para configurarlo, contacta con tu Account Manager.
Descripción general
Una vez conectado, Enginy puede interactuar con tu CRM de las siguientes maneras:
Exportar contactos y empresas desde Enginy a tu CRM.
Crear tareas directamente en tu sistema cuando las secuencias o flujos de trabajo lo requieran.
Crear asociaciones entre contactos y empresas en tu CRM.
Registrar actividades — mensajes de LinkedIn y correos electrónicos — en tu CRM.
Asignar propietarios a los registros exportados, si tu CRM admite usuarios.
Requisitos previos
Antes de conectar, tu CRM debe exponer los siguientes endpoints de API:
Endpoint | Propósito | Requerido |
| Validación de la conexión | Sí |
Contacts API | Creación en lote de contactos | Sí |
Companies API | Creación en lote de empresas | Sí |
Associations API | Vinculación de contactos con empresas | Sí |
Tasks API | CRUD de tareas y endpoints en lote (para secuencias) | Sí |
Activities API | Registro de actividades de LinkedIn y email | Sí |
Users API | Listado de usuarios para asignación de propietario | Opcional |
Para la especificación completa de los endpoints, consulta la Custom CRM API Reference.
Autenticación
Tu CRM debe aceptar autenticación por API key mediante un header configurable. Al conectar, deberás proporcionar los siguientes parámetros:
Parámetro | Descripción | Por defecto |
| URL base de tu API (p. ej., | Requerido |
| Tu API key o token secreto | Requerido |
| Nombre del header usado para enviar la API key |
|
| Plantilla de URL para registros de contacto — usa | Opcional |
| Plantilla de URL para registros de empresa — usa | Opcional |
Enginy incluye tu API key header en cada petición enviada a tu CRM. Por ejemplo:
POST /contacts HTTP/1.1 Host: api.mycrm.com X-API-Key: your-secret-key Content-Type: application/json Accept: application/json
Enlaces a registros del CRM
Cuando está configurado, Enginy puede generar enlaces clicables que abren registros de contactos y empresas directamente en tu CRM. Para habilitarlo, proporciona plantillas de URL al conectar — usando {{crmId}} como marcador que será reemplazado por el ID real del registro:
{ "baseUrl": "<https://api.mycrm.com>", "apiKey": "your-crm-api-key", "apiKeyHeader": "X-API-Key", "contactLinkTemplate": "<https://mycrm.com/contacts/{{crmId}>}", "companyLinkTemplate": "<https://mycrm.com/companies/{{crmId}>}" }
Por ejemplo, la plantilla https://mycrm.com/contacts/{{crmId}} se convierte en https://mycrm.com/contacts/ABC123 cuando Enginy genera el enlace. Si no se proporcionan plantillas, la opción "Open in CRM" no estará disponible para los registros de Custom CRM.
Soporte de Usuarios / Propietarios (Opcional)
Si tu CRM permite asignar usuarios o propietarios a contactos, empresas, tareas y actividades, puedes implementar el endpoint opcional /users para habilitar la selección de propietario en Enginy.
Cada vez que Enginy necesita obtener propietarios, testea automáticamente tu endpoint /users. El comportamiento depende de la respuesta:
Respuesta | Resultado |
2xx con lista de usuarios | Selección de propietario habilitada en el modal de exportación |
404 / 501 / 405 | Selección de propietario deshabilitada de forma controlada — no se trata como error |
Otros errores | Selección de propietario deshabilitada; la conexión continúa con normalidad |
Cuando los usuarios están disponibles, Enginy muestra un desplegable de propietario en el modal de exportación, la creación de tareas y el registro de actividades. Puedes añadir o eliminar el endpoint /users en cualquier momento — la detección ocurre de forma dinámica en cada petición, no solo en la conexión inicial.
Tu endpoint /users debe devolver un array de usuarios con el siguiente formato:
[ { "id": "user-123", "name": "John Smith", "email": "[email protected]" }, { "id": "user-456", "name": "Jane Doe", "email": "[email protected]" } ]
El campo id se envía de vuelta a tu CRM cada vez que se crea un registro con una asignación de propietario.
Conectar tu CRM
Sigue estos pasos para conectar tu Custom CRM a Enginy a través de la API.
Paso 1: Implementa los endpoints requeridos
Antes de conectar, asegúrate de que tu CRM implementa todos los endpoints requeridos listados en la sección de Requisitos previos. Consulta la Custom CRM API Reference para las especificaciones completas.
Paso 2: Testea la conexión
Usa el endpoint de test para validar tu configuración antes de conectar:
curl -X POST <https://openapi.enginy.ai/v1/custom-crm/test> \\ -H "x-api-key: gsk_your_enginy_api_key" \\ -H "Content-Type: application/json" \\ -d '{ "baseUrl": "<https://api.mycrm.com>", "apiKey": "your-crm-api-key", "apiKeyHeader": "X-API-Key" }'
La respuesta confirma si la conexión es válida y si se detecta soporte de propietarios:
{ "success": true, "supportsUsers": true, "users": [{ "id": "user-123", "name": "John Smith", "email": "[email protected]" }] }
Paso 3: Conecta
Una vez que el test sea exitoso, conecta tu CRM:
curl -X POST <https://openapi.enginy.ai/v1/custom-crm/connect> \\ -H "x-api-key: gsk_your_enginy_api_key" \\ -H "Content-Type: application/json" \\ -d '{ "baseUrl": "<https://api.mycrm.com>", "apiKey": "your-crm-api-key", "apiKeyHeader": "X-API-Key", "contactLinkTemplate": "<https://mycrm.com/contacts/{{crmId}>}", "companyLinkTemplate": "<https://mycrm.com/companies/{{crmId}>}" }'
Paso 4: Verifica el estado
Comprueba el estado de tu conexión en cualquier momento:
curl <https://openapi.enginy.ai/v1/custom-crm/status> \\ -H "x-api-key: gsk_your_enginy_api_key"
Exportar a tu CRM
Una vez conectado, puedes exportar contactos y empresas desde Enginy a tu Custom CRM:
Selecciona leads o empresas en Enginy.
Elige "Export to CRM" y selecciona Custom CRM.
Enginy creará automáticamente las empresas primero (si las hay), luego los contactos y, por último, las asociaciones entre contactos y empresas.
Los IDs del CRM se guardan en Enginy para futuras referencias.
Nota: La exportación es solo de envío (push-only). Enginy envía todos los campos disponibles tal cual a tu CRM. Tu CRM es responsable de mapear y almacenar los datos correctamente.
Paso 1: Configuración de sincronización
Este paso define cómo Enginy relaciona contactos y empresas con los registros de tu CRM para evitar duplicados y garantizar la integridad de los datos. Una sincronización significa que Enginy compara sus registros con los de tu CRM usando los identificadores que configures aquí.
Usuario de integración
Muestra la dirección de correo electrónico del usuario de la integración API.
Identificador de contacto
Elige cómo Enginy determina si un contacto ya existe en tu CRM.
Opción | Lógica de coincidencia |
First name + Last name + Company name | Un contacto coincide cuando los tres campos son iguales en Enginy y en tu CRM. |
LinkedIn profile URL OR First name + Last name + Company name | Un contacto coincide si la URL del perfil de LinkedIn es la misma o los tres campos de nombre/empresa coinciden. |
Custom Mapping | Abre un pop-up donde defines condiciones personalizadas con lógica AND/OR (por ejemplo, coincidir por First Name AND Last Name, OR por Professional Email). |
Identificador de empresa
Elige cómo Enginy determina si una empresa ya existe en tu CRM.
Opción | Lógica de coincidencia |
Domain | Coincide por el dominio de la empresa (p. ej., |
Domain or Company Name | Coincide si el dominio o el nombre de la empresa son iguales. |
Custom Mapping | Abre un pop-up donde defines condiciones personalizadas (por ejemplo, coincidir por Domain OR Company LinkedIn URL). |
General
En la sección General encontrarás dos toggles que controlan cómo se gestionan las asociaciones durante la exportación:
When exporting contacts, associate them with companies in your CRM: Si está activado, Enginy vinculará automáticamente los contactos exportados con sus empresas correspondientes en tu CRM.
When exporting companies, associate them with contacts in your CRM: Si está activado, Enginy vinculará automáticamente las empresas exportadas con sus contactos relacionados en tu CRM.
Paso 2: Mapeo de campos
Este paso configura qué campos de Enginy se mapean a qué campos de tu CRM al exportar datos. La configuración se divide en dos pestañas — Contacts y Companies — y el funcionamiento del mapeo es el mismo en ambas.
Tipos de campo
Tipo de campo | Descripción |
Enginy Fields | Campos estándar de tus listas de contactos o empresas (p. ej., Phone Number, Job Title). Haz clic en Add field para añadir un mapeo: selecciona primero el campo de Enginy y luego el campo correspondiente de tu CRM. |
Fixed Value Fields | Campos que siempre se exportan con el mismo valor estático. Por ejemplo, crea un campo llamado "Source" con valor fijo "Enginy" para que todos los registros exportados queden etiquetados con su origen. |
Manual Export Fields | Campos cuyo valor defines en el momento de la exportación. Haz clic en Add field, selecciona el campo del CRM que se establecerá al exportar. Tantos como quieras. |
Engagement Fields | Campos que se rellenan cuando se crea una Activity en tu CRM (p. ej., un email enviado, un mensaje de LinkedIn o un registro de tarea). Selecciona el campo del CRM y establece el valor a exportar. Solo se puede configurar uno. |
Advertencia: No mapees un campo de empresa en la pestaña Contacts (ni un campo de contacto en Companies). Esto puede provocar errores de exportación. Si necesitas mapear el mismo campo en ambas pestañas, asegúrate de que está mapeado de la misma manera en ambos lugares.
En cada desplegable de mapeo de campos de tu CRM verás pequeños iconos de estado que indican si el mapeo está soportado, no soportado o soportado con limitaciones / una solución alternativa.
Icono | Significado |
Check azul | El mapeo es correcto, no tiene problemas potenciales. |
Exclamación amarilla | Los tipos de campo en Enginy y tu CRM pueden ser incompatibles (p. ej., un campo de texto de Enginy mapeado a un campo de enumeración del CRM). |
X roja | El mapeo no puede aplicarse porque los tipos no coinciden — o porque el campo del CRM es de solo lectura y no puede actualizarse. |
Opciones de mapeo
Opción | Comportamiento |
Bi-directional sync | Los cambios se sincronizan automáticamente en ambas direcciones. |
CRM overwrites Enginy | Los cambios en tu CRM sobrescriben automáticamente los campos correspondientes en Enginy. |
Enginy overwrites CRM | Los cambios en Enginy sobrescriben automáticamente los campos correspondientes en tu CRM. |
Sync if value is empty | Los datos solo se sincronizan automáticamente cuando el campo de destino está vacío, evitando sobrescribir valores existentes. |
Sync deactivated | Sin sincronización automática. Deberás exportar manualmente o ejecutar una sincronización para aplicar los cambios. |
Tipo de asociación
La configuración de Association Type controla la relación entre un contacto y una empresa dentro de tu CRM.
Opción | Comportamiento |
Add as additional association | Añade la asociación sin modificar las existentes. |
Add association as Primary | Establece la nueva asociación como la relación principal. |
Associate as Primary and remove previous associations | Establece la nueva como principal y elimina todas las asociaciones anteriores. |
Advertencia: La opción "Associate as Primary and remove previous associations" no es recomendable a menos que estés seguro de que quieres eliminar todas las asociaciones anteriores del registro. Su uso puede provocar pérdida de datos si existen relaciones históricas.
Al exportar manualmente un contacto o empresa, puedes elegir el Association Type en el modal de exportación. La configuración de la integración define el tipo de asociación predeterminado, pero puedes cambiarlo en cada exportación manual.
También puedes: sobrescribir valores existentes para cualquier mapeo de campo (en la pestaña Contacts o Companies), sobrescribir el propietario en el CRM, establecer opcionalmente los Manual export field values, y activar Export associated companies (o Export associated contacts al exportar manualmente una empresa).
Paso 3: Mapeo de campaña (Opcional)
Este paso te permite sincronizar propiedades específicas de campaña con tu CRM. No son campos estándar de lista; son propiedades vinculadas a la actividad de campaña.
Secuencia
Propiedad | Qué contiene | Ejemplo de valor |
Campaign Sequence Details | Los pasos incluidos en la campaña. |
|
Campaign Engagement Status | El estado actual de cada lead en la campaña. |
|
Sequence Status | El estado general de la secuencia de campaña para el lead. |
|
Campaign Reply Analysis | Indica por mensaje si el lead respondió a cada mensaje automatizado. |
|
Email
Propiedad | Qué contiene | Ejemplo de valor |
Campaign Opens | Número total de veces que un lead ha abierto uno o más emails de la campaña. |
|
Campaign Clicks | Número total de veces que un lead ha hecho clic en un enlace de los emails de campaña. |
|
Campaign Open Analysis | Indica por mensaje si el contacto abrió ese email específico. |
|
Campaign Click Analysis | Indica por mensaje si el contacto hizo clic en un enlace de ese email específico. |
|
General
Propiedad | Qué contiene | Ejemplo de valor |
Campaign | Todos los nombres de campaña a los que se ha añadido el contacto. |
|
Senders | Todos los nombres de remitentes que han contactado al contacto. |
|
Activities | Todas las actividades que han ocurrido con el contacto. |
|
Etiquetas de conversación
Propiedad | Qué contiene | Ejemplo de valor |
Conversation Tags | Todos los conversation tags aplicados al contacto (separados por coma). |
|
Conversation Tags Categories | Categorías de conversation tags: POSITIVE, NEUTRAL, NEGATIVE (separadas por coma). |
|
Paso 4: Mapeo de usuarios
Este paso final define las asociaciones entre los usuarios/identidades de Enginy y los usuarios de tu CRM para que las exportaciones y los registros de actividad se atribuyan a las personas correctas.
Mapeo de identidades
Una Identity en Enginy es el perfil que ejecuta una campaña (por ejemplo, un perfil de LinkedIn o un remitente de email). Identities Mapping vincula cada identidad de Enginy con un usuario de tu CRM.
Cuando una campaña — que siempre está vinculada a una identidad — realiza una sincronización o exportación, el registro de actividad de tu CRM muestra al usuario del CRM asociado como el que ejecutó la acción.
Mapeo de usuarios
Users Mapping vincula una cuenta de usuario de Enginy con un usuario de tu CRM. Esto establece el propietario predeterminado para cualquier registro exportado por ese usuario — incluso para exportaciones automáticas mediante mapeos de campo, no solo exportaciones manuales.
Propietario predeterminado del CRM
Este mapeo establece un propietario predeterminado (propietario de contacto o empresa) para las exportaciones realizadas por un usuario de Enginy que no está mapeado en User Mapping.
Guardar la configuración
Una vez completados los cuatro pasos, haz clic en Update para guardar la configuración de tu Custom CRM.
Desconectar
Para desconectar tu Custom CRM en cualquier momento, usa la siguiente llamada a la API:
curl -X DELETE <https://openapi.enginy.ai/v1/custom-crm/disconnect> \\ -H "x-api-key: gsk_your_enginy_api_key"
