Puente CRM

Cuando una sesión recibe un nombre, la grabación se añade como nota a esa persona en su CRM: al contacto que ya existe, sin crear otro.

1. Qué hace, en una frase

En cuanto una sesión se identifica, buscamos a la persona en su CRM mediante el identificador que nos envió y añadimos una nota con un enlace a la grabación.

Eso es todo. Sin contactos ni negocios nuevos, ni cambios en el proceso comercial. Un CRM que crea un duplicado cada vez que alguien visita su página de precios es peor que no tener integración.

Si no encontramos a la persona, no ocurre nada. Crearla equivaldría a escribir una ficha en su CRM a partir de una sesión del navegador, y estas sesiones no son una fuente fiable sobre quiénes son sus clientes.

2. La clave de correspondencia: cómo encontramos a la persona

Esta parte merece diez minutos de atención, porque aquí suelen fallar silenciosamente las integraciones CRM.

Conocemos al visitante por lo que nos indicó su sitio: MousePlayer.setUserId(), un ID distinto recuperado de su herramienta de análisis o una llamada de identificación desde el servidor. Su CRM también lo conoce por algún dato. Ambos datos deben coincidir.

Buscamos porPuede cambiarlo
HubSpotel correo electrónico del contactono: el endpoint de búsqueda se basa en él
Pipedrivepersonas por término, primero por correono
Salesforceun campo que usted indica, por defecto Emailsí

Por qué Salesforce pregunta por el campo

Las instalaciones de Salesforce rara vez usan el correo como clave. La suya podría utilizar Customer_Number__c, o un ID externo de su sistema de facturación. Si buscáramos por correo de todos modos, no encontraríamos nada y notificaríamos éxito: el peor fallo, porque la integración parece funcionar.

Por eso el formulario pregunta: ¿qué campo de Contact contiene el valor que le enviamos? Introduzca el nombre API, incluido el sufijo __c si es un campo personalizado.

El nombre del campo se valida contra un patrón estricto antes de llegar a una consulta. Un nombre de campo CRM contiene letras, dígitos y guiones bajos: todo lo demás se rechaza en lugar de escaparse, porque el escape puede contener errores sutiles y el rechazo no.

3. Cuándo se activa y cuándo no lo hace deliberadamente

Al identificar la sesión: cuando su sitio llama a MousePlayer.setUserId(), cuando nuestro puente de análisis recupera un ID distinto de PostHog, Mixpanel o Amplitude, o cuando su servidor llama al endpoint de identificación.

Una vez por sesión, no por página

Una persona que inicia sesión y después visita once páginas produce una nota, no once. La cronología de su CRM debe poder leerse.

No sin identificador

Una sesión anónima no ofrece ningún dato para establecer correspondencias. No adivinamos por dirección IP ni asociamos la grabación a quien casualmente comparta esa dirección.

No si la persona es desconocida para su CRM

Se considera completado, no fallido: es normal que un posible cliente aún no esté en su CRM, y reintentarlo mañana no cambiaría nada.

4. Cómo es la nota y dónde se guarda el token

Una nota en la cronología del contacto: una línea que indica que se grabó una sesión y el enlace. Su comercial hace clic y ve lo que hizo realmente esa persona antes de escribirles.

La credencial

Se almacena cifrada con AES-256-GCM. No vuelve a mostrarse tras guardar: el campo muestra asteriscos y guardar con esos asteriscos conserva el valor almacenado. También se excluye deliberadamente de la cola interna que transporta la tarea: una cola es un estado compartido y no es el lugar adecuado para una clave.

Salesforce necesita tres elementos; los otros, dos

Salesforce se autentica mediante una Connected App con un token de actualización, por lo que solicita Consumer Key, Consumer Secret y el token de actualización, además de la URL de su instancia. HubSpot y Pipedrive usan un único token API. En los tres casos la aplicación es suya: MousePlayer no opera una aplicación de un marketplace en la que deba confiar.

5. Zoho CRM y Freshsales

Dos CRM más, con esfuerzos de configuración muy distintos.

Zoho CRMFreshsales
Debe proporcionarcentro de datos, ID de cliente, secreto de cliente y token de actualizaciónclave API y su dominio Freshworks
Buscamos porun campo que usted indica, por defecto Emailun campo que usted indica, por defecto email
La nota se añadeal contacto, como registro Noteal contacto, como nota

Zoho utiliza uno de seis centros de datos

Una cuenta está en com, eu, in, com.au, jp o com.cn, y la clave no indica cuál. Si elige otro, Zoho responde INVALID_TOKEN - lo que parece una clave incorrecta y le lleva a buscar en el sitio equivocado. Precisamente por eso el campo es una lista desplegable.

Configurar Self Client una sola vez

Cree un Self Client en la consola API de Zoho, genere un token de autorización para ZohoCRM.modules.ALL y ZohoSearch.securesearch.READ, e intercámbielo una vez por un token de actualización. Este no caduca; los tokens de acceso horarios se obtienen a partir de él y nunca se almacenan.

Zoho responde 200 aunque rechace la operación

Tanto el intercambio de tokens como la escritura de registros pueden devolver HTTP 200 con un error o un estado por registro en el cuerpo. Leemos el cuerpo: un puente que solo confiara en el código de estado notificaría éxito para una nota que nunca se creó.

Todas las marcas mencionadas pertenecen a sus respectivos propietarios. MousePlayer no mantiene ninguna relación comercial con estos proveedores.