ZAP-API
PreçosCasos de UsoBlogDocsLogin
Começar grátis
  1. Blog
  2. Integrar WhatsApp ao CRM: RD Station, HubSpot e Pipedrive (passo a passo)
Integração

Integrar WhatsApp ao CRM: RD Station, HubSpot e Pipedrive (passo a passo)

3 padrões de integração (lead-in, trigger-out, full-sync) e o passo a passo completo para os 3 CRMs mais usados no Brasil. Field mapping incluído.

30 de abril de 2026·13 min de leitura·Equipe Editorial ZAP API

CRM moderno sem WhatsApp é CRM cego — o canal mais usado pelo brasileiro fica fora do funil. Cliente vira "fantasma" entre o lead capturado no formulário e o contato real no chat. Quem integra os dois fecha o ciclo: cada conversa vira atividade no CRM, cada mudança de estágio dispara mensagem proativa, e o vendedor nunca mais pergunta "esse lead falou com a gente?".

Este guia mostra os 3 padrões de integração e o passo a passo para RD Station, HubSpot e Pipedrive.

Os 3 padrões de integração

PadrãoDireçãoQuando usar
Lead-in WhatsApp → CRM Capturar leads vindos do WhatsApp (formulário "Receba pelo WhatsApp")
Trigger-out CRM → WhatsApp Disparar mensagem quando lead muda de estágio (qualificou? proposta enviada?)
Full-sync Bidirecional Cada mensagem WhatsApp vira atividade no CRM; cada nota no CRM dispara WhatsApp

A maioria das empresas começa com trigger-out (mais simples, ROI rápido) e evolui para full-sync ao longo de 3–6 meses.

RD Station: integração via webhook + automação

Trigger-out: mensagem ao mudar estágio

Cenário: quando lead vira "Oportunidade", manda mensagem WhatsApp do vendedor responsável.

  1. RD Station: em Automações → Nova automação, gatilho "Lead atinge estágio" → "Oportunidade".
  2. Ação: "Enviar para webhook externo" → URL do seu n8n / endpoint próprio.
  3. Payload (RD Station envia automaticamente):
    {
      "lead": {
        "name": "...",
        "phone": "+5511999999999",
        "owner": { "email": "[email protected]" }
      },
      "stage": "Oportunidade"
    }
  4. Seu webhook mapeia vendedor → instância e dispara:
    POST /v1/instances/{instanceId}/send
    Authorization: Bearer tk_xxx
    
    {
      "phone": "+5511999999999",
      "type": "text",
      "body": "Olá [NOME], aqui é o [VENDEDOR] da [EMPRESA]. Vi que tem interesse em [PRODUTO]. Posso te explicar mais?"
    }

Lead-in: criar lead no RD a partir do WhatsApp

Capture o opt-in inicial e gere o lead automaticamente:

// webhook handler (recebe mensagem nova)
async function processarInbound(event) {
  // Já existe no CRM?
  const existing = await rdStation.contacts.find({ phone: event.from });
  if (existing) return; // só atualiza atividade

  // Cria novo lead
  await rdStation.contacts.create({
    name: 'Contato WhatsApp',
    phone: event.from,
    tags: ['origem-whatsapp', `instancia-${event.instanceId}`],
    custom_fields: {
      cf_first_message: event.body,
      cf_first_contact_at: event.timestamp
    }
  });

  // Dispara mensagem de boas-vindas
  await zapApi.send({
    phone: event.from,
    type: 'text',
    body: 'Olá! Recebemos sua mensagem. Em até 5 minutos, um especialista responde.'
  });
}

HubSpot: integração via workflow + private app

Setup inicial

  1. Crie Private App em HubSpot: Settings → Integrations → Private Apps.
  2. Permissões mínimas: crm.objects.contacts.read/write, crm.engagements.write.
  3. Guarde o token gerado.

Trigger-out via Workflow

HubSpot Workflow → ação "Webhook" → endpoint próprio que chama a ZAP API.

