CRM para WhatsApp

Um CRM que Fica ao Lado dos Seus Chats do WhatsApp

Todo cliente que escreve vira um contato. Organize-os com tags, atributos personalizados, notas e datas de acompanhamento, mova negócios em um funil de arrastar e soltar e mantenha o consentimento em dia com opt-outs que acompanham o número de telefone. Os contatos fazem parte dos planos Team e Business; o funil de vendas, do Business.

✦ Teste grátis de 14 dias · Seu próprio número do WhatsApp Business · A Meta cobra as mensagens diretamente

Contatos com Tudo o que Sua Equipe Precisa

Cada contato tem tags, atributos personalizados, uma etapa do funil, um responsável, uma data de acompanhamento e um status de opt-in, e você pode filtrar a lista por qualquer um deles. Pesquise por nome ou telefone, abra a página do contato para ver de onde ele veio e atualize tags, notas, etapa e acompanhamento no painel do contato, ao lado do chat na caixa de entrada compartilhada. Cada linha tem um botão Abrir chat ou Iniciar chat, e marcar contatos, ou selecionar todos os que correspondem aos seus filtros, inicia uma nova campanha a partir da seleção.

  • Tags e atributos personalizados
  • Notas internas e datas de acompanhamento
  • Filtros por tag, etapa, responsável, acompanhamento, opt-in, engajamento e datas
  • Origem de cada contato, incluindo anúncios Click-to-WhatsApp
  • Abrir chat ou Iniciar chat em qualquer linha de contato
Contatos do WhatsApp com tags e atributos personalizados

Um Funil Arrastar e Soltar com Suas Próprias Etapas

O funil mostra seus contatos como cartões em um quadro, uma coluna por etapa, para você ver em que ponto está cada consulta ou negócio. Arraste um cartão para outra etapa ou use o menu Mover para… no celular. Gerentes criam, renomeiam, reordenam e excluem etapas; excluir uma etapa nunca exclui contatos, eles apenas vão para Sem etapa. Fluxos de chatbot podem mover um contato para uma etapa automaticamente. O funil faz parte do plano Business, junto com as conversões que suas campanhas geram; no Team você vê onde estão os leads, mas não pode movê-los.

  • Etapas personalizadas que você nomeia e ordena
  • Filtre o quadro por responsável, tags ou etapa
  • Fluxos de chatbot podem mudar a etapa por você
  • Vendas informadas pelo seu sistema creditadas à campanha que as trouxe (Business)
Quadro de funil de vendas do WhatsApp com etapas personalizadas
Recursos do CRM

Dados Organizados e Consentimento Confiável

Sem grupos de contatos para manter: segmente com tags e etapas do funil.

  • Tags

    Rotule contatos por interesse, status ou campanha. As tags definem públicos de campanha, filtros e fluxos de chatbot, que podem adicioná-las ou removê-las.

  • Atributos Personalizados

    Guarde seus próprios campos, como cidade ou ID do último pedido, e use-os como variáveis de template em campanhas.

  • Notas e Acompanhamentos

    Deixe notas internas que o cliente nunca vê e defina uma data de acompanhamento; depois filtre os contatos por acompanhamento para ver quem precisa de retorno. Uma nota que não serve mais pode ser excluída para todos.

  • Rastreamento de Origem

    Cada contato registra de onde veio: WhatsApp, manual, CSV, link, API ou anúncio Click-to-WhatsApp. Contatos de anúncios guardam o título, o texto e o ID de clique do anúncio.

  • Opt-Outs que Acompanham o Número

    Um cliente que responde STOP não pode receber mensagens pela caixa de entrada, campanhas, automações ou API até responder START. O opt-out fica registrado no número de telefone, então excluir e adicionar o contato de novo não o remove.

  • Importação e Exportação CSV

    Importe um CSV e mapeie as colunas para telefone, nome, e-mail, tags e campos personalizados. Exporte os contatos da página atual, com seus filtros, como CSV.

  • Aniversários, Datas Comemorativas e Renovações

    Filtre por uma data salva em qualquer campo do contato: hoje, amanhã, os próximos 7 ou 30 dias, ou um número de dias à frente ou atrás. Ative Todo ano para aniversários e datas comemorativas, ou deixe desativado para uma data única, como uma renovação.

  • Engajamento e Segmentos

    Cada contato mostra Muito engajado, Em risco, Reconquistar ou Nunca engajado, conforme a última vez que escreveu para você ou leu suas mensagens, e você pode filtrar por isso. No plano Business, os filtros de engajamento, data e etapa do funil viram segmentos: públicos de campanha que se atualizam sozinhos.

  • Marcas de Alcance

    “Ofertas desativadas no WhatsApp” significa que o cliente desativou suas ofertas no WhatsApp: as campanhas de marketing o pulam até a data indicada, enquanto mensagens de utilidade e suas respostas continuam chegando. “O WhatsApp não conseguiu entregar” significa que o WhatsApp não conseguiu entregar ao número: as campanhas o pulam até a data indicada, ou até a pessoa escrever para você.

  • Contatos com Nome de Usuário do WhatsApp

    Quem escreve a partir de um nome de usuário do WhatsApp, sem compartilhar o número, também vira contato. Suas respostas chegam a essa pessoa, e a Meta adiciona o número depois que vocês conversam. Pela API, esses contatos têm um waUserId e ainda nenhum telefone.

