Como inscrever automaticamente um contato do HubSpot em uma campanha do Dux-Soup

Este tutorial irá guiá-lo na configuração de um fluxo de trabalho da HubSpot para acionar automaticamente uma ação “Inscrever” do Dux-Soup para um contato específico. Esse processo usa uma ação de código personalizado na HubSpot para se comunicar com segurança com a API do Dux-Soup.

Casos de uso: 

  • Combine e-mail com LinkedIn para divulgação multicanal no fluxo de trabalho
  • Inscreva automaticamente alguém em uma sequência do HubSpot e em uma campanha do Dux-Soup 
  • Quando adicionado a um novo segmento, estágio de lead ou negócio, entre em contato automaticamente pelo LinkedIn.
  • Envie uma solicitação de conexão ou mensagem direta para alguém quando essa pessoa preencher um formulário no seu site (obrigado por entrar em contato conosco e fazer o download, adoraríamos nos conectar). 

Pré-requisitos

Antes de começar, certifique-se de que possui o seguinte:

  • Uma conta HubSpot com acesso a Workflows (nível HubSpot Pro ou superior).
  • Uma licença Dux-Soup Turbo ou Dux-Soup Cloud (necessária para acesso à API).
  • O conector Dux-Soup HubSpot é instalado a partir do Dux-Dash (Como instalar).

  • Um contato da HubSpot que tenha o campo Perfil do LinkedIn preenchido com seu respectivo perfil do LinkedIn (por exemplo, https://www.linkedin.com/in/username/) no campo “Perfil do LinkedIn”, NÃO a URL do LinkedIn ou qualquer outra informação.

Passo 1: Crie sua campanha no Dux-Soup

Primeiro, você deve criar a campanha no Dux-Soup na qual deseja inscrever os contatos.

  1. Acesse o seu Dux-Dash.
  2. Clique em “Nova campanha” e dê a ela um nome fácil de lembrar (por exemplo, visita-hs).
  3. Adicione as etapas que deseja na campanha (por exemplo, uma visita ao perfil, um pedido de conexão, etc.).
  4. Clique em [SALVAR].
  5. É fundamental copiar o ID da campanha. O ID deve ser copiado exatamente como está nomeado, por exemplo, “visit-hs”. Consulte a captura de tela abaixo.

Etapa 2: Obtenha suas credenciais da API Dux-Soup

Você precisa obter seu ID de usuário exclusivo e sua chave API para autenticar suas solicitações.

  1. No Dux-Dash, vá para a guia Opções.

Clique na extensão Dux-Soup e clique no símbolo da “engrenagem”.


  1. Clique na guia Conectar.
  2. Role para baixo até a seção Controle remoto Dux-Soup.
  3. Copie seu ID de usuário e sua chave. Guarde-os em um local seguro e temporário.

Se você não encontrar a guia Conectar, ative o modo Avançado e tente novamente (leia mais aqui).


Etapa 3: Crie o fluxo de trabalho do HubSpot

Acesse o HubSpot para criar o fluxo de trabalho que acionará a ação.

  1. No HubSpot, navegue até Automação > Fluxos de trabalho.
  2. Clique em “Criar fluxo de trabalho” > “Do zero”.
  3. Selecione “Com base em contato” e clique em “Avançar”.
  4. Configure o seu gatilho de inscriçãoEste é o evento que iniciará a automação. 
    1. Acionado manualmente (isso é útil para conectar-se a outros fluxos de trabalho) 
    2. Quando uma nova pessoa termina uma sequência 
    3. Quando uma nova pessoa é adicionada a uma lista de segmentos 
    4. O exemplo que estamos usando é acionado manualmente, o que significa que será acionado quando adicionarmos manualmente um contato ao fluxo de trabalho.
  5. Clique no ícone + para adicionar uma ação.

Etapa 4: Configure a ação de código personalizado

Adicione uma ação “Código personalizado” e configure-a com segurança.

  1. No painel “Escolha uma ação”, role para baixo até “Operações de dados” e selecione “Código personalizado”.
  2. No painel esquerdo, configure o seguinte:
  • No "Segredos" seção, clique em "Escolha um segredo" > “Adicionar segredo” e insira seu Dux-Soup API Chave. 
    • Por exemplo, SCOTT_WRIGHT_DUX_SOUP_API_KEY
    • Cole a chave API que você copiou da guia Dux-Soup Connect em Opções na Etapa 2. Normalmente, é uma sequência de números e letras.
  • Clique em “Adicionar segredo” novamente.

  1. Mapeie a propriedade do LinkedIn. Isso informa ao código qual campo do HubSpot contém a URL do LinkedIn do contato.
  • Na seção “Propriedade a incluir no código”, clique em “Adicionar propriedade”.
  • Chave: ds_liprofile
  • Propriedade: clique em “Selecionar uma propriedade” e escolha sua propriedade de contato da HubSpot que armazena a URL do perfil do LinkedIn. Esse deve ser o campo que contém a URL do perfil. Não use outros campos, como “URL do LinkedIn”, se eles não forem a fonte de dados correta.
  • Perfil do LinkedIn (sensível a maiúsculas e minúsculas, NÃO URL do perfil do LinkedIn ou URL do LinkedIn).
  • Confirme se está escrito ds_liprofile (veja abaixo).

Etapa 5: Adicione o código personalizado

  1. Na caixa principal “Código”, certifique-se de que a “Linguagem” esteja definida como Node.js 18.x.
  2. Exclua todo o código de espaço reservado na caixa.
  3. Copie e cole todo o script abaixo.

  • Certifique-se de substituir os nomes das chaves confidenciais pelos que você criou abaixo.
  • Além disso, certifique-se de substituir o nome da campanha que pretende 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
      }
    });
  }
};

