Ponte CRM
Quando uma sessão recebe um nome, a gravação vira uma nota dessa pessoa no CRM: no contato existente, sem criar outro.
1. O que faz, em uma frase
Ao identificar uma sessão, buscamos a pessoa no CRM pelo identificador recebido e adicionamos uma nota com o link da gravação.
Só isso. Sem novos contatos, negócios ou mudanças no pipeline. Um CRM que cria um duplicado a cada visita à página de preços é pior que nenhuma integração.
Se não encontramos a pessoa, nada acontece. Criá-la seria escrever um registro no CRM com base numa sessão do navegador, que não é uma fonte confiável sobre quem são seus clientes.
2. A chave de correspondência: como encontramos a pessoa
Esta parte merece dez minutos de atenção: é aqui que integrações CRM costumam falhar silenciosamente.
Conhecemos o visitante pelo que seu site informou: MousePlayer.setUserId(), um ID distinto recuperado da ferramenta de análise ou uma chamada de identificação do servidor. Seu CRM também o conhece por algum dado. Os dois precisam ser o mesmo.
| Buscamos por | Pode alterar | |
|---|---|---|
| HubSpot | o e-mail do contato | não: o endpoint de busca se baseia nele |
| Pipedrive | pessoas por termo, primeiro por e-mail | não |
| Salesforce | um campo informado por você, padrão Email | sim |
Por que o Salesforce pergunta pelo campo
Instalações Salesforce raramente usam e-mail como chave. A sua pode usar Customer_Number__c, ou um ID externo do faturamento. Se buscássemos por e-mail mesmo assim, não encontraríamos nada e informaríamos sucesso: a pior falha, porque a integração parece funcionar.
Por isso o formulário pergunta: qual campo de Contact contém o valor que enviamos? Insira o nome API, incluindo o sufixo __c se for um campo personalizado.
O nome do campo é validado por um padrão rigoroso antes de entrar numa consulta. Campos CRM usam letras, dígitos e sublinhados: o restante é rejeitado, não escapado, porque o escape pode conter erros sutis e a rejeição não.
3. Quando dispara e quando não dispara de propósito
Na identificação: quando seu site chama MousePlayer.setUserId(), quando a ponte de análise recupera um ID distinto do PostHog, Mixpanel ou Amplitude, ou quando seu servidor chama o endpoint de identificação.
Uma vez por sessão, não por página
Uma pessoa que entra e visita onze páginas gera uma nota, não onze. A linha do tempo do CRM precisa ser legível.
Não sem identificador
Uma sessão anônima não tem como ser associada. Não adivinhamos pelo IP nem vinculamos a gravação a quem compartilha aquele endereço.
Não se a pessoa for desconhecida no CRM
Conta como concluído, não como falha: um possível cliente que ainda não está no CRM é normal e tentar amanhã não mudaria nada.
4. Como é a nota e onde fica o token
Uma nota na linha do tempo: uma linha informando a sessão gravada e o link. Seu vendedor clica e vê o que a pessoa realmente fez antes de escrever.
A credencial
Armazenada criptografada com AES-256-GCM. Nunca mais é mostrada: o campo exibe asteriscos e salvar com eles mantém o valor. Também fica fora da fila interna: a fila é um estado compartilhado, o lugar errado para uma chave.
O Salesforce precisa de três itens; os outros, dois
O Salesforce autentica por uma Connected App com token de atualização, então pede Consumer Key, Consumer Secret e token de atualização, além da URL da instância. HubSpot e Pipedrive usam um único token API. O aplicativo é seu em todos os casos: o MousePlayer não opera um app de marketplace no qual você precise confiar.
5. Zoho CRM e Freshsales
Mais dois CRMs, com esforços de configuração muito diferentes.
| Zoho CRM | Freshsales | |
|---|---|---|
| Você fornece | centro de dados, ID do cliente, segredo do cliente e token de atualização | chave API e seu domínio Freshworks |
| Buscamos por | um campo informado por você, padrão Email | um campo informado por você, padrão email |
| A nota fica | no contato, como registro Note | no contato, como nota |
O Zoho usa um de seis centros de dados
Uma conta fica em com, eu, in, com.au, jp ou com.cn, e nada na chave indica qual. Escolher errado faz o Zoho responder INVALID_TOKEN - parece chave inválida e leva você ao lugar errado. Por isso o campo é uma lista suspensa.
Configurar Self Client uma vez
Crie um Self Client no console API do Zoho, gere um token de autorização para ZohoCRM.modules.ALL e ZohoSearch.securesearch.READ, e troque uma vez por um token de atualização. Ele não expira; os tokens de acesso horários são obtidos a partir dele e nunca armazenados.
O Zoho responde 200 mesmo quando recusa
A troca de tokens e a gravação de registros podem retornar HTTP 200 com erro ou status por registro no corpo. Lemos o corpo: confiar só no status informaria sucesso para uma nota que nunca foi criada.
Todas as marcas mencionadas pertencem aos respectivos proprietários. O MousePlayer não mantém relação comercial com esses fornecedores.