Importação CSV

Traga Seus Clientes Atuais, com Consentimento

01

1. Envie um CSV

Use um CSV em UTF-8 com números no formato internacional, como +919876543210. Duplicados e números inválidos são ignorados.

02

2. Mapeie as colunas

Associe cada coluna a telefone, nome, e-mail, tags ou um campo personalizado.

03

3. Confirme o consentimento

Marque a caixa de consentimento somente se esses clientes concordaram em receber suas mensagens. Sem ela, eles são importados sem opt-in e não podem receber mensagens.

Compare

CRM para WhatsApp vs. Planilhas e um Celular

Onde ficam os dados dos clientes e quanto deles você atualiza manualmente.

Recurso CRM StartMessaging Planilhas Celular compartilhado / app WhatsApp Business
Contato criado quando o cliente escreve ✓ Automático ✗ Digitado manualmente Salvo apenas no celular
Dados do cliente ao lado do chat ✓ Painel do contato na caixa de entrada ✗ Arquivo separado Apenas etiquetas
Funil de vendas ✓ Quadro arrastar e soltar com etapas personalizadas (Business) Uma coluna de status editada manualmente
Origem do contato ✓ Registrada automaticamente, com detalhes do anúncio para Click-to-WhatsApp Só se alguém preencher
Opt-outs (STOP/START) ✓ Registrado por número e verificado em cada envio Controlado manualmente Controlado manualmente
Sincronização com seus sistemas ✓ API REST e webhooks de contato Exportação e importação manuais
API de Contatos

Crie ou atualize clientes da sua loja ou CRM pelo número de telefone

curl -X POST https://waba-api.startmessaging.com/api/v1/contacts \
  -H "Authorization: Bearer sm_live_your_api_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: contact-sync-A-1042" \
  -d '{
    "phone": "+919812345678",
    "name": "Asha Verma",
    "email": "asha@example.com",
    "tags": { "add": ["website-order"] },
    "attributes": { "city": "Pune", "lastOrderId": "A-1042" }
  }'
const res = await fetch('https://waba-api.startmessaging.com/api/v1/contacts', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ' + process.env.SM_API_KEY, // sm_live_your_api_key
    'Content-Type': 'application/json',
    'Idempotency-Key': 'contact-sync-A-1042',
  },
  body: JSON.stringify({
    phone: '+919812345678',
    name: 'Asha Verma',
    email: 'asha@example.com',
    tags: { add: ['website-order'] },
    attributes: { city: 'Pune', lastOrderId: 'A-1042' },
  }),
});

// 201 = created, 200 = updated (upsert by phone)
const { data } = await res.json();
console.log(data.created, data.contact.id);
import os, requests

res = requests.post(
    'https://waba-api.startmessaging.com/api/v1/contacts',
    headers={
        'Authorization': f"Bearer {os.environ['SM_API_KEY']}",  # sm_live_your_api_key
        'Idempotency-Key': 'contact-sync-A-1042',
    },
    json={
        'phone': '+919812345678',
        'name': 'Asha Verma',
        'email': 'asha@example.com',
        'tags': {'add': ['website-order']},
        'attributes': {'city': 'Pune', 'lastOrderId': 'A-1042'},
    },
)

# 201 = created, 200 = updated (upsert by phone)
data = res.json()['data']
print(data['created'], data['contact']['id'])
<?php
$body = <<<'JSON'
{
  "phone": "+919812345678",
  "name": "Asha Verma",
  "email": "asha@example.com",
  "tags": { "add": ["website-order"] },
  "attributes": { "city": "Pune", "lastOrderId": "A-1042" }
}
JSON;

