Cómo conectar cualquier CRM mediante n8n, Make o un webhook

¿Tu CRM no está entre las integraciones nativas? Puedes conectar cualquier CRM con API mediante una herramienta de automatización, como n8n o Make, o un endpoint propio.

LinkedScope llama a tu webhook, recibe la lista de negocios y la cruza con LinkedIn Ads.

  • Tiempo: 30 a 60 minutos
  • Quién puede hacerlo: Alguien que sepa montar un flujo en n8n, Make o similar
  • Método: Webhook HTTPS + token
  • Acceso: LinkedScope solo lee lo que devuelve tu webhook

¿Prefieres que la IA monte el flujo?
Conecta Claude, ChatGPT o Codex a Make o n8n y usa el prompt listo de la guía Cómo conectar cualquier CRM con IA.

Cómo funciona

  1. Creas un webhook en n8n, en Make o en tu backend.
  2. LinkedScope llama a ese webhook con POST, sin cuerpo, enviando un token de autenticación en una cabecera.
  3. Tu flujo valida el token, busca los negocios en el CRM y devuelve un JSON con la lista.
  4. LinkedScope importa los negocios y repite la llamada de lunes a viernes a las 03:00 UTC (o cuando haces clic en Sincronizar CRM).

Antes de empezar

  • Acceso de propietario o administrador en la cuenta de LinkedScope y un plan con integración de CRM.
  • Acceso a la API de tu CRM y a una herramienta que exponga un webhook HTTPS público (n8n, Make, Zapier con webhook, Pipedream o tu propio servidor).
  • Ningún otro CRM conectado a LinkedScope. Cada cuenta usa un CRM a la vez.

Atajo: plantillas listas para n8n y Make

Para no montar el flujo desde cero, usa la plantilla de tu herramienta.

Ya recibe la llamada de LinkedScope, valida el token, separa los negocios, mapea los campos y responde en el formato correcto, incluso cuando el CRM no tiene negocios.

Solo cambias el conector del CRM y revisas el mapeo. Con la plantilla, los pasos 1 y 2 de abajo ya vienen resueltos.

En n8n

  1. Importa la plantilla
    En un workflow nuevo, abre el menú ⋯ arriba a la derecha y elige Import from URL…. Pega el enlace de la plantilla para n8n y haz clic en Import. Si lo prefieres, descarga el archivo y usa Import from file….Ventana Import Workflow from URL de n8n con el enlace de la plantilla
  2. Revisa el flujo
    El workflow llega con cinco pasos y una nota con estas mismas instrucciones: LinkedScope llama a este webhook, Obtener negocios del CRM (sustituir), Un elemento por negocio, Mapear campos para LinkedScope y Responder a LinkedScope.Plantilla de LinkedScope importada en n8n, con la nota de instrucciones y los cinco pasos
  3. Protege el webhook
    Abre LinkedScope llama a este webhook.
    En Credential for Header Auth, elige Create new credential, rellena Name con auth y Value con un secreto largo y aleatorio y haz clic en Save.
    Guarda el secreto: va en el campo Token de autenticación de LinkedScope.Credencial Header Auth de n8n con Name auth y el secreto en Value
  4. Conecta tu CRM
    Sustituye Obtener negocios del CRM (sustituir) por el nodo de tu CRM (por ejemplo, Pipedrive, HubSpot o Zoho CRM, con la operación de listar negocios y Return All activado) o ajusta la URL, la autenticación y la paginación de la petición HTTP.
    Trae todos los negocios de los últimos 24 meses, no solo los recientes.
  5. Indica dónde está la lista
    En Un elemento por negocio, indica el campo de la respuesta que contiene la lista de negocios (la plantilla usa data). Si el nodo de tu CRM ya devuelve un elemento por negocio, elimina este paso.
  6. Mapea los campos
    En Mapear campos para LinkedScope, el nombre de cada campo es el que LinkedScope espera. Cambia lo que va después de $json. por el campo equivalente de tu CRM.
    Los esenciales son dealName, companyName, dealStage y createdAt, y la tabla del Paso 2 los explica todos.Paso de mapeo de campos de la plantilla en n8n
  7. Publica y copia la URL
    Haz clic en Publish (en las versiones antiguas de n8n, activa el workflow). Después, abre el primer paso, selecciona Production URL y copia la dirección.
    Usa siempre la Production URL: la Test URL solo responde mientras el editor está escuchando.Pestaña Production URL del webhook en n8n

