¿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
- Creas un webhook en n8n, en Make o en tu backend.
- LinkedScope llama a ese webhook con POST, sin cuerpo, enviando un token de autenticación en una cabecera.
- Tu flujo valida el token, busca los negocios en el CRM y devuelve un JSON con la lista.
- 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.
- Plantilla para n8n (.json): workflow con una nota de instrucciones en español
- Blueprint para Make (.json): escenario con los pasos nombrados en español
En n8n
- 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….
- 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.
- Protege el webhook
Abre LinkedScope llama a este webhook.
En Credential for Header Auth, elige Create new credential, rellena Name conauthy 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.
- 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. - 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 usadata). Si el nodo de tu CRM ya devuelve un elemento por negocio, elimina este paso. - 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 sondealName,companyName,dealStageycreatedAt, y la tabla del Paso 2 los explica todos.
- 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.
En Make
- 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.
- 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.
- 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.
- Copia la URL del webhook
En el mismo paso, copia la dirección de Webhook URL y guarda el módulo.
- 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 endata,results,itemsorecords.
- 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. - Ajusta el mapa de campos
Abre Responder a LinkedScope (mapa de campos). En Body, elfieldMapune 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íneadeals.
- 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
- 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). - 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. - 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. - Mapea al formato de LinkedScope
Convierte cada negocio en los campos de la tabla de abajo. - Responde con JSON
Devuelve HTTP 200,Content-Type: application/jsony 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 conx-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 ejemploAuthorization: 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"
}
]| Campo | Importancia | Descripción |
|---|---|---|
dealId | Recomendado | ID único del negocio. Evita duplicados. |
dealName | Esencial | Nombre del negocio. |
dealValue | Esencial | Importe numérico, sin símbolo de moneda. |
dealStage | Esencial | Etapa actual. Se usa en los filtros por etapa. |
createdAt | Esencial | Fecha de creación en ISO 8601. Es la base para medir la influencia. |
companyName | Esencial | Nombre de la empresa del negocio. |
companyDomain | Muy recomendado | Dominio del sitio web de la empresa (p. ej., acme.com). Mejora mucho la coincidencia. |
linkedinCompanyUrl o linkedinCompanyId | Muy recomendado | Página de la empresa en LinkedIn (/company/slug o /company/123) o su ID numérico. Es la coincidencia más precisa. |
isWon | Recomendado | true (ganado), false (perdido) o null (abierto). También acepta textos como won, lost, closedwon, closedlost. |
status | Recomendado | Alternativa a isWon: won, lost u open. Es el campo que usan las plantillas. |
closedAt | Recomendado | Fecha de cierre, para negocios ganados o perdidos. |
ownerName y ownerEmail | Recomendado | Responsable del negocio. Sin ellos, el filtro por responsable queda vacío. |
dealLink | Opcional | URL del negocio en el CRM, para abrirlo desde la lista de negocios. |
pipeline | Opcional | Nombre 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
- 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.
- 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. - 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. - 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íntoma | Causa probable | Cómo resolverlo |
|---|---|---|
| Error al guardar o probar | Webhook 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 negocios | El 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 Impact | Faltan companyDomain y linkedinCompanyUrl. | Incluye el dominio o la página de LinkedIn de cada empresa. |
| Filtro de responsable o etapa vacío | Faltan ownerName/ownerEmail o dealStage. | Envía esos campos en todos los negocios. |
| La prueba muestra exactamente 100, 200 o 500 negocios | Solo 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 timeout | El 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.