Etapa 6: Configuração final e testes

  1. Personalize o ID da campanha: no código que você acabou de colar, localize a linha 47: campaignid: “visit-hs”. Altere “visit-hs” para o ID exato da campanha que você criou na Etapa 1.
  2. Clique em “Salvar” no canto superior direito do painel de ações.
  3. Agora você pode “Testar ação” no painel esquerdo selecionando um contato que tenha uma URL de perfil do LinkedIn.
  4. Quando estiver satisfeito, clique em “Revisar e publicar” para ativar seu fluxo de trabalho.

Resolução de problemas

  • “Meu fluxo de trabalho diz ‘Sucesso’, mas nada aconteceu” A API do Dux-Soup funciona como uma fila. “Sucesso” na HubSpot significa que o comando foi enviado com sucesso. Sua extensão Dux-Soup para Chrome deve estar em execução e conectada ao LinkedIn para receber o comando e executá-lo. Verifique sua página de atividades em fila do Dux-Dash para ver o comando em espera.
  • “Meu contato de teste não está se inscrevendo” Se você testou um contato (por exemplo, com uma ação de visita), o Dux-Soup pode “bloquear” esse contato e impedir que ele se inscreva. Para corrigir isso, acesse seu fluxo do funil do Dux-Dash, localize o contato, clique na caixa de seleção ao lado do nome dele e selecione “Qualificar para exclusão”. Isso redefine o contato, tornando-o elegível para inscrição.
  • Usando a campanha “Padrão”. Conforme observado em seu documento, se você enviar um ID de campanha que não existe no seu Dux-Dash, o Dux-Soup inscreverá automaticamente o contato na sua campanha “Padrão”.
  • O Dux-Soup não permite inscrever uma mesma pessoa na mesma campanha. Portanto, pode ser necessário criar uma nova campanha para uma pessoa ao realizar vários testes. 

Notas

  • Um fluxo de trabalho é para um usuário do Dux-Soup 
    • Quer vários usuários Dux? Crie vários fluxos de trabalho separados.
  • Um fluxo de trabalho está vinculado a uma campanha específica para esse usuário.
    • Deseja várias campanhas diferentes para diferentes casos de uso? Crie fluxos de trabalho separados do HubSpot para cada campanha do Dux-Soup para esse usuário do Dux-Soup. 
  • Use uma campanha e, quando quiser alterá-la, ajuste-a no Dux-Dash. Leia mais sobre como editar campanhas ativas aqui
  • Você pode querer que seus gatilhos no HubSpot sejam de “inscrição manual”. Isso permitirá que você se inscreva facilmente a partir de outras áreas do HubSpot, como Segmentos (listas), selecionando quem você deseja na visualização de segmentos do HubSpot e, em seguida, inscrevendo-os no fluxo de trabalho do HubSpot que os inscreve na campanha Dux-Soup. 
  • Use este fluxo de trabalho da HubSpot para iniciar/interromper ou acionar outros fluxos de trabalho na HubSpot para diferentes finalidades.

Para perguntas sobre este fluxo de trabalho, entre em contato com Scott Wright, diretor de vendas da Dux-Soup, pelo e-mail scott@dux-soup.com.