HubSpot CRM Integration mit malma: Schritt-für-Schritt
HubSpot CRM Integration mit malma.ai einrichten: Authentifizierung, Lead-Mapping, Kalender-Sync, Webhooks und DSGVO-Compliance Schritt für Schritt erklärt.

Ein Lead ruft an, spricht mit Ihrer Voice-AI, nennt Firma, Bedarf und möglichen Termin. Trotzdem sieht der Vertrieb im HubSpot CRM später weder eine verwertbare Gesprächsnotiz noch einen eindeutigen Status. Statt eines Follow-ups entstehen Rückfragen, doppelte Anrufe und Kalenderlücken. Genau an diesem Punkt entscheidet sich, ob eine HubSpot CRM Integration operative Arbeit abnimmt oder nur einen weiteren technischen Übergang erzeugt.
Für Voice-AI-Workflows reicht es nicht, Kontakte irgendwie zu übertragen. Jedes Gespräch braucht ein sauberes Feld, einen nachvollziehbaren Trigger und eine klare Konsequenz im CRM. Die folgenden Schritte zeigen, wie Sie HubSpot und malma technisch verbinden, Daten sinnvoll abbilden, Termine zuverlässig synchronisieren und die DSGVO-Praxis nicht erst nach dem Go-live berücksichtigen.
Warum die HubSpot CRM Integration über Erfolg oder Misserfolg Ihrer Voice-Kampagne entscheidet
Stellen Sie sich einen mittelständischen Maschinenbauzulieferer aus dem Münsterland vor. Die Voice-AI ruft täglich viele Kontakte an, erreicht Entscheider und qualifiziert einige davon. Im Vertrieb kommen aber nur wenige verwertbare Termine an, weil Gesprächsergebnisse in einer Exportdatei landen, Notizen verspätet eingetragen werden und ein bereits abgelehnter Lead erneut angerufen wird.
Das Problem liegt dann selten in der Sprachqualität. Es liegt in der fehlenden Verbindung zwischen Gespräch, CRM-Datensatz und nächster Aktion. Ohne direkten Push in HubSpot weiß der Workflow nicht, ob ein Kontakt als MQL markiert, eine Follow-up-Mail ausgelöst oder ein Deal angelegt werden soll.

Der entscheidende Unterschied liegt im Datenfluss
Ein erfolgreiches Gespräch erzeugt nicht nur eine Audiodatei oder ein Transkript. Es aktualisiert den Kontakt, setzt einen Gesprächsausgang, schreibt die wichtigsten Qualifizierungsmerkmale in definierte Properties und kann eine Vertriebsaufgabe anlegen. Bei einer Absage wird dagegen ein Ausschlussgrund gespeichert, damit der nächste Anruf diese Information berücksichtigt.
HubSpot bietet für deutsche Teams eine breite Integrationsbasis. Auf der deutschen CRM-Seite nennt HubSpot die Verbindung mit mehr als 2.000 Business-Apps, die deutschsprachige Verfügbarkeit und 155 CRM-Integrationen auf der deutschen Marketplace-Seite (HubSpot CRM für kleine und mittlere Unternehmen). Für Voice-AI ist diese Offenheit wichtig, weil Kalender, Telefonie, Marketing und Vertrieb nicht zwangsläufig aus demselben System stammen.
Praxisregel: Behandeln Sie die CRM-Anbindung nicht als technischen Nachtrag. Definieren Sie zuerst, welche Entscheidung nach jedem Gespräch getroffen werden soll, und bauen Sie das Mapping danach.
Eine gute Integration verkürzt den Weg vom gesprochenen Signal zur operativen Handlung. Der Kontakt erhält den richtigen Status, der zuständige Owner sieht den Gesprächskontext und der Kalender wird nur dann belastet, wenn tatsächlich ein Termin bestätigt wurde. Wer Integrationsoptionen vergleichen will, findet bei job.rocks Integrationen einen nützlichen Überblick über Schnittstellen-Ansätze und typische Systemverbindungen.
Authentifizierung und Kontoverbindung in HubSpot einrichten
Die Verbindung beginnt in HubSpot, nicht im Voice-Agent. Öffnen Sie Einstellungen, wechseln Sie zu Integrationen und wählen Sie Private Apps. Legen Sie eine eigene App für die Voice-Anbindung an, statt einen persönlichen Zugang oder einen gemeinsam genutzten Login zu verwenden.
Private App mit passenden Scopes anlegen
Vergeben Sie nur die Berechtigungen, die der Workflow benötigt. Für einen typischen Kontakt- und Deal-Prozess gehören dazu:
crm.objects.contacts.writecrm.objects.deals.writecrm.schemas.contacts.read
Der Schreibzugriff auf Kontakte ermöglicht das Erstellen und Aktualisieren von Datensätzen. Der Deal-Scope wird gebraucht, wenn qualifizierte Gespräche direkt in eine Pipeline überführt werden. Der Schema-Lesezugriff hilft dabei, verfügbare Kontakt-Properties und ihre internen Namen korrekt zu erkennen.
Kopieren Sie den erzeugten Token unmittelbar nach der Erstellung und hinterlegen Sie ihn in malma unter Integrationen, anschließend HubSpot. Ein Private-App-Token ist schnell eingerichtet und eignet sich gut für ein einzelnes Portal. Für mehrere Portale, Marken oder Tochtergesellschaften ist ein OAuth-Flow sauberer, weil jede Verbindung separat autorisiert und widerrufen werden kann.

