NL / EN

Systemen en applicaties koppelen met Salesforce, hoe werkt dat?

Door Salesforce te koppelen met andere applicaties hebben je sales medewerkers en accountmanagers altijd de juiste informatie bij de hand. In dit blog geven we overzicht van de technische manier waarop een koppeling met Salesforce tot stand gebracht kan worden.

Scroll to next section
hero c-hero__image

Salesforce is een van de meest bekende CRM systemen voor onder andere het beheren van je klantrelaties en verkoopprocessen. Middels het 'Lightning platform' biedt Salesforce daarnaast geavanceerde mogelijkheden om het systeem aan te passen en uit te breiden met additionele functionaliteit. Gebruikers en ontwikkelaars kunnen tevens zelf applicaties bouwen die direct aan Salesforce gekoppeld zijn of data uit kunnen wisselen tussen andere systemen en Salesforce. Hiervoor biedt Harmonizer dan ook ondersteuning om Salesforce te koppelen aan honderden andere applicaties.

Waarom Salesforce koppelen?

Het integreren van systemen, zoals CRM systeem Salesforce, met andere applicaties biedt een tal van mogelijkheden. Zo kan een automatische koppeling ervoor zorgen dat gegevens omtrent relaties, zoals organisaties of personen, automatisch worden ingeladen of verrijkt worden vanuit andere bronsystemen. Hierdoor bespaar je een hoop handmatig invoerwerk. Je kan hierbij denken aan het verrijken van contactgegevens, maar ook het toevoegen van bijvoorbeeld omzet informatie waardoor je in Salesforce inzicht krijgt in de waarde die klanten opbrengen voor jouw bedrijf. Een andere voorbeeld, welke wij onlangs bij een klant hebben geïmplementeerd, betreft het koppelen van marketing informatie aan de relaties binnen Salesforce. Hierdoor kan je bijvoorbeeld inzichtelijk maken welke relaties staan ingeschreven voor specifieke nieuwsbrieven of deel hebben genomen aan evenementen of webinars.

Welke mogelijkheden biedt Salesforce voor data uitwisseling?

Technisch gezien, zijn er verschillende manieren waarop je met Salesforce data uit kunt wisselen. We beschrijven hieronder de meest gebruikte methoden.

De SOAP en REST API's

De API van het Salesforce Lightning platform biedt je de mogelijkheid om de objecten binnen Salesforce direct te benaderen. Door middel van HTTP requests kan je gegevens binnen de onderliggende tabellen van Salesforce uitlezen en wegschrijven. Het voordeel hiervan is dat je geen wijzigingen hoeft te doen binnen Salesforce zelf voor het verwerken van de data. De externe applicatie die met Salesforce koppelt bepaalt namelijk volledig hoe hij de data verwerkt. Op deze manier kan je bijvoorbeeld direct gegevens omtrent relaties bijwerken of uitlezen.

SOAP en REST zijn technische standaarden die je gebruikt om met de API te communiceren. SOAP werkt op basis van gestandaardiseerde berichten en heeft als voordeel dat er op de berichten een validatie plaatsvindt aan de hand van de definitie van de API. Het nadeel van SOAP is dat de gegevensuitwisseling relatief zwaar is en verwerkingen daardoor iets langer kunnen duren. De REST standaard maakt gebruik van een eenvoudigere vorm van data uitwisseling, waarbij Salesforce ondersteuning biedt voor zowel JSON als XML berichten. Hierdoor is REST de meestgekozen werkwijze bij webapplicaties of apps die communiceren met Salesforce.

De Bulk API

De bovengenoemde API's zijn vooral bedoeld voor het uitwisselen van een beperkte hoeveelheid records per keer. Indien er grote import of export bestanden uitgewisseld dienen te worden met Salesforce, dan is de Bulk API de beste methode. Binnen de Bulk API kunnen robuuste import en export taken gedefinieerd worden, waarvan de verwerkingsstatus ten alle tijde inzichtelijk is binnen Salesforce. Hierdoor heb je meer controle op de juiste verwerking van de gegevens en eventuele foutmeldingen die hierbij optreden.