En Make

  1. Importa el blueprint
    Crea un escenario nuevo, abre el menú ⋮ arriba a la derecha y elige Import blueprint. Selecciona el archivo descargado y haz clic en Import blueprint.Menú del escenario en Make con la opción Import blueprint
  2. Revisa el escenario
    El escenario llega con cinco pasos: LinkedScope llama a este webhook, Obtener negocios del CRM (sustituir), Agrupar páginas del CRM, Convertir a JSON y Responder a LinkedScope (mapa de campos).
    Ninguno se ejecuta una vez por negocio: quien convierte los campos es LinkedScope.Blueprint de LinkedScope importado en Make, con cinco pasos y coste fijo
  3. Crea el webhook con API key
    Abre LinkedScope llama a este webhook y haz clic en Add. Ponle un nombre al webhook y, en API Key authentication, haz clic en Add API key y después en Add.
    Rellena API key value con un valor largo y aleatorio y haz clic en Create y en Save. Ese valor es el token que va en LinkedScope.Creación del webhook en Make con API Key authentication y una clave nueva
  4. Copia la URL del webhook
    En el mismo paso, copia la dirección de Webhook URL y guarda el módulo.Dirección Webhook URL del módulo de webhook en Make
  5. Conecta tu CRM
    Sustituye Obtener negocios del CRM (sustituir) por una petición a la API de tu CRM (URL, cabeceras y paginación) o por un módulo de búsqueda de tu CRM, como Search deals.
    Deja activada la opción Return error if HTTP request fails: si el CRM falla, LinkedScope tiene que recibir el error y no una lista vacía.
    Si usas un módulo del CRM, abre Agrupar páginas del CRM, elige ese módulo en Source Module y marca Select All.
    LinkedScope encuentra la lista por sí solo cuando llega en data, results, items o records.Array aggregator de Make con el módulo de búsqueda del CRM como origen y el campo data marcado
  6. Trae todos los negocios
    Si la API de tu CRM divide la lista en páginas, abre el módulo de búsqueda y elige en Pagination type el tipo que indica la documentación del CRM.
    La plantilla ya trae Output format en Array of pages y Limit en 10000; si cambias el módulo, revisa esos dos campos, porque el valor predeterminado de Make es 100 y entonces solo los 100 primeros negocios llegan a LinkedScope.
    Los módulos de búsqueda de los CRM también suelen venir con un límite bajo; auméntalo o marca la opción de traer todos los resultados.
    Filtrar por los últimos 24 meses reduce el número de páginas. La paginación no encarece el escenario: el módulo consume 1 crédito con cualquier número de páginas.
  7. Ajusta el mapa de campos
    Abre Responder a LinkedScope (mapa de campos). En Body, el fieldMap une cada campo de LinkedScope (a la izquierda) con un campo del negocio en tu CRM (a la derecha).
    Cambia solo los textos de la derecha, siempre entre comillas: usa un punto para campos dentro de otros (org.name) y [0] para el primer elemento de una lista (owners[0].email).
    Borra las líneas que tu CRM no tenga, manteniendo la coma al final de todas menos de la última, y no toques la línea deals.Body de la respuesta de Make con el fieldMap de LinkedScope
  8. Guarda y activa el escenario
    Guarda el escenario y activa la programación Immediately as data arrives.

Coste en Make
El escenario consume unos 5 créditos por llamada, con cualquier cantidad de negocios o de páginas del CRM. El webhook se llama al conectar, al probar, en la sincronización automática de lunes a viernes y cada vez que alguien hace clic en Sincronizar CRM.

Con el flujo listo, ve al Paso 3: conecta en LinkedScope. En la prueba, comprueba que los negocios de muestra aparecen con nombre, empresa y etapa.

Paso 1: monta el webhook

  1. Crea un disparador de webhook
    En n8n, usa el nodo Webhook. En Make, el módulo Custom webhook. Configura el método POST y copia la URL de producción (HTTPS).
  2. Valida el token
    Define un secreto largo y aleatorio. Al inicio del flujo, compara la cabecera recibida con ese secreto. Si no coincide, responde 401 o 403 y termina.
  3. Busca los negocios en el CRM
    Consulta la API del CRM y trae los negocios creados o cerrados en los últimos 24 meses, con la empresa y el responsable de cada uno.
  4. Mapea al formato de LinkedScope
    Convierte cada negocio en los campos de la tabla de abajo.
  5. Responde con JSON
    Devuelve HTTP 200, Content-Type: application/json y la lista de negocios. No dejes que el flujo responda antes de terminar la búsqueda.