Nach dem Speichern sollte der Connector einen Test-Call gegen die HubSpot API ausführen. Prüfen Sie, ob die Portal-ID erkannt wird und ob die Antwort tatsächlich aus dem gewünschten HubSpot-Account stammt. Eine erfolgreiche Token-Prüfung bedeutet noch nicht, dass das spätere Mapping funktioniert. Sie bestätigt zunächst nur, dass die Verbindung und die grundlegenden Berechtigungen erreichbar sind.
Owner und technische Verantwortung festlegen
Setzen Sie anschließend einen Standard-Owner für eingehende Voice-Leads. Ein dedizierter Benutzer wie Inbound-Voice hält die Attribution im Reporting sauberer, als wenn alle Datensätze unter dem persönlichen Account eines Administrators landen.
Dokumentieren Sie Token-Besitzer, Scopes, Portal-ID und Zuständigkeit in Ihrem internen Integrationshandbuch. Für individuelle API-Workflows können Sie ergänzend die malma API-Dokumentation heranziehen. Speichern Sie Geheimnisse nicht in Notizen, Tabellen oder Skripttexten, die für das gesamte Team sichtbar sind.
Lead- und Feldmapping zwischen malma und HubSpot abstimmen
Die eigentliche Integrationsarbeit beginnt nach der Authentifizierung. Ein Voice-Agent sammelt Gesprächsdaten in natürlicher Sprache, HubSpot erwartet dagegen klar definierte Properties mit festen Typen und internen Namen. Ohne ein bewusstes Mapping wird aus einem verständlichen Gespräch schnell eine unbrauchbare Sammlung aus Freitexten.
Legen Sie zuerst fest, welche Informationen für eine Vertriebsentscheidung erforderlich sind. Standardfelder wie first_name, last_name, company, email und phone gehören meist auf vorhandene Kontakt-Properties. Gesprächsspezifische Werte wie decision_authority, pain_point oder voice_call_sentiment sollten getrennt davon gespeichert werden.
Ein belastbares Mapping für deutsche Teams
Für deutsche Mittelständler sind Anrede, Firma, USt-ID, Entscheidungsbefugnis und Gesprächsausgang häufig relevanter als ein langer, unstrukturierter Transkriptblock. Erstellen Sie Custom Properties mit eindeutigen Namen, zum Beispiel voice_lead_source, voice_call_sentiment und malma_call_outcome.
| malma-Feld | HubSpot-Property | Typ | Mapping-Regel |
|---|---|---|---|
first_name |
Vorname | Text | Beim Erstellen und Aktualisieren übernehmen |
last_name |
Nachname | Text | Beim Erstellen und Aktualisieren übernehmen |
company |
Firmenname | Text | Mit bestehender Firmennennung abgleichen |
email |
E-Mail-Adresse | Als primären Match-Schlüssel verwenden | |
phone |
Telefonnummer | Telefon | Internationale Schreibweise vereinheitlichen |
salutation |
Anrede | Auswahlfeld | Nur erlaubte Werte übertragen |
ustid |
vat_id |
Text | Format prüfen, nicht als Freitextnotiz speichern |
decision_authority |
Entscheidungsbefugnis | Auswahlfeld | Werte im Voraus definieren |
pain_point |
Hauptproblem | Mehrzeiliger Text | Zusammenfassung aus dem Gespräch speichern |
voice_call_sentiment |
Gesprächsstimmung | Auswahlfeld | Nur kontrollierte Kategorien verwenden |
malma_call_outcome |
Gesprächsausgang | Auswahlfeld | Für Listen und Workflows nutzen |
lead_score |
Lead-Score | Zahl | Nur bei klarer Bewertungslogik schreiben |
Update oder Create only
Die wichtigste technische Entscheidung lautet Update oder Create only. Als Match-Schlüssel eignet sich in vielen Setups die E-Mail-Adresse. Findet HubSpot einen bestehenden Kontakt, aktualisiert der Workflow definierte Felder. Gibt es keinen Treffer, wird ein neuer Kontakt angelegt.
Telefonnummern allein sind dafür riskanter. Durch unterschiedliche Schreibweisen, Durchwahlen oder gemeinsam genutzte Unternehmensnummern entstehen schnell Dubletten. Prüfen Sie außerdem Pflichtfelder. Wenn HubSpot eine E-Mail-Adresse verlangt, muss malma diese entweder zuverlässig liefern oder das Feld im Integrationsworkflow optional behandeln. Sonst kann der Sync mit einem Validierungsfehler abbrechen.
Schreiben Sie nicht jede Gesprächsinformation in die Kontaktbeschreibung. Strukturierte Properties steuern Listen, Workflows und Reporting, während das Transkript den Kontext liefert.
Kalender-Sync und Webhook-Forwarding sauber verschalten
Eine Terminbuchung besteht aus zwei getrennten Vorgängen. Der Voice-Agent muss freie Zeiten aus dem Kalender erhalten und eine bestätigte Buchung anschließend als verlässliches Ereignis an HubSpot melden. Wenn nur einer dieser Wege funktioniert, sieht der Kontakt entweder einen Termin, der gar nicht existiert, oder der Kalender enthält eine Buchung, die im CRM fehlt.
Verbinden Sie zuerst Outlook oder Google Kalender mit malma. Der Agent darf verfügbare Slots nicht aus einer statischen Liste vorlesen, sondern muss die aktuelle Verfügbarkeit abfragen. Bei einem Buchungswunsch werden Startzeit, Endzeit, Zeitzone und Teilnehmerdaten geprüft, bevor der Termin bestätigt wird.

