Ir al contenido principal

Cómo configurar tu integración de Custom CRM (Beta)

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

GET /health

Validación de la conexión

Contacts API

Creación en lote de contactos

Companies API

Creación en lote de empresas

Associations API

Vinculación de contactos con empresas

Tasks API

CRUD de tareas y endpoints en lote (para secuencias)

Activities API

Registro de actividades de LinkedIn y email

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

baseUrl

URL base de tu API (p. ej., https://api.mycrm.com)

Requerido

apiKey

Tu API key o token secreto

Requerido

apiKeyHeader

Nombre del header usado para enviar la API key

X-API-Key

contactLinkTemplate

Plantilla de URL para registros de contacto — usa {{crmId}} como marcador para el ID del registro

Opcional

companyLinkTemplate

Plantilla de URL para registros de empresa — usa {{crmId}} como marcador para el ID del registro

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:

  1. Selecciona leads o empresas en Enginy.

  2. Elige "Export to CRM" y selecciona Custom CRM.

  3. Enginy creará automáticamente las empresas primero (si las hay), luego los contactos y, por último, las asociaciones entre contactos y empresas.

  4. 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., enginy.ai). También puedes marcar Include any domain extension para tratar .com, .es, .org, etc. como equivalentes.

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.

1st Email, 2nd Email, LinkedIn Connection Request, 1st LinkedIn

Campaign Engagement Status

El estado actual de cada lead en la campaña.

Added to Campaign, Message Sent (1/3) - Email, Message Replied (3/3) - LinkedIn

Sequence Status

El estado general de la secuencia de campaña para el lead.

Not Started, Ongoing, Replied, Finished

Campaign Reply Analysis

Indica por mensaje si el lead respondió a cada mensaje automatizado.

No, Yes (1st Message), Yes (2nd Message)


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.

3

Campaign Clicks

Número total de veces que un lead ha hecho clic en un enlace de los emails de campaña.

1

Campaign Open Analysis

Indica por mensaje si el contacto abrió ese email específico.

No, Yes (1st Message), Yes (2nd Message)

Campaign Click Analysis

Indica por mensaje si el contacto hizo clic en un enlace de ese email específico.

No, Yes (1st Message)


General

Propiedad

Qué contiene

Ejemplo de valor

Campaign

Todos los nombres de campaña a los que se ha añadido el contacto.

UK Hiring Campaign, Italian SDR Campaign, Jordi's Campaign

Senders

Todos los nombres de remitentes que han contactado al contacto.

Adham Elman, Giulio Gargano, Jordi Casas

Activities

Todas las actividades que han ocurrido con el contacto.

Visit LinkedIn profile, LinkedIn Invitation sent, Contact has accepted invitation, ...


Etiquetas de conversación

Propiedad

Qué contiene

Ejemplo de valor

Conversation Tags

Todos los conversation tags aplicados al contacto (separados por coma).

Contacted, Positive, Meeting Booked

Conversation Tags Categories

Categorías de conversation tags: POSITIVE, NEUTRAL, NEGATIVE (separadas por coma).

POSITIVE, POSITIVE, POSITIVE




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"
¿Ha quedado contestada tu pregunta?