Ausgangslage: Access kennt die AblÀufe, CRM kennt die Kundenhistorie
Du hast in Access Prozesse, die das CRM nicht abbildet.
Das CRM (z.âŻB. HubSpot, Salesforce, Zoho, Dynamics) hat zentrale Kontaktdaten, AktivitĂ€ten, Leads.
Ziel: Daten synchronisieren â ohne doppelte Pflege.
Also: saubere Schnittstelle bauen.
Access bleibt operativ, CRM bleibt vertrieblich.
Variante 1: REST-API Zugriff auf CRM (z.âŻB. HubSpot)
Beispiel: Kunde aus HubSpot holen
Public Function HoleKontakt(hubspotID As String) As String
Dim http As Object
Set http = CreateObject("MSXML2.XMLHTTP")
Dim url As String
url = "https://api.hubapi.com/crm/v3/objects/contacts/" & hubspotID & "?hapikey=DEINTOKEN"
http.Open "GET", url, False
http.Send
HoleKontakt = http.responseText
End Function
JSON parsen, dann z.âŻB. email
, firstname
, lastmodifieddate
extrahieren.
Neuen Kontakt anlegen
Public Sub NeuerKontaktVorbereiten()
Dim http As Object
Set http = CreateObject("MSXML2.XMLHTTP")
Dim json As String
json = "{""properties"":{""email"":""kunde@example.com"",""firstname"":""Max"",""lastname"":""Mustermann""}}"
http.Open "POST", "https://api.hubapi.com/crm/v3/objects/contacts?hapikey=DEINTOKEN", False
http.setRequestHeader "Content-Type", "application/json"
http.Send json
End Sub
Variante 2: Salesforce oder Dynamics 365 via Power Automate
Access exportiert DatensÀtze als CSV oder JSON.
Power Automate holt die Datei, ĂŒbertrĂ€gt sie ins CRM.
RĂŒckmeldung via HTTP, Datei oder Statusfeld.
Beispiel:
- Access â
tblNeueLeads
- Power Automate â âNeue Leads in Dynamics CRM erstellenâ
- Access â setzt danach
ExportiertAm
Variante 3: Webhook-Zwischenschicht mit n8n oder Make.com
Access â JSON via HTTP POST â
n8n verarbeitet â
POST an Salesforce, Zoho, Pipedrive usw.
Public Sub SendeLead()
Dim http As Object
Set http = CreateObject("MSXML2.XMLHTTP")
Dim payload As String
payload = "{""firma"":""Beispiel GmbH"",""kontakt"":""Anna Beispiel""}"
http.Open "POST", "https://hook.integromat.com/abc123", False
http.setRequestHeader "Content-Type", "application/json"
http.Send payload
End Sub
Variante 4: CRM â Access: Daten importieren
Viele CRMs bieten CSV- oder Excel-Exporte.
Access importiert regelmĂ€Ăig:
DoCmd.TransferText acImportDelim, , "tmpCRM", "C:\Import\kontakte.csv", True
CurrentDb.Execute "INSERT INTO tblKunden SELECT * FROM tmpCRM WHERE NOT EXISTS (SELECT 1 FROM tblKunden WHERE Email = tmpCRM.Email)"
Ideal fĂŒr Berichte, Auswertungen oder Follow-up-Logik.
Synchronisationslogik in Access
- Nur geĂ€nderte DatensĂ€tze ĂŒbertragen (
LetzteĂnderung
,SyncStatus
) - Jede Aktion mitloggen (
tblCRMLog
) - Eindeutige IDs beibehalten (
crm_id
,extern_ref
) - Konflikte sichtbar machen (
SyncKonflikt = True
) - Schreibzugriffe immer in Transaktionen kapseln
CurrentDb.BeginTrans
CurrentDb.Execute "UPDATE tblKunden SET crm_id = '1234', SyncStatus='Gesendet' WHERE ID=17"
CurrentDb.CommitTrans
Einsatzszenarien
- Leadgenerierung ĂŒber Access-Formulare â ins CRM schieben
- Newsletter-Opt-Ins aus Access synchronisieren
- Verkaufschancen lokal vorbereiten â CRM ĂŒbernimmt
- SupportvorgÀnge aus CRM in Access auswerten
- Kontaktstatus aus CRM in Access-Prozesslogik einbauen
Geeignete CRMs mit REST-API
- HubSpot
- Zoho CRM
- Salesforce
- Pipedrive
- Microsoft Dynamics 365
- weclapp
- CentralStationCRM
Fazit fĂŒr Entwickler
CRM-Integration braucht Disziplin.
Access ist flexibel, CRM ist strukturiert.
Du musst beide Welten verbinden â ohne doppelt zu denken.
No responses yet