Salesforce CRM Connector¶
Dieses Plugin verbindet Ihren Shopware 6 Shop mit der weltweit führenden CRM-Plattform Salesforce. Neue Kunden werden automatisch als Kontakte und Accounts angelegt, Bestellungen als Opportunities in Ihrer Vertriebspipeline abgebildet und alle Statusänderungen als Aktivitäten protokolliert – in Echtzeit, vollautomatisch und ohne manuellen Aufwand.
Highlights
- 👤 Automatische Anlage von Kunden als Kontakt in Salesforce
- 🏢 B2B-Kunden mit Firmennamen werden als Salesforce-Account angelegt
- 💼 Jede Bestellung erzeugt automatisch eine Opportunity in Ihrer Pipeline
- 🔔 Zahlung, Versand und Stornierung werden als Aktivitäten protokolliert
- 🔐 Sichere OAuth-2.0-Verbindung über eine Salesforce Connected App
- 🧪 Sandbox-Unterstützung – vor dem Go-Live gefahrlos testen
❓ FAQ¶
Was ist Salesforce?
Salesforce ist die weltweit führende CRM-Plattform. Über die Salesforce REST API lassen sich Kontakte, Accounts, Opportunities und Aktivitäten automatisiert anlegen und aktualisieren. Für die Nutzung benötigen Sie einen aktiven Salesforce-Account mit API-Zugriff.
Welche Daten werden mit Salesforce synchronisiert?
Neue Kunden werden als Kontakt angelegt, bei Firmenkunden (B2B) zusätzlich als Account. Jede Bestellung wird zu einer Opportunity in der konfigurierten Pipeline. Statusänderungen wie Zahlung, Versand oder Stornierung werden als Aktivitäten an der zugehörigen Opportunity protokolliert.
Wie wird die Verbindung zu Salesforce hergestellt?
Die Anbindung erfolgt über OAuth 2.0 mit einer Salesforce Connected App – sicher und ohne Passwort-Weitergabe. In Salesforce legen Sie eine Connected App an, hinterlegen Consumer Key und Secret im Plugin und autorisieren den Zugriff einmalig.
Wird die Salesforce Sandbox unterstützt?
Ja. Sie können die Integration zunächst gefahrlos gegen Ihre Salesforce Sandbox (test.salesforce.com) testen und erst nach erfolgreicher Prüfung auf die Produktivumgebung (login.salesforce.com) umstellen.
Erfolgt die Synchronisation automatisch?
Ja. Die Übertragung läuft ereignisbasiert in Echtzeit über die Shopware Event-/Flow-Infrastruktur. In den Plugin-Einstellungen legen Sie fest, welche Shopware-Events an Salesforce gesendet werden.
Was bedeutet bidirektionale Synchronisation?
Änderungen in Salesforce – etwa eine Opportunity auf „Closed Won" – können optional zurück nach Shopware wirken und dort z. B. die Kundengruppe aktualisieren. Diese Rückrichtung ist abschaltbar.
Ist das Plugin DSGVO-konform?
Alle übertragenen Daten verbleiben in Ihrer eigenen Salesforce-Instanz. Die Anbindung erfolgt ausschließlich über den offiziellen, von Ihnen autorisierten OAuth-Zugang.
Welche Voraussetzungen gibt es?
Das Plugin setzt das CNK Foundation Plugin (ab Version 3.0.4) und Shopware 6.7 voraus. Auf Seite von Salesforce werden ein aktiver Account mit API-Zugriff und eine Connected App benötigt.
🔧 Installation¶
- Voraussetzung: CNK Foundation Plugin (ab Version 3.0.4)
- Voraussetzung: aktiver Salesforce-Account mit Connected App
- Installation über den Shopware Plugin-Manager oder per Composer
- Plugin aktivieren:
bin/console plugin:install --activate CnkPlatformSalesForceConnector - Konfiguration im Shopware-Administrationsbereich vornehmen
⚙️ Konfiguration¶
OAuth-Zugang (Connected App)¶
| Einstellung | Beschreibung |
|---|---|
| Umgebung | Produktion (login.salesforce.com) oder Sandbox (test.salesforce.com) |
| Consumer Key | Consumer Key der Salesforce Connected App |
| Consumer Secret | Zugehöriges Secret der Connected App |
| Mit Salesforce verbinden | Schaltfläche, die den OAuth-2.0-Autorisierungsfluss startet und die Verbindung im Admin bestätigt |
Die Connected App legen Sie in Salesforce unter Setup → App Manager → New Connected App mit aktivierten OAuth-Einstellungen an. Die im Plugin angezeigte Callback-URL muss dort als autorisierte Redirect-URL hinterlegt werden.
Opportunity- & Pipeline-Zuordnung¶
| Einstellung | Beschreibung | Standard |
|---|---|---|
| Pipeline / Record Type | Auswahlliste der in Salesforce vorhandenen Opportunity-Pipelines | Standard |
| Start-Stage | Stage, in der neue Opportunities angelegt werden | erste Stage |
| Opportunity-Namensschema | Muster für den Namen (z. B. Bestellung {orderNumber}) | Bestellung {orderNumber} |
| Betrag | Bestellsumme als Opportunity-Betrag übernehmen | Ein |
Event-Auswahl¶
| Einstellung | Beschreibung | Standard |
|---|---|---|
| Kontakt anlegen | Neuen Kunden als Kontakt (+ Account bei B2B) übertragen | Ein |
| Bestellung → Opportunity | Bei Bestelleingang eine Opportunity anlegen | Ein |
| Zahlung | Zahlungseingang als Aktivität protokollieren | Ein |
| Versand | Versand als Aktivität protokollieren | Ein |
| Stornierung | Stornierung als Aktivität protokollieren | Ein |
| Bidirektional | Opportunity-Status aus Salesforce nach Shopware zurückspiegeln | Aus |
🔄 Synchronisierungen im Detail¶
Kontakt- & Account-Synchronisation¶
Beim ausgewählten Auslöser (z. B. Registrierung oder erste Bestellung) wird der Kunde in Salesforce angelegt:
- Der Kunde wird als Kontakt mit Name, E-Mail und Telefonnummer angelegt
- Bei hinterlegter Firma (B2B) wird zusätzlich ein Account erstellt und der Kontakt verknüpft
- Bereits übertragene Kunden werden anhand der gespeicherten Salesforce-ID erkannt und aktualisiert (kein Duplikat)
Opportunity-Erstellung¶
Jede Bestellung erzeugt eine Opportunity in der konfigurierten Pipeline:
- Die Opportunity wird dem zugehörigen Kontakt/Account zugeordnet
- Name und Betrag werden gemäß Konfiguration gesetzt
- Die Salesforce-Opportunity-ID wird an der Shopware-Bestellung gespeichert, um Doppelanlagen zu verhindern
Status-Aktivitäten¶
Statusänderungen der Bestellung werden als Aktivitäten an der Opportunity protokolliert – etwa „Zahlung eingegangen", „Versandt" oder „Storniert". So sieht das Vertriebsteam den kompletten Verlauf direkt in Salesforce.
Bidirektionale Synchronisation (optional)¶
Ist die Rückrichtung aktiviert, werten regelmäßige Abgleiche Änderungen in Salesforce aus. Beispiel: Wird eine Opportunity auf „Closed Won" gesetzt, kann die Kundengruppe des zugehörigen Shopware-Kunden automatisch angepasst werden.
📊 Sync-Dashboard¶
Das Sync-Dashboard im Administrationsbereich bietet:
- Übersicht aller synchronisierten Datensätze (Kontakte, Accounts, Opportunities, Aktivitäten)
- Status je Übertragung (erfolgreich / fehlgeschlagen)
- Fehlerprotokoll mit Detailmeldung der Salesforce-API
- Manueller Sync-Button zum erneuten Anstoßen einzelner oder fehlgeschlagener Übertragungen
🛒 Typische Anwendungsfälle¶
Enterprise-B2B-Vertrieb¶
Firmenkunden werden als Account mit zugeordneten Kontakten in Salesforce geführt. Jede Bestellung landet als Opportunity in der Pipeline und gibt dem Vertrieb sofort Einblick in das Kaufverhalten.
Mittlere & große Unternehmen¶
Wiederkehrende Bestellungen erzeugen nachvollziehbare Opportunities inkl. Aktivitätenverlauf. Das Vertriebsteam kann gezielt Cross- und Up-Selling betreiben.
Sicheres Onboarding über Sandbox¶
Vor dem Go-Live lässt sich die gesamte Integration in der Salesforce Sandbox testen – ohne Auswirkungen auf die Produktivdaten.
⭐ Vorteile für Shopbetreiber¶
- Kein manuelles Übertragen von Kunden und Bestellungen ins CRM
- Vertriebsteam arbeitet durchgängig in Salesforce – mit Echtzeit-Daten aus dem Shop
- Sichere OAuth-2.0-Anbindung über eine Connected App
- Gefahrloses Testen dank Sandbox-Unterstützung
- DSGVO-konform: Daten verbleiben in der eigenen Salesforce-Instanz
🧩 Funktionsumfang¶
- Anlage von Kunden als Kontakt und – bei B2B – als Account
- Opportunity-Erstellung aus Bestellungen in der konfigurierbaren Pipeline
- Protokollierung von Zahlung, Versand und Stornierung als Aktivitäten
- Optionale bidirektionale Synchronisation (Opportunity-Status → Kundengruppe)
- Sync-Dashboard mit Fehlerprotokoll und manuellem Retry
- Sandbox-Unterstützung für gefahrlose Tests
- Sichere OAuth-2.0-Anbindung über eine Salesforce Connected App
- Frei konfigurierbare Event-Auswahl
📚 Dokumentation¶
Weitere Dokumentationsinhalte und Screenshots folgen mit den nächsten Versionen des Plugins.
Technische API-Dokumentation von Salesforce: https://developer.salesforce.com/docs/apis