SaaS e tecnologia · Reverse ETL

Uso do produto no CRM

Plano, status de pagamento e uso de cada conta escritos no CRM onde vendas e CS trabalham, só quando mudam, sem duplicar contato nem apagar o que o time preencheu.

UsoComum
EsforçoMédio
Para quemEmpresas de SaaS cujo time de vendas e CS trabalha no CRM, em especial com trial ou self-service.
Fonte

Produto, billing e mapa de cliente único

Regra

Só o que mudou, só campos permitidos, com trava

Resultado

Propriedades e associações no CRM

Ativação

Listas, tarefas e alertas no próprio CRM

O que resolve

  • Vendedor e CSM veem uso, plano e pagamento sem sair do CRM.
  • Listas e automações do CRM passam a disparar por comportamento real no produto.
  • A sincronização não duplica contatos nem sobrescreve o que o time preencheu.

Perguntas de negócio que responde

Faça estas perguntas ao seu agente quando o caso estiver pronto.

Quais contas em trial estão usando o produto e ainda não falaram com vendas?
Quais clientes pagantes não acessam há mais de 30 dias?
Quais contas estão com pagamento atrasado, e quem é o dono delas?
Quantos usuários ativos tem cada cliente da minha carteira?
Quais workspaces de self-service têm perfil para upsell?

O que você precisa

  • Banco do produto ou eventos e billing conectados na Nekt
  • O mapa de cliente único com o id de cada registro no CRM
  • A lista de propriedades que a rotina pode escrever

O que você recebe

  • Propriedades de uso, plano e pagamento atualizadas no CRM
  • Associações de contato, empresa e deal ao workspace do produto
  • Um log de envio por registro, com resultado e erro
  • Listas, tarefas e alertas do CRM alimentados por dado do produto

Onde ativar

Listas e automações do CRM

Trial com uso e sem contato vira tarefa para vendas; pagante sem acesso há 30 dias vira tarefa para o CS.

Ferramenta de atendimento e de CS

Plano, status e data de saída na ferramenta de atendimento, para o suporte saber com quem fala.

Públicos de anúncio

Usuários e estados do CRM viram públicos semelhantes e listas de exclusão nas plataformas de anúncio.

Quer construir?

O cálculo é simples. O cuidado está em não duplicar, não sobrescrever e travar antes de escrever. Comece em modo de simulação, com poucas propriedades. O detalhado traz as regras de negócio, as armadilhas e o teste de aceitação. Ou mande tudo direto para o seu agente com o MCP da Nekt.

Ver detalhado
O problema

Vendas e CS vivem no CRM, mas uso, plano e status de pagamento estão no banco do produto e no billing. A primeira sincronização costuma criar contato duplicado, sobrescrever campo que o vendedor preencheu e contar uso de usuário interno como uso do cliente. Às vezes derruba a própria fonte do CRM. E o destino escreve propriedades, mas não cria associações entre objetos.

Como costuma ser feito, e a regra

Cada linha é um erro que já aconteceu na prática.

O jeito comumA regra
01
Casar empresa do produto com empresa do CRM pelo nome, dentro da rotina de envio.
Uma tabela por objeto, com o id do CRM

Monte uma tabela de saída por objeto do CRM (empresa, contato, workspace como objeto customizado), com o id do registro do CRM em cada linha. O id vem do mapa de cliente único, nunca de um cruzamento por nome feito na hora. Contato casa por e-mail em minúsculas e sem espaços.

02
Uma rotina só, que cria quando não acha.
Criar e atualizar são rotinas diferentes

Separe quem ainda não existe no CRM (criar) de quem já existe (atualizar). A rotina de atualizar nunca cria. A de criar confere antes se o e-mail ou o domínio já existe. Comece a criação com um piloto pequeno (por exemplo, 15 registros) e confira se o registro continua lá alguns segundos depois: automações anti duplicado do CRM já apagaram contatos recém-criados.