Buchungsstatus in HubSpot abbilden
Definieren Sie für gebuchte und stornierte Termine eigene Werte, beispielsweise in malma_call_outcome oder einer separaten Property wie voice_appointment_status. Ein gebuchter Slot sollte zusätzlich die Meeting-Aktivität, den Terminbeginn und den zuständigen Owner aktualisieren. Bei einer Stornierung darf der Datensatz nicht einfach unverändert bleiben, sonst hält der Vertrieb einen überholten Status für aktuell.
Für eingehende Ereignisse wie call.completed, appointment.booked und appointment.cancelled kann malma einen Webhook an eine HubSpot Workflow-URL oder eine Custom-Code-Aktion weiterleiten. Ein schlanker Request-Body könnte so aussehen:
{
"event_id": "event-identifier",
"contact_id": "hubspot-contact-id",
"event_type": "appointment.booked",
"slot_start": "2026-09-15T10:00:00+02:00",
"slot_end": "2026-09-15T10:30:00+02:00"
}
Die Werte contact_id, event_type, slot_start und slot_end bilden die Verbindung zwischen Ereignis und CRM-Aktion. Die event_id ist für eine idempotente Verarbeitung entscheidend. Speichert der Workflow bereits verarbeitete IDs, wird ein wiederholter Webhook nicht als zweiter Termin angelegt.
Legen Sie das Webhook-Secret erst an, nachdem der Kalenderprovider verbunden und der End-to-End-Test vorbereitet ist. Für die konkrete Kalenderlogik kann die Anleitung zum Google Kalender Sync bei malma als technische Referenz dienen. Prüfen Sie bei Outlook und Google Kalender jeweils Zeitzone, Arbeitszeiten, Puffer und Absageverhalten.
Test-Workflows und Live-Monitoring in HubSpot kontrollieren
Eine Integration, die nur im Demo-Gespräch funktioniert, ist im Live-Betrieb wertlos. Beginnen Sie mit Testkontakten in einer separaten HubSpot-Liste oder einem Staging-Portal. Verwenden Sie bekannte Antworten, damit Sie später eindeutig prüfen können, ob Status, Properties und Aktivitäten korrekt geschrieben wurden.
Ein Testplan mit klaren Ergebnissen
Führen Sie nicht nur einen erfolgreichen Buchungsfall aus. Ein realistischer Test deckt auch Nichterreichbarkeit, Ablehnung, unvollständige Kontaktdaten, Rückrufwunsch und Stornierung ab. Nach jedem Test prüfen Sie den Kontaktverlauf, die Lifecycle Stage, die Zuordnung zum Owner und mögliche Deal-Aktivitäten.
| Test-Szenario | Erwartetes HubSpot-Ergebnis | Monitoring-KPI |
|---|---|---|
| Kontakt wird erreicht und zeigt Interesse | Kontakt wird aktualisiert, Gesprächsausgang wird gespeichert | Qualified-Lead-Rate |
| Ansprechpartner lehnt ab | Ablehnungsgrund wird gespeichert, kein erneuter Standard-Follow-up | Anteil ausgeschlossener Kontakte |
| E-Mail-Adresse fehlt | Datensatz wird nach definierter Regel behandelt, Sync bleibt nachvollziehbar | Fehlerquote bei Pflichtfeldern |
| Termin wird gebucht | Meeting und Buchungsstatus werden am richtigen Kontakt gespeichert | Booking Conversion |
| Termin wird storniert | Meeting-Status und Follow-up-Aufgabe werden angepasst | No-Show-Rate |
| Gespräch endet ohne Qualifizierung | Aktivität und Outcome landen im CRM, kein falscher MQL-Status | Cost per Qualified Lead |
| Webhook wird erneut zugestellt | Keine doppelte Aktivität oder doppelte Buchung entsteht | Event-Fehler und Duplikate |
Call-Logs und Vertriebsansicht
Übernehmen Sie aus dem malma Call-Log mindestens transcript_url, sentiment und outcome. In HubSpot sollten diese Werte als Engagement-Aktivität oder in klar benannten Properties erscheinen, damit Vertriebsmitarbeiter den Gesprächsverlauf direkt am Kontakt sehen.
Für das Live-Monitoring eignet sich ein Custom Report mit dem Filter Lead-Quelle = Voice-AI. Prüfen Sie diesen Bericht täglich zu einem festen Zeitpunkt, beispielsweise am Beginn des Arbeitstags, und kontrollieren Sie nicht nur Buchungen. Entscheidend sind auch Cost per Qualified Lead, No-Show-Rate, Booking Conversion und Time-to-First-Response. Ein schneller Vertrieb kann einen technischen Fehler nicht ersetzen, aber er kann einen korrekt übergebenen Lead rechtzeitig weiterbearbeiten.
DSGVO und Datenhoheit in der HubSpot-Anbindung absichern
Die Frage ist nicht, ob ein CRM pauschal „DSGVO-konform“ ist. Entscheidend ist, ob Ihr konkreter Prozess aus Einwilligung, Aufzeichnung, Transkript, Terminbuchung, Aufbewahrung und Löschung nachvollziehbar dokumentiert werden kann. HubSpot beschreibt EU-Datenspeicherung, Consent-Management und dokumentierte Datenverarbeitung als Bestandteile seiner Plattform. Gleichzeitig weist die praktische Umsetzung auf zusätzlichen Konfigurations- und Prüfaufwand hin (DSGVO-konformes CRM und Marketing mit HubSpot).
HubSpot stellt nach eigener Darstellung EU-Kundendaten standardmäßig in Frankfurt am Main und Dublin bereit und ermöglicht europäischen Kunden, Daten innerhalb der EU zu halten. Das reduziert bestimmte Transferfragen, ersetzt aber keine Prüfung der eingesetzten Dienste, Verträge und Datenflüsse.
Verträge und Verarbeitungszwecke
Schließen Sie die erforderlichen Vereinbarungen zur Auftragsverarbeitung mit den beteiligten Dienstleistern und prüfen Sie, ob zusätzliche Standardvertragsklauseln oder eine Transfer Impact Assessment erforderlich sind. Der gleiche Prüfpfad gilt für Kalenderanbieter, Telefonie, Transkriptverarbeitung und jede Middleware.
Ordnen Sie jedes Feld einem Zweck zu. Eine USt-ID kann für die geschäftliche Zuordnung relevant sein. Eine Gesprächsstimmung darf nur dann gespeichert werden, wenn Zweck, Rechtsgrundlage, Zugriff und Löschung feststehen. Freitextfelder sind besonders kritisch, weil Mitarbeitende dort schnell sensible oder nicht erforderliche Informationen ablegen.
Einwilligung und Audit-Spur
Wenn Sie Gespräche aufzeichnen oder transkribieren, muss der Einwilligungsprozess verständlich und technisch nachvollziehbar sein. Speichern Sie nicht nur ein Ja/Nein-Feld. Eine Property wie consent_call_recording kann mit Zeitstempel und einem relevanten Transkript-Ausschnitt verknüpft werden, sofern das zu Ihrer rechtlichen Bewertung und Dokumentation passt.
Automatisieren Sie Lösch- und Aufbewahrungsprozesse in HubSpot Workflows. Exportieren Sie Audit-Logs regelmäßig und beschränken Sie Zugriffe nach Rollen. Für die Gestaltung vertrauenswürdiger KI-Prozesse bietet der Beitrag vertrauenswürdige KI bei malma ergänzenden Kontext. Die technische Integration bleibt dabei nur ein Baustein. Verantwortlich für Zweck, Rechtsgrundlage und Umsetzung bleibt Ihr Unternehmen.
Best Practices und 30-Tage-Roadmap für Lead-Qualifizierung
Eine funktionierende HubSpot CRM Integration entsteht nicht durch möglichst viele Felder. Sie entsteht durch eine überschaubare Entscheidungskette. Der Voice-Agent erfasst ein Signal, HubSpot speichert es strukturiert, ein Workflow setzt den nächsten Status und der Vertrieb erhält eine konkrete Aufgabe.