// Endpoint que recebe o webhook do HubSpot
app.post('/hubspot/lead-qualified', async (req, res) => {
  const { contactId } = req.body;

  // Busca dados completos do contact
  const contact = await hubspot.crm.contacts.basicApi.getById(
    contactId,
    ['firstname', 'phone', 'hs_owner_id']
  );

  // Mapeia owner → instância
  const instanceId = mapOwnerToInstance(contact.properties.hs_owner_id);

  // Envia mensagem
  const msg = await zapApi.send({
    phone: contact.properties.phone,
    type: 'text',
    body: `Olá ${contact.properties.firstname}! ...`
  });

  // Registra engagement no HubSpot
  await hubspot.crm.engagements.create({
    properties: {
      hs_engagement_type: 'NOTE',
      hs_body: `WhatsApp enviado: ${msg.id}`,
      hubspot_owner_id: contact.properties.hs_owner_id
    },
    associations: [
      {
        to: { id: contactId },
        types: [{
          associationCategory: 'HUBSPOT_DEFINED',
          associationTypeId: 202 // contact_to_engagement
        }]
      }
    ]
  });

  res.json({ ok: true });
});

Full-sync: cada mensagem WhatsApp vira engagement

No webhook da ZAP API (message.received e message.sent), crie um Note no HubSpot:

// webhook ZAP API
async function onWhatsAppMessage(event) {
  const contact = await hubspot.crm.contacts.searchApi.doSearch({
    filterGroups: [{
      filters: [{ propertyName: 'phone', operator: 'EQ', value: event.from }]
    }]
  });

  if (!contact.results.length) return;

  await hubspot.crm.engagements.create({
    properties: {
      hs_engagement_type: 'NOTE',
      hs_body: `[${event.direction === 'in' ? 'Recebido' : 'Enviado'}]: ${event.body}`,
      hs_timestamp: new Date(event.timestamp).getTime()
    },
    associations: [{
      to: { id: contact.results[0].id },
      types: [{
        associationCategory: 'HUBSPOT_DEFINED',
        associationTypeId: 202
      }]
    }]
  });
}

Pipedrive: integração via webhook bidirecional

Setup

  1. Pegue API token em Settings → Personal preferences → API.
  2. Configure webhooks em Settings → Tools and apps → Webhooks.

Trigger-out: deal mudou de estágio

Webhook Pipedrive (updated.deal) → seu endpoint:

app.post('/pipedrive/deal-updated', async (req, res) => {
  const { current, previous } = req.body;

  // Só dispara se mudou de estágio
  if (current.stage_id === previous.stage_id) return res.end();

  const stage = await pipedrive.stages.get(current.stage_id);
  const person = await pipedrive.persons.get(current.person_id);
  const phone = person.phone[0]?.value;

  if (!phone) return res.end();

  await zapApi.send({
    phone,
    type: 'text',
    body: `Olá ${person.name}, estamos avançando seu processo: ${stage.name}.`
  });

  // Registra atividade
  await pipedrive.activities.create({
    subject: 'WhatsApp enviado',
    type: 'whatsapp',
    deal_id: current.id,
    person_id: current.person_id,
    note: `Mensagem automática ao entrar em ${stage.name}`,
    done: 1
  });

  res.json({ ok: true });
});

Lead-in: WhatsApp inbound vira deal

// webhook ZAP API — primeira mensagem de número desconhecido
async function onPrimeiroContato(event) {
  // Cria pessoa se não existe
  const person = await pipedrive.persons.create({
    name: `Lead WhatsApp ${event.from.slice(-4)}`,
    phone: [{ value: event.from, primary: true }]
  });

  // Cria deal no estágio "Lead frio"
  await pipedrive.deals.create({
    title: `Lead via WhatsApp - ${event.body.slice(0, 40)}`,
    person_id: person.id,
    stage_id: STAGE_LEAD_FRIO,
    custom_fields: {
      'first_message': event.body,
      'first_contact_at': event.timestamp,
      'origem': 'WhatsApp Inbound'
    }
  });
}

Field mapping — o que sincronizar

CampoOrigem (WhatsApp)Destino (CRM)
Telefoneevent.fromphone primary
Nome (se exibido)event.pushNamefirstname
Foto de perfilevent.profilePicUrlCustom field URL
Origemevent.instanceId + tagsource ou tag
Primeira mensagemevent.bodyCustom field
Timestampevent.timestampcreated_at
OwnerLookup por instância → vendedorowner / hs_owner_id

