CRM-koppeling

Zodra een sessie een naam krijgt, komt de opname als notitie bij die persoon in uw CRM terecht: bij het bestaande contact, zonder een nieuw contact aan te maken.

1. Wat dit doet, in één zin

Zodra een sessie wordt geïdentificeerd, zoeken we de persoon in uw CRM op via de identificatie die u ons hebt gestuurd en voegen we een notitie met een link naar de opname toe.

Dat is alles. Geen nieuwe contacten, geen nieuwe deals en geen wijzigingen aan uw pipeline. Een CRM dat een duplicaat aanmaakt telkens wanneer iemand uw prijspagina bezoekt, is slechter dan geen integratie.

Als we de persoon niet kunnen vinden, gebeurt er niets. Die aanmaken zou betekenen dat we op basis van een browsersessie een record in uw CRM schrijven, en browsersessies zijn geen betrouwbare bron voor wie uw klanten zijn.

2. De zoeksleutel: hoe we de persoon vinden

Dit onderdeel verdient tien minuten aandacht, want hier gaat een CRM-integratie meestal ongemerkt mis.

We kennen de bezoeker via wat uw site ons heeft verteld: via MousePlayer.setUserId(), via een unieke ID die uit uw analysetool is uitgelezen of via een identify-aanroep vanaf de server. Uw CRM kent de persoon ook via een bepaalde waarde. Die twee waarden moeten gelijk zijn.

We zoeken opU kunt dit wijzigen
HubSpothet e-mailadres van het contactnee; het zoekendpoint is hierop gebaseerd
Pipedrivepersonen via een zoekterm, eerst op e-mailnee
Salesforceeen veld dat u opgeeft, standaard Emailja

Waarom Salesforce hiernaar vraagt

Salesforce-installaties gebruiken zelden e-mail als sleutel. Uw installatie gebruikt misschien Customer_Number__c, of een externe ID uit uw factureringssysteem. Als we toch op e-mail zouden zoeken, zouden we niets vinden en succes melden: de ergste fout, omdat de integratie lijkt te werken.

Daarom vraagt het formulier: welk veld op Contact bevat de waarde die we u sturen? Vul de API-naam in, inclusief __c als het een aangepast veld is.

De veldnaam wordt aan een strikt patroon getoetst voordat deze in een query terechtkomt. Een CRM-veldnaam bestaat uit letters, cijfers en onderstrepingstekens. Alles daarbuiten wordt geweigerd in plaats van ge-escaped, omdat escapen subtiel fout kan gaan en weigeren niet.

3. Wanneer de koppeling wordt geactiveerd en wanneer bewust niet

Bij identificatie: wanneer uw site MousePlayer.setUserId()aanroept, wanneer onze analysekoppeling een unieke ID uit PostHog, Mixpanel of Amplitude uitleest of wanneer uw server het identify-endpoint aanroept.

Eén keer per sessie, niet per pagina

Iemand die inlogt en daarna elf pagina’s bekijkt, levert één notitie op, geen elf. Uw CRM-tijdlijn is een plek die mensen lezen.

Niet zonder identificatie

Een anonieme sessie heeft niets om op te koppelen. We raden niet op basis van een IP-adres en voegen de opname niet toe aan wie toevallig hetzelfde adres deelt.

Niet als uw CRM de persoon niet kent

Dit telt als voltooid, niet als mislukt. Een prospect die nog niet in uw CRM staat, is normaal, en morgen opnieuw proberen zou daar niets aan veranderen.

4. Hoe de notitie eruitziet en waar het token blijft

Eén notitie op de tijdlijn van het contact: een regel die meldt dat een sessie is opgenomen en de link. Uw verkoper klikt erop en ziet wat de persoon werkelijk deed voordat deze contact opnam.

Het toegangsgegeven

Wordt met AES-256-GCM versleuteld opgeslagen. Na het opslaan wordt het nooit meer getoond: het veld toont sterretjes, en het formulier opslaan met sterretjes laat de opgeslagen waarde ongemoeid. Het blijft ook bewust buiten de interne wachtrij voor de taak. Die wachtrij bevat gedeelde gegevens, en dat is de verkeerde plek voor een sleutel.

Salesforce heeft drie dingen nodig, de andere twee

Salesforce authenticeert via een Connected App met een vernieuwingstoken en vraagt daarom om de Consumer Key, de Consumer Secret en het vernieuwingstoken, plus de URL van uw instantie. HubSpot en Pipedrive gebruiken één API-token. In alle drie de gevallen is de app van u; MousePlayer gebruikt geen marketplace-app die u moet vertrouwen.

5. Zoho CRM en Freshsales

Nog twee CRM-systemen, met sterk uiteenlopende inspanningen voor de configuratie.

Zoho CRMFreshsales
U geeft opdatacenter, client-ID, clientgeheim en vernieuwingstokenAPI-sleutel en uw Freshworks-domein
We zoeken opeen veld dat u opgeeft, standaard Emaileen veld dat u opgeeft, standaard email
De notitie komt terechtbij het contact, als Note-recordbij het contact, als notitie

Zoho staat in een van zes datacenters

Een account staat in com, eu, in, com.au, jp of com.cn, en niets in de sleutel vertelt u welke locatie het is. Kies de verkeerde en Zoho antwoordt met INVALID_TOKEN , wat lijkt op een onjuiste sleutel en u op het verkeerde spoor zet. Precies daarom is dit veld een keuzelijst.

De Self Client, eenmalig

Maak een Self Client in de Zoho API-console, genereer een grant-token voor ZohoCRM.modules.ALL en ZohoSearch.securesearch.READen wissel dat eenmalig in voor een vernieuwingstoken. Dat vernieuwingstoken verloopt niet; de toegangstokens voor telkens een uur worden ermee opgehaald en nooit opgeslagen.

Zoho antwoordt met 200 wanneer het nee bedoelt

Zowel het uitwisselen van tokens als het schrijven van records kan HTTP 200 retourneren met een fout of een status per record in de antwoordtekst. We lezen die inhoud: een koppeling die op de statuscode vertrouwde, zou succes melden voor een notitie die nooit is aangemaakt.

Alle genoemde handelsmerken zijn eigendom van hun respectieve eigenaren. MousePlayer heeft geen zakelijke relatie met deze aanbieders.