Acionar uma mensagem personalizada de solicitação de conexão de IA do seu CRM para o Dux-Soup usando o n8n

Dificuldade: Avançada; incluindo n8n, JavaScript, API Zoho CRM, API Dux-Soup e API OpenAI


Esta integração n8n permite enviar automaticamente solicitações de conexão semi-personalizadas e aleatórias no LinkedIn com o Dux-Soup sempre que ocorrer um novo evento de lead no CRM.

Neste guia, usamos o Zoho CRM como exemplo.


Passo 1 - Crie um Webhook no n8n e conecte-o ao Zoho CRM


  1. Criar um nó Webhook
  2. Defina o método HTTP como POST
  3. Copie a URL do Webhook

  1. Agora cole a URL do webhook n8n dentro da configuração do webhook Zoho.

Zoho → Configuração → Automação → Webhooks → Configurar Webhook

Cole o webhook, certifique-se de que o método permanece POST, selecione o módulo “Leads” e salve a configuração.

  1. O webhook deve estar vinculado a uma regra de fluxo de trabalho para ser acionado.

Zoho → Automação → Regras de fluxo de trabalho → Criar regra

Estabeleça uma regra para quando um lead é criado, com a condição de que a URL do perfil do LinkedIn não esteja vazia. Se essa condição for atendida, o webhook deve ser acionado.

Este é apenas um exemplo; você pode ter um nome de campo diferente contendo a URL do LinkedIn.

  1. Volte ao fluxo de trabalho do n8n e clique em “Ouvir evento de teste”.

Você deverá receber os campos de saída no lado direito.


Etapa 2 - Geração de mensagens OpenAI


  1. Adicione o nó OpenAI Chat Model no n8n. Este nó se expande em três componentes:

    • Quando o chat é criado (gatilho — não necessário para este fluxo de trabalho)
    • Cadeia LLM básica (onde você inserirá sua mensagem)
    • OpenAI (onde você seleciona sua conta API e modelo)

  1. Exclua o gatilho “Quando o chat é criado” — estamos usando o Zoho Webhook como gatilho.
  2. Conecte o Webhook → Cadeia LLM Básica, conforme mostrado na captura de tela.

  1. Abra o nó Basic LLM Chain e defina:

Fonte para o prompt → Defina abaixo


Como o OpenAI não pode navegar em URLs do LinkedIn, ele deve usar apenas os dados que você fornecer — sem extração de perfis, sem leitura ao vivo. Aqui está o prompt recomendado, projetado para automação com placeholders do Dux-Soup:

Escreva uma mensagem exclusiva no LinkedIn para contato usando os espaços reservados abaixo. 
Os espaços reservados devem permanecer EXATOS e inalterados — não substitua, reescreva ou ajuste a formatação.

Espaços reservados obrigatórios:
_FN_ (sempre incluído)
Escolha aleatoriamente UM dos seguintes, mas não mais do que um:
_CN_ / _TI_ / _IN_

Use qualquer um desses placeholders que você selecionar e crie a mensagem naturalmente em torno dele.
Nunca use mais de um (_CN_, _TI_, _IN_) em uma única mensagem.

Exemplo de lógica (NÃO copie diretamente):
Se usar _CN_ → “Olá, _FN_, gosto de me conectar com pessoas de empresas como a _CN_.”
Se usar _TI_ → “Olá, _FN_, é ótimo ver profissionais que trabalham como _TI_.”
Se usar _IN_ → “Olá, _FN_, gosto de conhecer pessoas em _IN_.”

Regras:
- Máximo de 280 caracteres.
- Tom caloroso, humano e profissional — sem vendas ou argumentos de venda.
- NÃO invente detalhes do perfil. Se os dados necessários estiverem faltando, escreva uma mensagem geral, mas amigável.
- A mensagem deve soar natural e não repetitiva.

Requisito de variação:
Antes de escrever, escolha silenciosamente uma semente de estilo aleatória de 1 a 10 para variar o tom e a estrutura da frase.
Use a semente para produzir resultados diferentes a cada vez, alterando a formulação, o ritmo e as linhas de abertura.
NÃO revele a semente.

Mapeamento de tom:
1–3 → conciso e caloroso
4–6 → polido e profissional
7–8 → um pouco mais detalhado
9–10 → amigável e simpático

Agora gere a mensagem usando _FN_ e EXATAMENTE UM espaço reservado escolhido entre (_CN_, _TI_, _IN_).
  1. Selecione sua conta e modelo no componente OpenAI

É necessário ter um crédito OpenAI ou um método de pagamento vinculado para que isso funcione.

  1. Volte ao componente Basic LLM Chain e execute a etapa de teste. Você deverá ver a mensagem exibida no lado direito.

Etapa 3 - Nó de código (gerar HMAC + carga útil)

  1. Adicione um nó Código após a Cadeia LLM Básica. Neste guia, usamos Código em JavaScript, mas você também pode fazê-lo em Python.

  1. Use 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,
    },
  },
];

Etapa 4 - Nó de solicitação HTTP para Dux-Soup


  1. Adicione um nó de solicitação HTTP com os seguintes campos:
Campo Valor
URL https://app.dux-soup.com/xapi/remote/control/<USER>/queue
Método POSTAR
Autenticação Nenhum
  1. Adicione os seguintes cabeçalhos:
Nome Valor
Tipo de conteúdo aplicativo/json
X-Dux-Signature {{$json["hmac"]}}

  1. Adicione o corpo da solicitação (RAW JSON, sem estar envolvido em Body:):
{{$json["payload"]}}


  1. Execute a etapa. A solicitação de conexão do LinkedIn agora está automaticamente na fila de atividades do Dux-Soup.

Notas importantes

Certifique-se de mudar para o webhook de produção após o teste bem-sucedido e atualize a configuração do webhook do seu CRM.

A chave API e o URL do controle remoto podem ser encontrados na extensão Dux-Soup → Opções → guia Conectar.