Padrões que evitam dor de cabeça

  • Idempotência: use event.id como chave única ao gravar atividade no CRM. Webhook pode chegar duplicado.
  • Throttle no CRM: CRMs cobram por API call. Não crie 1 atividade por mensagem se o cliente manda 30 mensagens em 5 min — agrupe.
  • Owner mapping table: mapeie cada instância para um vendedor (ex: inst_xxx → "Joao") para roteamento automático.
  • Failover: se o CRM cair, não perca a mensagem. Persista em fila local primeiro.

FAQ

  • Posso usar n8n para fazer essa integração sem código?
    Sim — a ZAP API tem template oficial para RD Station. Para HubSpot e Pipedrive, n8n tem nodes prontos. Veja em /dashboard/integrations/templates.
  • O CRM precisa estar exposto na internet?
    Não — você chama a API deles a partir do seu backend. Eles podem disparar webhooks para uma URL pública sua (use HMAC para autenticar).
  • E se um lead estiver em múltiplos pipelines?
    Use um campo "instância principal" no contato para evitar mandar 3 WhatsApp no mesmo dia.
  • Mensagens via app pessoal aparecem no CRM?
    Não — só mensagens via API. Se o vendedor responde pelo celular pessoal, o CRM não vê. Padronize o atendimento via API + dashboard de chat.
  • Quanto tempo leva o setup completo?
    Trigger-out: 2–4 horas. Lead-in: 4–8 horas. Full-sync: 1–2 semanas (com testes).

Criar conta com integração CRM — trial 7 dias.

Experimente a ZAP API gratuitamente

7 dias de trial sem precisar de cartão. A partir de R$29/mês*.

Criar instância grátis
EE
Equipe Editorial ZAP APIRevisão técnica

Desenvolvedores e especialistas em integrações WhatsApp. Todo conteúdo passa por revisão técnica para garantir precisão e aplicabilidade.

Ver perfil completoDocumentaçãoTrial grátis

Leia também

Integração · 07 de mai. de 2026 · 11 min

WhatsApp + WooCommerce: confirmação de pedido automática

Integre WhatsApp ao WooCommerce para enviar confirmação de pedido, atualização de status e rastreamento automaticamente via webhook e API REST.

Tutorial · 05 de mar. de 2026 · 12 min

Como Integrar WhatsApp com CRM usando Node.js

Descubra como integrar WhatsApp ao seu CRM com Node.js e otimize sua comunicação. Cadastre-se na ZAP API agora!

Arquitetura · 10 de mai. de 2026 · 13 min

Cobrança PIX via WhatsApp: integração completa com QR Code

Como integrar cobrança PIX ao WhatsApp: gerar QR Code, enviar pelo chat, receber confirmação de pagamento via webhook e atualizar o status automaticamente.

Tutorial · 07 de mar. de 2026 · 9 min

Como integrar WhatsApp com Google Sheets via API

Envie mensagens WhatsApp direto do Google Sheets usando Apps Script. Script pronto para cobranças, campanhas e notificações.

Tópicos:Chatbots com IAE-commerceAPI WhatsApp

Explore também

Casos de usoWhatsApp API por segmentoComparativoZAP API vs alternativasPreçosPlanos e o que está inclusoGlossárioTermos técnicos de WhatsApp API
ZAP-API

API REST para WhatsApp com webhooks assinados, Meta Pixel/CAPI e compliance LGPD. Sem aprovação da Meta.

Status operacional🇧🇷 Feito no Brasil

Produto

  • Preços
  • Casos de uso
  • Comparativo
  • Trial grátis
  • Dashboard

Recursos

  • Documentação
  • Blog
  • Glossário
  • RSS Feed

Empresa

  • Sobre
  • Imprensa
  • Termos de uso
  • Privacidade
  • Criar conta
  • Login

Contato

  • [email protected]
  • [email protected]
  • Resposta em até 24h úteis
© 2026 ZAP-API — Todos os direitos reservados·CNPJ 42.130.949/0001-56·Termos·Privacidade

Desenvolvido por PreviusIA