$ch = curl_init('https://waba-api.startmessaging.com/api/v1/contacts');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('SM_API_KEY'), // sm_live_your_api_key
        'Content-Type: application/json',
        'Idempotency-Key: contact-sync-A-1042',
    ],
    CURLOPT_POSTFIELDS => $body,
]);
$data = json_decode(curl_exec($ch), true)['data'];
echo ($data['created'] ? 'created ' : 'updated ') . $data['contact']['id'];
# Add and remove tags without overwriting other writers' changes
curl -X PATCH "https://waba-api.startmessaging.com/api/v1/contacts/%2B919812345678" \
  -H "Authorization: Bearer sm_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "tags": { "add": ["vip"], "remove": ["lead"] } }'

# Pull everything that changed since your last checkpoint (oldest change first)
curl -G https://waba-api.startmessaging.com/api/v1/contacts \
  -H "Authorization: Bearer sm_live_your_api_key" \
  --data-urlencode "updatedSince=2026-10-01T00:00:00Z" \
  --data-urlencode "limit=100"
FAQs

CRM para WhatsApp — FAQ

Posso organizar contatos em grupos?

Em vez de grupos, você usa tags e etapas do funil. Um contato pode ter várias tags, e as campanhas segmentam o público por tag, por opt-in ou a partir de um CSV e, no plano Business, também por engajamento, campo de data ou etapa do funil. As etapas do funil mostram em que ponto do processo de vendas cada contato está.

Como importo meus contatos atuais?

Envie um CSV, mapeie as colunas para telefone, nome, e-mail, tags e campos personalizados e marque a caixa de consentimento somente se esses clientes concordaram em receber suas mensagens. Os números precisam do código do país. Duplicados e números inválidos são ignorados, e contatos importados sem a caixa de consentimento não podem receber mensagens.

O que acontece quando um cliente responde STOP?

O contato fica com opt-out, e todo envio para esse número é recusado, pela caixa de entrada, campanhas, automações e API, até que ele responda START ou sua equipe reative o opt-in com o consentimento dele. O opt-out pertence ao número de telefone, então continua valendo mesmo se você excluir o contato e adicioná-lo de novo.

Posso exportar meus contatos?

Sim. O botão de exportar baixa os contatos da página atual, com seus filtros atuais, como arquivo CSV. Para levar a lista inteira para outro sistema, use GET /api/v1/contacts com paginação por cursor.

Como mantenho o CRM sincronizado com meus sistemas?

POST /api/v1/contacts cria ou atualiza um contato pelo número de telefone. PATCH /api/v1/contacts/{idOrPhone} aceita tags como { add, remove }, o que é seguro quando vários sistemas escrevem ao mesmo tempo. GET /api/v1/contacts com updatedSince retorna apenas o que mudou, da mudança mais antiga para a mais recente. Os webhooks contact.created, contact.opted_out e contact.opted_in avisam sobre novos contatos e mudanças de consentimento. Colocar um contato em uma etapa do funil com pipelineStageId exige o plano Business; contatos que escreveram de um nome de usuário do WhatsApp voltam com um waUserId e phone nulo.

Posso ver qual anúncio trouxe um contato?

Sim. Um contato que iniciou o chat a partir de um anúncio Click-to-WhatsApp é marcado com essa origem, e a página dele mostra o título e o texto do anúncio, o ID e o link do anúncio ou publicação, e o ID de clique. As outras origens são WhatsApp, manual, CSV, link e API.

Os fluxos de chatbot podem atualizar o CRM?

Sim. As etapas do fluxo podem adicionar ou remover tags, definir um campo, mudar a etapa do funil e atribuir um agente, para que um lead qualificado pelo bot chegue com tags e etapa definidas. Os fluxos de chatbot fazem parte do plano Business e estão incluídos no teste grátis de 14 dias.

Qual plano preciso para contatos e o funil?

Adicionar e editar contatos, tags, notas e acompanhamentos faz parte dos planos Team e Business. O funil de vendas, as conversões e os segmentos para públicos de campanha fazem parte do Business; no Team você vê o quadro, mas não move os cartões. Os planos Developer mostram os contatos em um painel somente leitura, e seu app ainda pode criá-los e atualizá-los pela API. O teste grátis de 14 dias inclui tudo o que o Business tem.

Como as vendas são creditadas às campanhas?

No plano Business, sua loja, sistema de cobrança ou CRM informa uma venda com POST /api/v1/conversions (escopo conversions:write): o telefone do cliente e, opcionalmente, um ID de pedido, valor, moeda e horário. A venda é creditada à última campanha entregue a esse número dentro da sua janela de conversão, 7 dias se você não alterar, e o relatório da campanha a conta e soma o valor. Enviar o mesmo orderId de novo nunca conta uma venda duas vezes.

WhatsApp API

Transforme Chats do WhatsApp em um Funil de Vendas

Teste grátis de 14 dias. Conecte seu próprio número do WhatsApp Business e importe seus contatos com consentimento.