Exchange-Sync für Sage CRM
In diesem Artikel wird die Synchronisation von Terminen, Aufgaben und Kontakten zwischen Microsoft 365 und Sage CRM ausführlich beschrieben.
Voraussetzung
Damit die Synchronisation erfolgreich durchgeführt werden kann, müssen folgende Voraussetzungen erfüllt sein:
- Ein Microsoft 365 Konnektor wurde eingerichtet, und die API-Berechtigungen erlauben den Zugriff auf die erforderlichen Daten.
- Ein Sage CRM Konnektor wurde konfiguriert.
- Für die Synchronisation von Aufgaben muss in der Sage CRM Administration die Zustimmungsfunktion aktiviert sein.
- Die gewünschten Postfächer sind im Microsoft 365 Konnektor konfiguriert.
- Die Benutzer im CRM müssen anhand ihrer E-Mail-Adresse eindeutig zugeordnet werden können. Diese muss identisch zu Microsoft 365 sein.
- Für das Abrufen von gelöschten Datensätzen in Sage CRM muss eine SQL-Verbindung im Konnektor eingerichtet werden, da gelöschte Datensätze über den Webservice nicht ausgelesen werden können.
Synchronisation von Terminen
Für die Synchronisation von Terminen stehen spezialisierte Syncs mit konfigurierten Vorlagen zur Verfügung. Diese Syncs ermöglichen eine bidirektionale Übertragung von Terminen zwischen Microsoft Outlook (Graph API) und Sage CRM.
Microsoft Graph Ereignis nach Sage CRM Kommunikation
Dieser Sync überträgt Termine aus Outlook in das CRM. Dabei werden auch gelöschte Termine erkannt und in Sage CRM gelöscht.
Es ist zu beachten, dass Outlook Termininhalte als HTML-Dokument verwaltet, während Sage CRM den Termininhalt nur als Text speichert. Die enthaltene Vorlage führt eine automatische HTML-zu-Text-Konvertierung durch, die jedoch nicht verlustfrei ist.
Der Sync ruft über die Delta-Funktion alle Termine für die konfigurierten Postfächer und das festgelegte Zeitfenster ab.
Neue abgebrochene Termine werden übersprungen.
Der Organisator des Termins wird in Sage CRM sowohl als Organisator als auch als Teilnehmer hinterlegt.
Folgende Felder werden im CRM durch die Vorlage gefüllt:
- Details – Termininhalt
- Ganztägiges Ereignis
- Betreff
- Aktion – wird fest mit „Meeting“ gefüllt
- Status – wird fest mit „Pending“ gefüllt (da Outlook keinen Status kennt)
- Organizer
- Typ – wird fest mit „Appointment“ gefüllt
- Erinnerungsnachricht senden
- Erinnerung
- Datum / Uhrzeit
- Endzeit
- Standort
- Gebiet – Stammgebiet des Organizers
Teilnehmerlogik:
Teilnehmer werden anhand der E-Mail-Adresse im CRM (Benutzer, Personen) gesucht. Wenn keine Übereinstimmung gefunden wird, wird die Adresse als externer Teilnehmer hinzugefügt.
Delta-Synchronisation:
Neue, geänderte oder gelöschte Termine werden mit einer Delta-Abfrage ermittelt.
Diese setzt einen initialen Abruf aller Termine in einem festen Zeitfenster voraus.
Für die kontinuierliche Synchronisation wird dieses Zeitfenster in regelmäßigen Intervallen (z. B. Tagen) verschoben, wodurch wieder ein vollständiger Abruf erfolgt.
Verarbeitung von Serienterminen:
- Einzeltermine: 1:1-Zuordnung zu einem CRM-Datensatz
- Serientermine: Unterscheidung zwischen Serien-Master, Vorkommen und Ausnahme
Wenn sich der Serien-Master ändert, werden alle Datensätze der Serie gelöscht und auf Basis des neuen Wiederholungsschemas neu angelegt.
Sage CRM Kommunikation nach Microsoft Graph Ereignis
Dieser Sync überträgt Kommunikationen vom Typ „Appointment“ aus Sage CRM in Outlook.
Das Zielpostfach ergibt sich aus dem Organisator.
Wenn der Organisator nicht zu den synchronisierten Benutzern gehört oder extern ist, findet keine Übertragung statt.
Besonderheiten der Vorlage:
- Termine mit externem Organisator werden ausgeschlossen.
- Sortierung nach Typ:
RecuMastervorAppointment. RecuMasterfungiert als unsichtbarer Master-Datensatz, der die Serie steuert.
Beim Verarbeiten der Serienlogik wird das Wiederholungsschema ausgelesen. Wird eine Serie erzeugt, ruft der Sync alle Vorkommen in Quelle und Ziel ab und ordnet sie über das Startdatum zu. Wenn ein Zielvorkommen keinen zugehörigen Quelldatensatz hat, wird es gelöscht.
Im CRM muss der Organisator auch Teilnehmer des Termins sein. Diese Datenhaltung unterscheidet sich von Outlook, wo der Organisator automatisch Teilnehmer ist. Der Sync gleicht dies automatisch ab.
Terminverschiebung:
Wird der Parameter „Termin zum Organisator verschieben“ aktiviert, führt eine Änderung des Organisators im CRM zum Löschen im ursprünglichen Postfach und Neuanlage im neuen Postfach. Dies kann Outlook-Benachrichtigungen auslösen.
Sage CRM gelöschte Kommunikation nach Microsoft Graph Ereignis
Für die Übertragung von gelöschten Terminen wird ein spezieller Sync-Typ eingesetzt.
Dieser erfordert eine konfigurierte SQL-Verbindung im CRM Konnektor, da gelöschte Datensätze nicht über die CRM-API abgerufen werden können.
Sage CRM verwendet ein Soft-Delete-Verfahren, wodurch die gelöschten Datensätze weiterhin in der Datenbank vorhanden sind.
Beim Löschen werden sämtliche Datensatz-Abbildungen zwischen Quelle und Ziel entfernt.
Synchronisation von Aufgaben
Aufgrund der Microsoft-Sicherheitsarchitektur können Outlook-Aufgaben nur über delegierte Berechtigungen synchronisiert werden.
Dazu muss jeder Benutzer seine Zustimmung erteilen. Der CRM Benutzer kann für die Zustimmung die Seite "Microsoft Zustimmung" in "Mein CRM" verwenden.
Es wird ausschließlich die Standard-Aufgabenliste verwendet.
Einrichtung der Zustimmungsfunktion
Im CRM steht unter „Mein CRM → Microsoft Zustimmung“ eine Seite bereit, auf der Benutzer ihre Zustimmung (OAuth-Flow) erteilen oder widerrufen können.
In der Administration (Bereich Syncler Integration → Syncler Verbindung → Microsoft Graph) werden folgende Parameter festgelegt:
- Tenant-ID (Verzeichnis-ID)
- Client-ID der registrierten App
- Redirect-URL, die in der App definiert ist
- Scope:
Tasks.ReadWrite - Optional: System-ID aus Syncler (Zustimmungszuordnung)
Zustimmungen sind einem System zugeordnet. Ohne Zustimmung ist keine Synchronisation von Aufgaben möglich.
Microsoft Graph Aufgabe nach Sage CRM Kommunikation
Dieser Sync überträgt Aufgaben aus Outlook nach Sage CRM.
Auch gelöschte Aufgaben werden erkannt und im CRM gelöscht.
Hinweise:
- Outlook-Aufgabeninhalte werden als HTML gespeichert, CRM-Inhalte als Text.
Die Konvertierung erfolgt automatisch. - Outlook-Aufgaben enthalten keine Uhrzeiten, nur Datumsangaben.
Der Sync ergänzt diese anhand der CRM-Daten. - Änderungen werden per Delta-Funktion erkannt.
Es wird kein Zeitfenster benötigt.
Sage CRM Kommunikation nach Microsoft Graph Aufgabe
Dieser Sync überträgt Aufgaben vom Typ „Task“ aus Sage CRM nach Outlook in die Standard-Aufgabenliste.
Das Zielpostfach wird anhand des zugeordneten Benutzers bestimmt.
Wenn sich der Benutzer ändert, wird die Aufgabe gelöscht und neu angelegt.
Zustimmungsmanagement:
Zustimmungen können ungültig werden (z. B. durch Passwortänderung oder Inaktivität von >90 Tagen).
Damit Aufgaben nicht verloren gehen, werden diese Fälle als Fehler markiert und automatisch wiederholt.
Der Benutzer oder Administrator kann eine Zustimmung jederzeit entfernen.
Sage CRM gelöschte Kommunikation nach Microsoft Graph Aufgabe
Gelöschte Aufgaben werden über einen speziellen Sync mit SQL-Anbindung übertragen.
Da CRM ein Soft-Delete-Verfahren verwendet, werden gelöschte Datensätze direkt über SQL identifiziert und übertragen.
Alle zugehörigen Abbildungen werden gelöscht.
Synchronisation von Kontakten
Kontakte können aus dem CRM in die Outlook-Kontakte des Benutzers übertragen werden.
Die Grundlage ist die Kontakt-Funktion in Sage CRM, welche Benutzer-Person-Zuordnungen verwaltet.
Syncs und Vorlagen reagieren auf Änderungen in Zuordnungen und Personendaten.
Für die Übertragung von Kontakten aus Outlook nach CRM sind keine Syncs und Vorlagen vorhanden. Die Schwierigkeit hier ist die fehlende Steuerungsmöglichkeit im Outlook und die Kombination aus Firma und Person.
Bei Bedarf kann diese Richtung über Universal Syncs mit Abläufen umgesetzt werden.
Sage CRM Kontakte nach Microsoft Graph Kontakt
Dieser Sync überträgt geänderte Kontaktzuordnungen in die Outlook-Kontakte des Benutzers.
Beim Lesen werden auch Änderungen an Firma, Person und Adresse berücksichtigt.
Diese Daten werden über Transformationen angereichert.
Personen ohne E-Mail-Adresse werden ausgeschlossen.
Sobald die Felder pers_updateddate, addr_updateddate oder comp_updateddate zur Verfügung stehen, werden diese für die Bildung des Sync-Grenzwertes herangezogen.
Sage CRM gelöschte Kontakte nach Microsoft Graph Kontakt
Gelöschte Kontakte werden über einen spezialisierten Sync-Typ mit SQL-Verbindung übertragen.
Beim Entfernen werden alle zugehörigen Abbildungen gelöscht.
Überprüfung von abgelaufenen Zustimmungen
Der Microsoft 365 Konnektor stellt das Schemaobjekt UserRefreshToken bereit, um die Gültigkeit von Benutzerzustimmungen zu überwachen.
Dies ermöglicht die Erstellung von Aufgaben oder Benachrichtigungen, wenn Zustimmungen ablaufen.
Eine Beispielvorlage erstellt automatisch CRM-Aufgaben zur Erinnerung an Benutzer.
Die Prüfung erfolgt über den Abgleich gespeicherter Tokens.
Abgelaufene Einträge werden mit isActive = false markiert.