Qué cabecera envía LinkedScope

  • Si pegas solo el secreto en el campo Token de autenticación, LinkedScope envía la cabecera auth: <secreto>. Si el webhook la rechaza (401/403), lo reintenta con x-make-apikey: <secreto>, el estándar de clave de API de Make.
  • Para usar otra cabecera, pégala con el formato Nombre-Cabecera: secreto, por ejemplo Authorization: Bearer abc123. El nombre solo admite letras, números y guiones.

Seguridad del token
Nunca expongas el secreto en el front-end ni en repositorios. Usa un valor largo y aleatorio y cámbialo si sospechas de una filtración.

Paso 2: formato de la respuesta

Lo más sencillo es devolver un array JSON de negocios:

[
  {
    "dealId": "D-1001",
    "dealName": "Enterprise plan",
    "dealLink": "https://crm.example.com/deals/D-1001",
    "pipeline": "Sales",
    "dealStage": "Proposal sent",
    "dealValue": 15000,
    "createdAt": "2026-03-01T10:23:00Z",
    "closedAt": null,
    "isWon": null,
    "ownerName": "Ana Silva",
    "ownerEmail": "[email protected]",
    "companyName": "ACME",
    "companyDomain": "acme.com",
    "linkedinCompanyUrl": "https://www.linkedin.com/company/acme"
  }
]
CampoImportanciaDescripción
dealIdRecomendadoID único del negocio. Evita duplicados.
dealNameEsencialNombre del negocio.
dealValueEsencialImporte numérico, sin símbolo de moneda.
dealStageEsencialEtapa actual. Se usa en los filtros por etapa.
createdAtEsencialFecha de creación en ISO 8601. Es la base para medir la influencia.
companyNameEsencialNombre de la empresa del negocio.
companyDomainMuy recomendadoDominio del sitio web de la empresa (p. ej., acme.com). Mejora mucho la coincidencia.
linkedinCompanyUrl o linkedinCompanyIdMuy recomendadoPágina de la empresa en LinkedIn (/company/slug o /company/123) o su ID numérico. Es la coincidencia más precisa.
isWonRecomendadotrue (ganado), false (perdido) o null (abierto). También acepta textos como won, lost, closedwon, closedlost.
statusRecomendadoAlternativa a isWon: won, lost u open. Es el campo que usan las plantillas.
closedAtRecomendadoFecha de cierre, para negocios ganados o perdidos.
ownerName y ownerEmailRecomendadoResponsable del negocio. Sin ellos, el filtro por responsable queda vacío.
dealLinkOpcionalURL del negocio en el CRM, para abrirlo desde la lista de negocios.
pipelineOpcionalNombre del pipeline.

Los campos que faltan no rompen la importación: LinkedScope aplica valores predeterminados. Pero, sin empresa ni fechas, el negocio no puede vincularse con LinkedIn Ads.

También se acepta un objeto con deals y, opcionalmente, listas de usuarios y empresas.

Así, los negocios pueden llevar solo los IDs de responsable y empresa, y LinkedScope completa nombre, email y dominio:

{
  "deals": [ { "dealId": "D-1001", "dealName": "Enterprise plan", "ownerId": "u-7", "companyId": "c-42" } ],
  "users": [ { "id": "u-7", "name": "Ana Silva", "email": "[email protected]" } ],
  "companies": [ { "id": "c-42", "name": "ACME", "domain": "acme.com" } ]
}

Nombres aceptados para las listas: deals, data o records para negocios; users, owners, members o workspace_members para responsables; companies, organizations o accounts para empresas.

Mapa de campos (fieldMap)

En lugar de convertir cada negocio en tu flujo, puedes devolver los negocios tal como los entrega el CRM junto con un fieldMap, que indica en qué campo de cada negocio está cada dato.

LinkedScope aplica el mapa. Los nombres de la izquierda son los campos de la tabla de arriba; las rutas de la derecha aceptan punto (org.name) y posición en una lista (owners[0].email).

La lista de negocios puede llegar dentro de páginas (data, results, items o records).

Si el mapa tiene un error de formato o un nombre de campo desconocido, la prueba avisa de que el mapa de campos no es válido.

