Cómo inscribir automáticamente un contacto de HubSpot en una campaña de Dux-Soup
Este tutorial le guiará a través de la configuración de un flujo de trabajo de HubSpot para activar automáticamente una acción «Inscribir» de Dux-Soup para un contacto específico. Este proceso utiliza una acción de código personalizado en HubSpot para comunicarse de forma segura con la API de Dux-Soup.
Casos de uso:
- Combine el correo electrónico con LinkedIn para una divulgación multicanal en el flujo de trabajo.
- Inscribir automáticamente a alguien en una secuencia de HubSpot y una campaña de Dux-Soup.
- Cuando se añada a un nuevo segmento, etapa de cliente potencial o acuerdo, se contactará automáticamente a través de LinkedIn.
- Enviar una solicitud de conexión o un mensaje directo a alguien cuando rellene un formulario en su sitio web (gracias por ponerse en contacto con nosotros y descargar esto, nos encantaría conectar con usted).
Requisitos previos
Antes de comenzar, asegúrese de tener lo siguiente:
- Una cuenta de HubSpot con acceso a Workflows (nivel HubSpot Pro o superior).
- Una licencia Dux-Soup Turbo o Dux-Soup Cloud (necesaria para acceder a la API).
- El conector Dux-Soup HubSpot se instala desde Dux-Dash (Cómo instalar).

