Ich gebe zu, dieser Beitragstitel gehört nicht gerade zu meinen kreativsten. Die Lösung, die ich im folgenden Text beschreibe, ist zum Glück etwas kreativer ausgefallen. Ziel dieser Lösung war es unsere Firmen aus dem CRM in eine SharePoint Liste zu exportieren, und unsere MitarbeiterInnen über einen neuen Kunden mittels eines Yammer Kanals zu informieren.
Anhand folgender Grafik möchte ich den Aufbau der Logic App vorstellen:
Punkt (1.) definiert den Zeitintervall in welchen Abständen die Logic App sich neue Daten aus unserem CRM Online holt. Durch die Aktion „List records“ (2.) kann eine beliebige CRM Online Entität auf Basis mehrerer Filterkriterien ausgelesen werden. Hat man die gewünschten Daten aus CRM Online ausgelesen können diese mit Hilfe der „For each“ Schleife (3.) durchgegangen und bearbeitet werden. Nun ist es an der Zeit heraus zu finden, ob es in unserer SharePoint Liste bereits einen Eintrag zu dieser Firma gibt oder nicht (4.). Wie in Abbildung 2 zu erkennen ist, hole ich mir alle Firmen aus der SharePoint Liste, deren „CompanyGUID“ der jeweiligen CRM Firmen ID entspricht. Im nächsten Schritt überprüfe ich ob das zurückgelieferte Ergebnis Einträge beinhaltet, indem ich die Länge des Ergebnisses unserer „Get item – Contacts“ Aktion auf „ist gleich“ „0“ oder „1“ überprüfe (5.).
Interessant hierbei ist, dass die Funktion „length()“ einen String Wert zurück liefert. Diesen String wandle ich mit der Funktion „int()“ in eine Zahl um, damit ich, sofern notwendig, beispielsweise auch auf „größer als“ überprüfen könnte.
Wird nun also kein Eintrag in der SharePoint Online Liste zu dieser Firma gefunden, so wird ein neuer SharePoint Online Listeneintrag erstellt (6.) und ein Yammer Post in einem unserer Unternehmens Kanäle gepostet (7.).
Wird ein Eintrag in der SharePoint Liste zu dieser Firma gefunden, so wird dieser lediglich upgedatet (8.) und die Logic App kommt zum Ende.
PS: Natürlich kann man dieses Szenario nach Belieben anpassen oder erweitern, in andere Kanäle posten oder ähnliches. Wichtig dabei ist nur, möglichst einen User für die Authentifizierung für die Drittsysteme zu verwenden, dessen Userpasswort nicht ausläuft 😉