Lifecycle Stages und BANT-Logik verbinden
Definieren Sie vor dem Skript, welche Antworten welchen Status auslösen. Ein erkennbarer Bedarf allein muss nicht automatisch zum MQL führen. Kombinieren Sie Bedarf, Entscheidungsbefugnis, Budgetindikation und zeitlichen Rahmen zu einer nachvollziehbaren Regel.
Beispielhaft kann das Modell so aussehen:
- Bedarf erkannt:
pain_pointwird gefüllt und der Kontakt bleibt in der Bearbeitung. - Entscheidungsbefugnis bestätigt:
decision_authoritywird gesetzt und die Vertriebsrelevanz steigt. - Zeitfenster konkret:
lead_scorewird nach Ihrer internen Regel angepasst. - Termin gebucht:
malma_call_outcomeerhält den Buchungsstatus und HubSpot legt die nächste Vertriebsaktion an. - Kein Interesse: Ablehnungsgrund speichern und den Kontakt aus dem aktiven Anrufsegment entfernen.
Der Fahrplan für vier Wochen
Woche 1, Datenbasis: Prüfen Sie bestehende Kontakt-Properties, Pflichtfelder, Dublettenregeln und die Benennung Ihrer Custom Properties. Legen Sie eine Baseline für relevante Vertriebskennzahlen an, ohne die Daten durch neue Workflow-Aktionen zu verfälschen.
Woche 2, Skript: Analysieren Sie echte Ablehnungsgründe und ergänzen Sie nur Gesprächsfragen, die eine spätere CRM-Entscheidung beeinflussen. Jeder BANT-Trigger braucht ein Ziel-Feld und einen definierten Folgeschritt.
Woche 3, Automatisierung: Schärfen Sie Listenfilter, Lifecycle-Stage-Trigger und Vertriebsbenachrichtigungen. Testen Sie jede Änderung mit Staging-Kontakten, bevor sie auf die aktive Datenbank angewendet wird.
Woche 4, Übergabe: Prüfen Sie Kalender-Slots, Meeting-Erstellung, Stornierungen und die Reaktionszeit des Vertriebs. Kontrollieren Sie außerdem, ob gebuchte Termine eindeutig einem Kontakt und dem richtigen Owner zugeordnet werden.
Arbeitsstandard: Jede Workflow-Änderung wird zuerst an einem getrennten Staging-Portal validiert. Erst danach gehört sie in den Live-Prozess.
Nutzen Sie konsistente Namenskonventionen, getrennte Test-Pipelines und eindeutige Outcome-Werte. Ein Feld wie malma_call_outcome ist wertvoll, wenn alle Beteiligten dieselbe Bedeutung verwenden. Es wird zum Problem, wenn ein Team „interessiert“, „qualifiziert“ und „Termin gebucht“ ohne klare Abgrenzung vermischt.
malma.ai verbindet Voice-AI für Lead-Qualifizierung, Gesprächsdokumentation und direkte Terminbuchung mit HubSpot, Kalendern und Webhooks. Prüfen Sie auf malma.ai, wie sich Ihre konkreten Felder, Trigger und DSGVO-Anforderungen in einem belastbaren Voice-Workflow abbilden lassen, und starten Sie mit einem klar abgegrenzten Testprozess.