De Apex REST API

Apex is een functionaliteit binnen het Salesforce Lightning platform die de beheerder de mogelijkheid geeft om zelf (in Java) programma's te schrijven voor het verwerken van gegevens. Dus in plaats van dat gegevens in Salesforce direct via de API worden aangepast of uitgelezen, wordt het Apex programma gebruikt om de verwerking van de data te bepalen. Dit geeft je dus meer controle over de data uitwisseling, waardoor je bijvoorbeeld extra validaties kan uitvoeren op de inkomende gegevens, of de gegevens kan omvormen voordat je ze wegschrijft in Salesforce. Een bijkomend voordeel is dat je de externe applicatie of gebruiker van de API hele specifieke toegang kan geven tot een stukje van de functionaliteit binnen Salesforce. Een van de nadelen is dat je dus zelf het Apex programma binnen Salesforce zal moeten schrijven en onderhouden.

Authenticatie tot de Salesforce API

Bij het uitwisselen van gegevens met Salesforce is het natuurlijk van uiterst belang dat dit veilig gebeurd. Ten eerste houdt dit in dat je ervoor zorgt dat de API gebruiker alleen toegang krijgt tot de relevante objecten binnen Salesforce en deze niet meer rechten geeft dan nodig is. Daarnaast is het van belang dat je bewust kiest voor de meest geschikte en veilige wijze van authenticatie. Salesforce hanteert de OAuth standaard voor authenticatie en biedt daarbinnen een aantal mogelijkheden, waarvan wij de belangrijkste kort benoemen:

  • JWT Bearer flow: Dit is de meest veilige manier van authenticatie bij geautomatiseerde uitwisseling van gegevens tussen Salesforce en een andere systeem. Hierbij wordt er gewerkt met een certificaat dat door de beheerder van Salesforce kan worden aangemaakt en waarmee het externe systeem feitelijk in kan loggen om toegang te krijgen tot de API.
  • Web server flow: Deze methode is bedoeld voor webapplicaties die gegevens tonen of verwerken in Salesforce. Ten behoeve van authenticatie dient de gebruiker in te loggen in Salesforce en toe te staan dat de webapplicatie namens hem/haar gegevens mag uitwisselen. Na het geven van deze toestemming krijg de webapplicatie een eenmalige code waarmee toegang tot de API verkregen kan worden.
  • User-agent flow: Deze methode is vergelijkbaar met de Web server flow, met als belangrijkste verschil dat de applicatie niet eenmalige code krijgt, maar direct toegang wordt verschaft tot de API nadat de gebruiker hiervoor toestemming heeft gegeven. Deze methode is bedoeld voor onder andere mobiele apps.
  • Username-password flow: Zoals de omschrijving al weggeeft, wordt hier simpelweg gebruik gemaakt van het inloggen met een gebruikersnaam en wachtwoord. Dit is de minst veilige methode voor authenticatie en dient eigenlijk alleen gebruikt te worden in een testomgeving.

Salesforce koppelen zonder te programmeren

Om gebruik te maken van de hierboven beschreven technieken, is technische kennis een vereiste. Daarnaast heb je uiteraard een omgeving nodig om de gegevensuitwisseling in te programmeren en uit te voeren. Dit brengt met zich mee dat je het programma dient te onderhouden (inclusief wijzigen in de API van Salesforce) en te monitoren op juiste werking.

Zie je dit niet zitten? Dan is Harmonizer een interessant alternatief voor het koppelen van Salesforce. In Harmonizer zijn de hierboven omschreven methoden reeds ondersteund en worden tevens continu onderhouden en gemonitord door geautomatiseerde checks. Hierdoor kan je Salesforce zorgeloos koppelen met honderden andere systemen zonder dat je ook maar een letter hoeft te programmeren en hoef je je geen zorgen te maken over aanpassingen of onderhoud, dat hebben wij voor je geregeld. Kijk hier voor meer informatie over het koppelen van Salesforce met Harmonizer.

Scroll to top