{
  "fieldMap": {
    "dealId": "id",
    "dealName": "title",
    "companyName": "org.name",
    "companyDomain": "org.website",
    "dealStage": "stage.name",
    "status": "status",
    "dealValue": "value",
    "createdAt": "add_time",
    "closedAt": "close_time",
    "ownerEmail": "owners[0].email"
  },
  "deals": [
    { "data": [ { "id": 1001, "title": "Enterprise plan", "org": { "name": "ACME", "website": "acme.com" }, "stage": { "name": "Proposal sent" }, "status": "open", "value": 15000, "add_time": "2026-03-01T10:23:00Z" } ] }
  ]
}

Paso 3: conecta en LinkedScope

  1. Abre las integraciones
    En Ajustes > Integraciones, busca la tarjeta con el texto Conecta cualquier CRM con API usando tu cuenta de n8n, Make o similar.Tarjeta Conecta cualquier CRM con API en la pestaña Integraciones
  2. Rellena los dos campos
    En URL del webhook disparador, pega la URL del webhook (debe empezar por https://). En Token de autenticación, pega el secreto o la cabecera completa.
  3. Guarda
    Haz clic en Guardar. LinkedScope llama al webhook en ese momento para validarlo. Si la llamada falla, la conexión no se guarda y aparece un mensaje de error.
  4. Prueba la respuesta
    Con la conexión guardada, haz clic en Probar.
    La ventana Prueba de integración con CRM muestra cuántos negocios se recibieron y mapearon, el periodo cubierto y una muestra. Comprueba que nombres, importes y empresas sean correctos.

Después de conectar

  • La primera sincronización empieza enseguida. Después, LinkedScope llama al webhook de lunes a viernes a las 03:00 UTC.
  • Para actualizar al momento, usa Sincronizar CRM en la pestaña Integraciones.
  • La conexión vía webhook no tiene selector de pipelines. Para analizar una sola unidad de negocio, filtra los negocios en el propio flujo antes de responder.
  • La alerta de permiso limitado no aplica a la conexión vía webhook: LinkedScope recibe exactamente lo que devuelve tu flujo.

Errores comunes

SíntomaCausa probableCómo resolverlo
Error al guardar o probarWebhook caído, URL incorrecta o token rechazado (401/403).Comprueba que el flujo esté activo en producción y que el secreto sea idéntico en ambos lados.
“Ingresa una URL válida”La URL no empieza por http:// o https://.Usa la URL de producción completa del webhook, en HTTPS.
La prueba muestra 0 negociosEl flujo respondió antes de buscar los datos, o devolvió la lista dentro de un campo con otro nombre.Responde solo al final del flujo y usa un array o un objeto con deals.
Negocios sin empresa en Pipeline ImpactFaltan companyDomain y linkedinCompanyUrl.Incluye el dominio o la página de LinkedIn de cada empresa.
Filtro de responsable o etapa vacíoFaltan ownerName/ownerEmail o dealStage.Envía esos campos en todos los negocios.
La prueba muestra exactamente 100, 200 o 500 negociosSolo llegó la primera página, o el módulo de búsqueda se detuvo en su límite predeterminado.Activa la paginación de la petición con Limit en 10000 (en Make, con Output format en Array of pages) o aumenta el límite del módulo de búsqueda del CRM.
Sincronización lenta o con timeoutEl flujo busca muchos detalles uno a uno.Pagina las consultas al CRM y limita la búsqueda a los últimos 24 meses.

Preguntas frecuentes

¿LinkedScope envía algún dato a mi webhook?

No. La llamada es un POST sin cuerpo. Solo se envía la cabecera de autenticación.

¿Con qué frecuencia se llama al webhook?

Al conectar, al probar, en la sincronización automática (de lunes a viernes, 03:00 UTC) y cada vez que alguien hace clic en Sincronizar CRM.

Las respuestas recientes quedan en caché unas horas.

¿Puedo usar Zapier?

Sí, siempre que el flujo reciba el webhook y devuelva la respuesta JSON en la misma llamada. Los webhooks que solo responden “recibido” y procesan después no funcionan.

Mi CRM tiene integración nativa. ¿Debo usar la conexión vía webhook?

No. Las integraciones nativas tienen selección de pipelines y alertas de permiso, y no requieren mantener un flujo. Usa la conexión vía webhook solo para CRM sin integración nativa.

¿Puedo importar contactos o enviar leads al CRM con la conexión vía webhook?

No. La conexión vía webhook es de solo lectura, así que la importación automática de contactos y el envío de Leads y Spark Prospects al CRM no están disponibles.

Para enviar leads a tu CRM, usa un webhook de la categoría Leads.

¿Necesitas ayuda?

Escríbenos a [email protected], usa el menú Ayuda dentro de LinkedScope o nuestra página de contacto.