03
Reenviar todas as propriedades de todos os registros a cada execução.
Envie só o que mudou

Compare o valor calculado com o valor atual no CRM e mande só a diferença. Exemplo: marcar usuário ativo como Não só para quem está Sim no CRM e ficou inativo no produto. Mandar tudo todo dia gasta limite de API, dispara automações à toa e polui o histórico da propriedade.

04
Sobrescrever telefone e dono com o que veio do produto.
Campo do time é protegido

Declare quais propriedades a rotina pode escrever. Telefone, e-mail e documento só são preenchidos quando estão vazios. Dono, etapa e campos editados pelo time nunca são sobrescritos. Propriedades escritas pela rotina ganham um prefixo próprio (por exemplo, lake_ ou produto_), para ninguém editar à mão.

05
Contar o login do suporte dentro da conta do cliente.
Uso é do cliente, não do seu time

Tire do cálculo usuários internos, de suporte e de serviço (por papel, domínio de e-mail ou lista), contas de teste e de demonstração. Usuário habilitado numa empresa sem pacote ou assinatura vigente não é usuário ativo.

06
Mandar o status da última assinatura criada.
Pagamento vem do billing, no grão do cliente

Plano, status da assinatura (active, past_due, canceled, trialing), MRR e data do primeiro pagamento vêm do billing, consolidados por cliente e não por assinatura. Com várias assinaturas, uma regra de prioridade declarada escolhe o status. A data do primeiro pagamento é a da primeira cobrança paga, não a do ciclo. Envie junto a data de referência do dado.

07
Criar uma propriedade para cada evento do produto.
Poucas propriedades, prontas para ação

Escreva indicadores que o time usa (usuários ativos em 7 e 30 dias, dias desde o último acesso, módulos em uso, faixa do cliente), não um campo por evento ou funcionalidade. Valores de lista vão traduzidos e numa lista fechada. O HubSpot limita o tamanho de uma propriedade a 512.000 bytes, e a fonte de contatos falha acima de 10.000 campos aninhados; depois de 3 falhas seguidas, ela se desativa.

08
Esperar que o destino crie as associações.
Associação é uma rotina à parte

O destino da Nekt escreve propriedades pelo id do objeto, mas não associa contato a workspace, empresa a workspace ou deal a workspace. Faça isso num notebook que compara as associações esperadas com as existentes e cria só as que faltam, com o rótulo da associação. Rode em simulação antes: num caso real, duas semanas de simulação mostraram centenas de associações a criar e mais de cem contatos que ainda nem existiam.

09
Rodar direto em produção, sem conferir a conta nem o volume.
Trava antes de escrever

A rotina confere o portal ou a conta de destino antes de escrever (sandbox no teste, o id esperado em produção) e para se não bater. Confere também o volume: catálogo menor que o mínimo esperado ou número de alterações fora do normal indica dado quebrado na origem, e a rotina para em vez de apagar opções ou zerar campos. Cada envio fica num log com registro, valor, resultado e erro. Chave de API fica no cofre de segredos, nunca no código.

10
Filtrar só contas ativas antes de enviar.
Conta que saiu também é enviada

Inclua contas inativas e excluídas no envio, para atualizar status e data de saída no CRM e na ferramenta de atendimento. Senão o CS continua vendo como ativo quem já cancelou.

O que vai para o CRM, e de onde vem

Propriedades escritas pela rotina, com prefixo próprio e data de referência.

Billing, consolidado por clientePlano e status da assinaturasubscription.status
Tabela de MRRMRR atual do cliente
Primeira cobrança pagaData do primeiro pagamentocharge.status = succeeded
Eventos do produto, sem internosUsuários ativos em 7 e 30 dias
Último login de qualquer usuárioDias desde o último acesso
Lista fechada de módulosMódulos em uso
Volume acumulado em faixasFaixa do cliente
Objeto customizado com o id do produtoWorkspace associado