- Un contacto de HubSpot que tiene el campo Perfil de LinkedIn rellenado con su perfil de LinkedIn correspondiente (por ejemplo, https://www.linkedin.com/in/username/) en el campo «Perfil de LinkedIn», NO la URL de LinkedIn ni ningún otro dato.

Paso 1: Crea tu campaña en Dux-Soup
En primer lugar, debe crear en Dux-Soup la campaña en la que desea inscribir a los contactos.
- Ve a tu Dux-Dash.
- Haga clic en «Nueva campaña» y asígnele un nombre fácil de recordar (por ejemplo, visita-hs).
- Añade los pasos que desees en la campaña (por ejemplo, una visita al perfil, una solicitud de conexión, etc.).
- Haga clic en [GUARDAR].
- Es fundamental copiar el ID de la campaña. El ID debe copiarse exactamente tal y como aparece, por ejemplo, «visit-hs». Consulte la captura de pantalla siguiente.

Paso 2: Obtenga sus credenciales de API de Dux-Soup
Necesitas obtener tu ID de usuario y clave API únicos para autenticar tus solicitudes.
- En Dux-Dash, ve a la pestaña Opciones.
Haga clic en la extensión Dux-Soup y haga clic en el símbolo del «engranaje».

- Haga clic en la pestaña Conectar.
- Desplácese hacia abajo hasta la sección «Mando a distancia Dux-Soup ».
- Copie su ID de usuario y su clave. Guárdelos en un lugar seguro y temporal.

Si no ves la pestaña Conectar, activa el modo Experto y vuelve a intentarlo (más información aquí).
Paso 3: Crear el flujo de trabajo de HubSpot
Ve a HubSpot para crear el flujo de trabajo que activará la acción.
- En HubSpot, ve a Automatización > Flujos de trabajo.
- Haga clic en «Crear flujo de trabajo» > «Desde cero».
- Seleccione «Basado en contactos» y haga clic en «Siguiente».
- Configura tu desencadenante de la inscripciónEste es el evento que iniciará la automatización.
- Activado manualmente (esto es útil para conectarse a otros flujos de trabajo)
- Cuando una persona nueva termina una secuencia
- Cuando se añade una nueva persona a una lista de segmentos
- El ejemplo que estamos utilizando se activa manualmente, lo que significa que se activará cuando añadamos manualmente un contacto al flujo de trabajo.
- Haga clic en el icono + para añadir una acción.
Paso 4: Configurar la acción de código personalizado
Añade una acción «Código personalizado» y configúrala de forma segura.
- En el panel «Elegir una acción», desplácese hacia abajo hasta «Operaciones de datos» y seleccione «Código personalizado».
- En el panel izquierdo, configura lo siguiente:
- En el «Secretos» sección, haga clic en «Elige un secreto» > «Añadir secreto» e introduce tu Dux-Soup. API Llave.
- Por ejemplo, SCOTT_WRIGHT_DUX_SOUP_API_KEY.
- Pega la clave API que copiaste de la pestaña Dux-Soup Connect en Opciones del paso 2. Normalmente es una cadena de números y letras.
- Vuelve a hacer clic en «Añadir secreto».

- Asigna la propiedad de LinkedIn. Esto le indica al código qué campo de HubSpot contiene la URL de LinkedIn del contacto.
- En la sección «Propiedad que se incluirá en el código», haga clic en «Añadir propiedad».
- Clave: ds_liprofile
- Propiedad: haz clic en «Seleccionar una propiedad» y elige la propiedad de contacto de HubSpot que almacena la URL del perfil de LinkedIn. Debe ser el campo que contiene la URL del perfil. No utilices otros campos como «URL de LinkedIn» si no son la fuente de datos correcta.
- Perfil de LinkedIn (distingue entre mayúsculas y minúsculas, NO es la URL del perfil de LinkedIn ni la URL de LinkedIn).
- Confirma que dice ds_liprofile (véase más abajo).

Paso 5: Añadir el código personalizado
- En el cuadro principal «Código», asegúrate de que el «Idioma» esté configurado en Node.js 18.x.
- Elimine todo el código del marcador de posición del cuadro.
- Copia y pega todo el script que aparece a continuación.
- Asegúrese de sustituir los nombres de claves confidenciales por los que haya creado a continuación.
- Además, asegúrate de sustituir el nombre de la campaña que pretendes utilizar.
// Import the required libraries. 'axios' is for making HTTP requests, 'crypto' is for the signature.
const axios = require('axios');
const crypto = require('crypto');
exports.main = async (event, callback) => {
// --- 1. Get your Secrets ---
// These names MUST exactly match the Secrets you created in Step 4.
const apiKey = process.env.SCOTT_WRIGHT_DUX_SOUP_API_KEY;
const userId = process.env.SCOTT_WRIGHT_DUX_SOUP_USER_ID;
// --- 2. Get your Contact's LinkedIn URL ---
// This 'ds_liprofile' MUST exactly match the Key you created in Step 4.
const profileUrl = event.inputFields['ds_liprofile'];
// Check if we have all the data we need
if (!profileUrl) {
console.error("LinkedIn Profile URL is missing.");
return callback({
outputFields: {
hs_execution_state: "FAILED",
status: "error",
message: "LinkedIn Profile URL is missing from contact."
}
});
}
// --- 4. Build the API Request (just like your script) ---
const apiUrl = `https://app.dux-soup.com/xapi/remote/control/${userId}/queue`;
const timestamp = Date.now();
// This payload format is based on your API Test Tool's cURL command.
const payload = {
targeturl: apiUrl,
userid: userId,
timestamp: timestamp,
params: {
profile: profileUrl,
force: true, // 'force' is included from your test tool setup
campaignid: "visit-hs" // <-- This MUST match your Campaign ID from Step 1.
},
command: "enroll"
};
// Convert the payload object to a JSON string
const payloadString = JSON.stringify(payload);
// --- 5. Generate the HMAC-SHA1 Signature ---
const hmac = crypto.createHmac('sha1', apiKey);
hmac.update(payloadString);
const signature = hmac.digest('base64');
// --- 6. Send the Request to Dux-Soup ---
try {
const response = await axios.post(apiUrl, payloadString, {
headers: {
'X-Dux-Signature': signature,
'Content-Type': 'application/json'
}
});
// Success! Send data back to HubSpot.
console.log("Successfully queued visit:", response.data);
callback({
outputFields: {
status: 'success',
message: JSON.stringify(response.data)
}
});
} catch (error) {
// Handle any errors
const errorMessage = error.response ? JSON.stringify(error.response.data) : error.message;
console.error("Error queuing visit:", errorMessage);
// Send error data back to HubSpot
callback({
outputFields: {
status: 'error',
message: errorMessage
}
});
}
};
Paso 6: Configuración final y pruebas
- Personaliza el ID de la campaña: en el código que acabas de pegar, busca la línea 47: campaignid: «visit-hs». Cambia «visit-hs» por el ID exacto de la campaña que has creado en el paso 1.
- Haga clic en «Guardar» en la parte superior derecha del panel de acciones.
- Ahora puede «Probar acción» en el panel izquierdo seleccionando un contacto que tenga una URL de perfil de LinkedIn.
- Una vez que esté satisfecho, haga clic en «Revisar y publicar» para activar su flujo de trabajo.
Solución de problemas
- «Mi flujo de trabajo dice "Éxito", pero no ha pasado nada». La API de Dux-Soup funciona como una cola. El «éxito» de HubSpot significa que el comando se ha enviado correctamente. La extensión Dux-Soup para Chrome debe estar en ejecución e iniciar sesión en LinkedIn para recoger el comando y ejecutarlo. Comprueba tu página de actividad en cola de Dux-Dash para ver el comando en espera.
- «Mi contacto de prueba no se está inscribiendo» Si ha realizado una prueba con un contacto (por ejemplo, con una acción de visita), Dux-Soup puede «bloquear» ese contacto e impedir que se inscriba. Para solucionar esto, vaya a su flujo del embudo de Dux-Dash, busca el contacto, haz clic en la casilla de verificación situada junto a su nombre y selecciona «Qualify Out» (Descalificar). Esto restablecerá el contacto, haciéndolo apto para la inscripción.
- Uso de la campaña «Predeterminada». Como se indica en su documento, si envía un identificador de campaña que no existe en su Dux-Dash, Dux-Soup inscribirá automáticamente al contacto en su campaña «Predeterminada».
- Dux-Soup no permite inscribir a una misma persona en la misma campaña. Por lo tanto, es posible que tengas que crear una nueva campaña para una persona cuando realices varias pruebas.
Notas
- Un flujo de trabajo es para un usuario de Dux-Soup.
- ¿Quieres tener varios usuarios Dux? Crea varios flujos de trabajo independientes.
- Un flujo de trabajo está vinculado a una campaña específica para ese usuario.
- ¿Quieres varias campañas diferentes para distintos casos de uso? Crea flujos de trabajo de HubSpot independientes para cada campaña de Dux-Soup para ese usuario de Dux-Soup.
- Utiliza una campaña y, cuando quieras cambiarla, ajústala en Dux-Dash. . Más información sobre cómo editar campañas activas aquí.
- Es posible que desee que sus activadores en HubSpot sean de «inscripción manual». Esto le permitirá inscribirse fácilmente desde otras áreas de HubSpot, como Segmentos (listas), seleccionando a quién desea en la vista de segmentos de HubSpot y luego inscribiéndolos en el flujo de trabajo de HubSpot que los inscribe en la campaña de Dux-Soup.
- Utiliza este flujo de trabajo de HubSpot para iniciar/detener o activar otros flujos de trabajo en HubSpot para diferentes tareas.
Para cualquier consulta relacionada con este flujo de trabajo, póngase en contacto con Scott Wright, director de ventas de Dux-Soup, a través del correo electrónico scott@dux-soup.com.