Gegevensuitwisseling tussen Dynamics Customer Engagement en andere applicaties in je organisatie – deel 1: klantBEELD
Inleiding
Als Dynamics 365 Customer Engagement specialist weten wij als geen ander dat een Dynamics 365 CE omgeving zelden alleen staat. Er is bijna altijd een behoefte om gegevens uit te wisselen met andere applicaties en het is vaak van belang om een goed overzicht te hebben van alle activiteiten die een klant bij uw organisatie heeft lopen. Vaak valt hier de term “360 graden klantbeeld”.
Het kan bijvoorbeeld bijzonder nuttig zijn om bij het afhandelen van een klantvraag in Dynamics 365 CE Customer Service te kunnen zien welke contracten de klant heeft lopen of welke facturen nog . Dit zijn dikwijls gegevens die door een andere afdeling in een andere applicatie worden beheerd. Ook zie je vaak dat vanuit een salestraject of een klantvraag processen moeten worden opgestart in andere applicaties. Bijvoorbeeld een salesdeal leidt tot een nieuwe debiteur in het financiële pakket of een klantvraag leidt tot het aanmaken van een nieuwe gebruiker voor in de selfservice portal. Wat we ook vaak zien is dat klantgegevens niet hun oorsprong in Dynamics 365 CE hebben. Denk daarbij aan nieuwe klanten die ontstaan in een pensioenregistratiesysteem of in een winkelapplicatie.
Er is daarom in bijna elk geval een vorm van gegevensuitwisseling met andere applicaties. In deze blogserie leggen we een aantal mogelijkheden uit en geef ik een aantal globale richtlijnen waarom je voor de ene of de andere oplossing zou kiezen.
360 klantBEELD
In de kop staat het woord “beeld” opzettelijk met hoofdletters geschreven. Vaak is het handig om bij klantcontact allerlei informatie van de klant in beeld te hebben. Als een klant belt over een openstaande factuur wil je die factuur kunnen zien op de klantkaart en misschien wil je ook zien dat er nog onbetaalde facturen openstaan. Het betekent echter niet direct dat deze gegevens ook daadwerkelijk binnen Dynamics 365 CE opgeslagen moeten zijn. Zolang je ze snel kunt zien of bereiken dan is dat meestal voldoende.
Binnen Dynamics 365 CE zijn er diverse technieken om data uit andere systemen te laten zien. Hieronder noem ik een paar gangbare mogelijkheden.
Deeplink
De eerste is misschien flauw maar is zeer doeltreffend: op de klantkaart wordt een link of knop getoond waarmee direct een klantgegeven in een externe applicatie wordt geopend. Hiervoor wordt ook wel de term “deeplinken” gebruikt. Veel webapplicaties (zoals Dynamics) bieden deze mogelijkheid.
Als dit niet kan, bijvoorbeeld omdat de gebruikers die werken met Dynamics 365 CE niet kunnen inloggen in de andere applicatie, dan moeten we kijken naar alternatieven waar wat programmeerwerk bij komt kijken.
iFrame
Voor deze optie wordt een maatwerk webapplicatie gebouwd die de benodigde data uit de externe applicatie ophaalt en op de gewenst manier weergeeft. De webapplicatie wordt vervolgens in de vorm van een iFrame op de klantkaart in Dynamics 365 CE getoond. Een nadeel van deze oplossing is dat voor de webapplicatie hosting georganiseerd moet worden, en dat deze vervolgens op beveiligde wijze extern beschikbaar moet worden gemaakt voordat deze binnen Dynamics gebruikt kan worden.
Een praktijkvoorbeeld hierbij is het tonen van communicatievoorkeuren bij een klant uit een Marketing Automationpakket (Adobe Campaign).
Power Apps Component Framework (PCF)
Het Power Apps Component Framework (PCF) biedt de mogelijkheid om controls te ontwikkelen voor gebruik binnen de context van een Power App. Aangezien ook Dynamics 365 CE een Power App is (een Model-Driven Power App) biedt dit de mogelijkheid om standaard velden op formulieren een andere functionaliteit te geven. Een eenvoudig voorbeeld van een PCF-control is de “slider-switch” waarmee de weergave van een standaard ja/nee veld kan worden veranderd naar een aan/uit schuifje bekend van de mobiele telefoons. PCF-controls kunnen gelukkig veel meer en zijn uitermate geschikt om te communiceren met externe data of applicaties. Technisch gezien is een PCF-control opgebouwd uit een combinatie van HTML en Javascript en lijkt daarmee een beetje op het iFrame. Een belangrijk verschil is dat een PFC control echt binnen de context van het formulier werkt en daarmee veel directer kan acteren op de data in Dynamics, dus ook data opslaan.
Een praktijkvoorbeeld is een PCF-control die wij realiseerde voor een van onze klanten waarmee foto’s uit SharePoint in een carrousel worden getoond op de klantkaart binnen Dynamics:
Virtual Tables
Bij Virtual Tables (ook wel Virtual Entities genoemd) worden externe gegevens via een API opgehaald en binnen Dynamics als tabel beschikbaar gesteld. De virtuele tabel gedraagt zich voor een belangrijk deel als gewone Dynamics tabel en kan bijvoorbeeld ook worden gebruikt om data terug op te slaan naar het bronsysteem. Het belangrijkste verschil met een gewone tabel is dat de data volledig extern blijft. Dit heeft als gevolg dat het bijvoorbeeld niet mogelijk is om de data in de zoekfunctie of een dashboard te gebruiken. Ook zijn zaken als auditing (controlebeheer) en Field Level Security niet mogelijk.
Embedded Canvas app
Het Power platform kent twee typen apps: Model Driven apps en Canvas Apps. Dynamics 365 CE is zoals eerder gezegd zelf een voorbeeld van een Model Driven app. Een Canvas app is een app type waarin je externe data kunt gebruiken en waarbij de visualisatie volledig naar eigen wens is in te richten. De term embedded betekent hier dat je een canvas app toont binnen een Model Driven app.
De methode lijkt hier dus een beetje op de iFrame oplossing, alleen de getoonde applicatie is nu een Canvas App ipv een volledige maatwerk webapplicatie. Er is echter een aantal voordelen ten opzichte van de iFrame oplossing: een canvas app is snel te ontwikkelen (No Code/Low Code), er hoeft niets geregeld te worden voor hosting en een canvas app kan als onderdeel van een standaard Dynamics solution worden uitgerold.
BI
Een derde mogelijkheid is om data uit verschillende applicaties te tonen in een rapportage via Power Bi. Ook Power Bi rapportages kunnen (embedded) binnen Dynamics worden gebruikt. Als het niet zozeer om gegevens gaat die direct tijdens het werken in Dynamics van belang zijn (operationele data) maar bijvoorbeeld om managementinformatie, dan kan Power BI ook perfect als externe applicatie worden gebruikt.
Datawarehouse en Customer
Als we nog een stapje verder gaan in het samenbrengen van data uit verschillende applicaties en daar allerhande combinaties op willen maken dan kan het handig zijn deze data ook fysiek bij elkaar te brengen in een Data Warehouse of Data Lake.
Data uit een Data Warehouse kan getoond worden binnen Dynamics 365 CE, bijvoorbeeld met behulp van een embedded Canvas App. De data is natuurlijk ook perfect te gebruiken in Power Bi.
We kunnen hier zelfs nog een stap verder in gaan door vervolgens met behulp van Machine Learning en Artificial Intelligence patronen uit de data te halen en voorspellingen te doen. Microsoft biedt hiervoor binnen het Power Platform het product Customer Insights.
Dynamics 365 Customer Insights kent out of the box een directe integratie met Dynamics CE waarmee analyses en een tijdlijn kunnen worden getoond.
Conclusie
Zoals we in deze blog hebben laten zien zijn er binnen Dynamics vele manieren om toegang te krijgen tot externe gegevens zonder deze via complexe integraties eerst te moeten synchroniseren. Welke mogelijkheid gekozen moet worden hangt, zoals altijd, af van de situatie.
Natuurlijk is het vaak toch nodig om gegevens uit externe systemen daadwerkelijk op te slaan in Dynamics CE (of andersom). Denk bijvoorbeeld aan een situatie waarin de basisgegevens van de klanten die je vanuit de klantenservice wilt bedienen worden beheerd in een ander systeem. Een praktijkvoorbeeld hierbij is een pensioenuitvoerder waarbij deelnemers en hun polissen worden beheerd in een pensioensysteem maar waarbij de klantenservice in Dynamics CE werkt en daar vragen van deze deelnemers moet afhandelen. In deel 2 van deze blogserie gaan we in op een aantal veel gebruikte mogelijkheden.