Ir al contenido principal

Guía de integración: HubSpot

Esta guía te muestra cómo enviar mensajes SMS automáticamente desde HubSpot usando ClickSend y acciones de código personalizado en flujos de trabajo.

Actualizado hoy

Requisitos previos

Antes de comenzar, necesitarás:

  • Una cuenta de ClickSend

  • Una cuenta de HubSpot

  • HubSpot Operations Hub Professional o superior – Ver planes


Paso 1: Crear un disparador de flujo de trabajo

  1. En HubSpot, ve a Automatización > Flujos de trabajo.

  2. Haz clic en Crear flujo de trabajo.

  3. Escoge Basado en contactos > Flujo de trabajo en blanco, ponle un nombre y luego haz clic en Siguiente.

  4. Haz clic en Configurar disparadores, luego define cómo entran los contactos en el flujo de trabajo.

    • Ejemplo: Usa un filtro como "El número de teléfono no contiene 'a'" para incluir todos los números de teléfono válidos.

  5. Haz clic en Aplicar filtro, prueba los criterios si es necesario y luego haz clic en Guardar.


Paso 2: Crear una aplicación privada en HubSpot

  1. En una nueva pestaña, ve a Ajustes > Integraciones > Aplicaciones privadas.

  2. Haz clic en Crear una aplicación privada.

  3. Establece el nombre y la descripción de la aplicación.

  4. Selecciona los alcances necesarios (Objetos de CRM > Contactos – acceso de lectura).

  5. Haz clic en Crear aplicación, luego copia el Token de acceso para más tarde.


Paso 3: Añadir la acción de SMS en tu flujo de trabajo

  1. De vuelta en el editor del flujo de trabajo, haz clic en el botón + para añadir una acción.

  2. Escoge Código personalizado en la lista de acciones.

  3. En la sección Secretos:

    1. Haz clic en Escoger un secreto > Añadir secreto

    2. Añade los siguientes secretos:

      • HPKEY – El token de tu aplicación privada de HubSpot

      • CSUSERNAME – Tu nombre de usuario de ClickSend (del panel de control)

      • CSKEY – Tu clave de API de ClickSend


Paso 4: Añadir y personalizar el código

  1. Elimina el bloqueo de código existente.

  2. Asegúrate de que HubSpot Client v3 esté seleccionado.

  3. Copia y pega el siguiente código:

const hubspot = require('@hubspot/api-client');
var axios = require('axios');

exports.main = async (event, callback) => {
try {
const username = process.env.CSUSERNAME;
const key = process.env.CSKEY;
const hubspotClient = new hubspot.Client({ accessToken: process.env.HPKEY });

const result = Buffer.from(`${username}:${key}`).toString('base64');
const contact = await hubspotClient.crm.contacts.basicApi.getById(
event.object.objectId,
['phone', 'firstname', 'lastname']
);

const phone = contact.body.properties.phone;
const firstName = contact.body.properties.firstname || '';
const lastName = contact.body.properties.lastname || '';
const message = `Hola ${firstName}, este es un mensaje de prueba de HubSpot.`; // Personalizar según sea necesario

const data = JSON.stringify({
messages: [{
body: message,
to: phone,
from: "", // Opcional: añadir ID de remitente
source: "Hubspot"
}]
});

const config = {
method: 'post',
url: 'https://rest.clicksend.com/v3/sms/send',
headers: {
'Content-Type': 'application/json',
'Authorization': `Basic ${result}`
},
data: data
};

await axios(config);
} catch (err) {
console.error(err);
throw err;
}

callback({
outputFields: {
email: event.inputFields['email'],
phone: event.inputFields['phone'],
},
});
};

4. Haz clic en Guardar.


Prueba tu flujo de trabajo (opcional)

  1. Haz clic en Probar en el flujo de trabajo.

  2. Selecciona un contacto con un número de teléfono y ejecuta la prueba.

  3. Si tiene éxito, verás "SUCCESS" en la salida.


Paso 5: Revisar y publicar

  1. Haz clic en Revisar y publicar.

  2. Revisar las opciones de inscripción, anulación de inscripción y plazos.

  3. Haz clic en Activar para activar el flujo de trabajo.


Hecho

Tu flujo de trabajo ahora está activo y enviará un SMS a través de ClickSend cada vez que un contacto cumpla con tus condiciones del disparador.

Para obtener ayuda con la resolución de problemas, [ponte en contacto con nuestro equipo de asistencia.]

¿Ha quedado contestada tu pregunta?