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 por | Puede cambiarlo | |
|---|---|---|
| HubSpot | el correo electrónico del contacto | no: el endpoint de búsqueda se basa en él |
| Pipedrive | personas por término, primero por correo | no |
| Salesforce | un campo que usted indica, por defecto Email | sí |
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 CRM | Freshsales | |
|---|---|---|
| Debe proporcionar | centro de datos, ID de cliente, secreto de cliente y token de actualización | clave API y su dominio Freshworks |
| Buscamos por | un campo que usted indica, por defecto Email | un campo que usted indica, por defecto email |
| La nota se añade | al contacto, como registro Note | al 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.