Definições

Usuário ativo 30d
usuário do cliente, fora internos, de suporte e de serviço, com ao menos um login ou evento nos últimos 30 dias até o dia anterior
Usuário ativo no CRM
Sim se o usuário está ativo no produto e a empresa tem pacote ou assinatura vigente; Não nos demais casos
Dias desde o último acesso
dias entre o último login de qualquer usuário do cliente e a data de referência
Status de pagamento
status da assinatura principal do cliente no billing na data de referência, escolhida por regra de prioridade declarada
Data do primeiro pagamento
data da primeira cobrança paga com valor maior que zero do cliente
Data de referência
dia do dado que gerou o valor, enviada junto com a propriedade
Lote de envio
registros cujo valor calculado difere do valor atual no CRM, com o resultado gravado no log

Armadilhas que já aconteceram

Contato criado e apagado em seguida

Uma automação anti duplicado do CRM apagava contatos recém-criados pela rotina, e o lote parecia ter dado certo.

Crie um piloto e confira se o registro ainda existe alguns segundos depois.

Fonte do CRM desativada

Propriedades demais em contatos passaram do limite de 10.000 campos aninhados; a extração falhou três vezes e a fonte se desativou sem aviso.

Poucas propriedades, revisão das que não são usadas e alerta de falha da fonte.

Contato em dobro na primeira carga

Sem separar criar de atualizar, cada execução recriava quem tinha o e-mail com maiúscula diferente.

E-mail em minúsculas e rotina de criar que confere existência.

Cancelado aparecendo como ativo

Empresas excluídas ficavam fora do envio e seguiam ativas na ferramenta de atendimento.

Envie inativas e excluídas com a data de saída.

O time inflou o uso do cliente

Usuários de um serviço operado pelo próprio time trabalhavam dentro das contas dos clientes e contavam como usuários ativos deles.

Exclua por papel do usuário, além de domínio de e-mail e contas de teste.

Chave de API no código

Tokens do CRM e de outras ferramentas estavam escritos dentro de notebooks, visíveis a quem abrisse ou versionasse o código.

Guarde no cofre de segredos da Nekt e leia com nekt.load_secret.

Teste de aceitação

O caso está pronto quando todos os itens passam.

Pacote para o agente

Cole no Claude, ChatGPT ou outro cliente com o MCP da Nekt conectado.

Markdown completo
Uso do produto no CRM
- Propriedades escritas pela rotina têm o prefixo <prefixo> e trazem a data de referência do dado. Valor no CRM pode estar até 1 dia atrás do produto.
- Usuário ativo = usuário do cliente com login ou evento nos últimos 30 dias, fora internos, suporte, serviço e contas de teste, em empresa com plano vigente.
- Status de pagamento vem do billing, consolidado por cliente: active, past_due, canceled, trialing. Past_due não é cancelado.
- Data do primeiro pagamento = primeira cobrança paga com valor maior que zero, não a data do ciclo.
- A rotina nunca sobrescreve dono, etapa nem campos editados pelo time. Telefone, e-mail e documento só são preenchidos quando vazios.
- Associação contato, empresa e deal ao workspace é feita por rotina própria; registro sem associação não é cliente sem uso.
- Se o valor do CRM divergir do produto, a fonte de verdade é o produto ou o billing, não o CRM.
Exceções por cliente:
- <cliente>: usuários com papel <papel> são internos e não contam como ativos.
- <cliente>: faixa do cliente por volume acumulado: <faixas>.

Variações

Planilha como ponte

Uma planilha alimentada pela Nekt é a fonte única lida por uma automação (por exemplo, n8n) que distribui para várias ferramentas.

Faixa por volume

Faixa do cliente por volume acumulado (por exemplo, por TPV) enviada ao CRM e à ferramenta de tarefas do time.

Valor por pessoa

No self-service, uma linha por e-mail com total pago e status da última assinatura, escrita no contato.