Activa un mensaje personalizado de solicitud de conexión de IA desde tu CRM a Dux-Soup utilizando n8n.

Dificultad: Avanzada; incluye n8n, JavaScript, API de Zoho CRM, API de Dux-Soup y API de OpenAI.


Esta integración de n8n te permite enviar automáticamente solicitudes de conexión semi-personalizadas y aleatorias en LinkedIn con Dux-Soup cada vez que se produce un nuevo evento de cliente potencial en CRM.

En esta guía, utilizamos Zoho CRM como ejemplo.


Paso 1: crea un webhook en n8n y conéctalo a Zoho CRM.


  1. Crear un nodo Webhook
  2. Establezca el método HTTP en POST.
  3. Copiar la URL del webhook

  1. Ahora pega la URL del webhook n8n dentro de la configuración del webhook de Zoho.

Zoho → Configuración → Automatización → Webhooks → Configurar Webhook

Pega el webhook, asegúrate de que el método sigue siendo POST, selecciona el módulo «Leads» y guarda la configuración.

  1. El webhook debe estar vinculado a una regla de flujo de trabajo para que se active.

Zoho → Automatización → Reglas de flujo de trabajo → Crear regla

Establezca una regla para cuando se cree un cliente potencial, con la condición de que la URL del perfil de LinkedIn no esté vacía. Si se cumple esta condición, se debe activar el webhook.

Esto es solo un ejemplo; es posible que tengas un nombre de campo diferente que contenga la URL de LinkedIn.

  1. Vuelve al flujo de trabajo n8n y haz clic en «Escuchar evento de prueba».

Deberías ver los campos de salida en la parte derecha.


Paso 2: Generación de mensajes OpenAI


  1. Añade el nodo OpenAI Chat Model en n8n. Este nodo se expande en tres componentes:

    • Cuando se crea el chat (desencadenante: no es necesario para este flujo de trabajo)
    • Cadena LLM básica (donde introducirás tu mensaje)
    • OpenAI (donde seleccionas tu cuenta API y tu modelo)

  1. Elimine el desencadenador «Cuando se crea el chat»: en su lugar, estamos utilizando Zoho Webhook como desencadenador.
  2. Conecta Webhook → Cadena LLM básica como se muestra en la captura de pantalla.

  1. Abre el nodo Basic LLM Chain y configura:

Fuente para la indicación → Definir a continuación


Dado que OpenAI no puede navegar por las URL de LinkedIn, solo debe utilizar los datos que usted le proporcione, sin extraer información de perfiles ni leer en tiempo real. A continuación, se muestra la indicación recomendada diseñada para la automatización con marcadores de posición de Dux-Soup:

Escribe un mensaje único de conexión de LinkedIn para la divulgación utilizando los marcadores de posición que se indican a continuación. 
Los marcadores de posición deben permanecer EXACTOS y sin modificar: no los sustituyas, reescribas ni ajustes el formato.

Marcadores de posición obligatorios:
_FN_ (siempre incluido)
Elige al azar UNO de los siguientes, pero no más de uno:
_CN_ / _TI_ / _IN_

Utilice cualquiera de estos marcadores de posición que seleccione y redacte el mensaje de forma natural en torno a él.
Nunca utilice más de uno de (_CN_, _TI_, _IN_) en un solo mensaje.

Ejemplo de lógica (NO copiar directamente):
Si utiliza _CN_ → «Hola, _FN_, me gusta conectar con personas de empresas como _CN_».
Si utiliza _TI_ → «Hola, _FN_, es fantástico ver a profesionales que trabajan como _TI_».
Si utiliza _IN_ → «Hola, _FN_, me gusta conocer a gente de _IN_».

Reglas:
- Máximo 280 caracteres.
- Tono cálido, humano y profesional, sin vender ni promocionar.
- NO invente detalles del perfil. Si faltan datos necesarios, escriba un mensaje general pero amistoso.
- El mensaje debe sonar natural y no repetitivo.

Requisito de variación:
Antes de escribir, elija en silencio una semilla de estilo aleatoria del 1 al 10 para variar el tono y la estructura de la frase.
Utilice la semilla para producir resultados diferentes cada vez, alterando la redacción, el ritmo y las frases iniciales.
NO revele la semilla.

Mapeo de tonos:
1-3 → conciso y cálido
4-6 → pulido y profesional
7-8 → ligeramente más detallado
9-10 → amigable y agradable

Ahora genere el mensaje utilizando _FN_ y EXACTAMENTE UN marcador de posición elegido entre (_CN_, _TI_, _IN_).
  1. Seleccione su cuenta y modelo en el componente OpenAI.

Para que esto funcione, es necesario que dispongas de crédito OpenAI o de un método de pago vinculado.

  1. Vuelve al componente Basic LLM Chain y ejecuta el paso de prueba. Deberías ver el mensaje en la parte derecha.

Paso 3: Nodo de código (generar HMAC + carga útil)

  1. Añade un nodo Código después de la cadena LLM básica. En esta guía, utilizamos Código en JavaScript, pero también puedes hacerlo en Python.

  1. Utiliza este código:
// 1. Read data from previous nodes

// From the Webhook node (Zoho payload)
const webhookData = $node["Webhook"].json;

// If Zoho sends the profile in the body as "url"
const profileUrl = webhookData.headers.url;   // <-- change 'url' if your field name is different

// From the Basic LLM Chain (your AI-written message)
const llmData = $node["Basic LLM Chain"].json;
const messageText = llmData.text || "$input.first().json.text";   // The message the AI wrote

// 2. Dux-Soup credentials
const apiKey = 'DUXAPIKEY';  //  your Dux-Soup API key here
const userId = 'DUXUSERID';  // your Dux-Soup userid

// 3. Build payload Dux-Soup expects
const payload = {
  targeturl: `https://app.dux-soup.com/xapi/remote/control/${userId}/queue`,
  userid: userId,
  timestamp: Date.now(),
  command: 'connect',              // or 'message'
  params: {
    profile: profileUrl,
    messagetext: messageText
  }
};

// 4. Sign payload with HMAC SHA1 (Base64)
const crypto = require('crypto');
const hmac = crypto
  .createHmac('sha1', apiKey)
  .update(JSON.stringify(payload))
  .digest('base64');

// 5. Return for HTTP Request node
return [
  {
    json: {
      payload,
      hmac,
      profileUrl,
      messageText,
    },
  },
];

Paso 4: nodo de solicitud HTTP a Dux-Soup


  1. Añade un nodo de solicitud HTTP con los siguientes campos:
Campo Valor
URL https://app.dux-soup.com/xapi/remote/control/<USER>/queue
Método PUBLICAR
Autenticación Ninguno
  1. Añade los siguientes encabezados:
Nombre Valor
Tipo de contenido application/json
Firma X-Dux {{$json["hmac"]}}

  1. Añade el cuerpo de la solicitud (RAW JSON, sin envolver en Body:):
{{$json["payload"]}}


  1. Ejecute el paso. La solicitud de conexión de LinkedIn ahora se pone en cola automáticamente en la actividad en cola de Dux-Soup.

Notas importantes

Asegúrate de cambiar al webhook de producción después de que la prueba haya sido satisfactoria y actualiza la configuración del webhook de tu CRM.

La clave API y la URL de control remoto se pueden encontrar en la extensión Dux-Soup → Opciones → pestaña Conectar.