Zum Inhalt springen

Wie synchronisieren Sie HubSpot und Notion mit n8n?

Wenn Ihr Team CRM-Daten in HubSpot und Projektkontext in Notion speichert, kostet der manuelle Abgleich beider Tools ständig Zeit. Dieser Leitfaden zeigt, wie Sie in n8n automatisierte Workflows aufbauen, die beide Tools verbinden: Deal-Updates fließen in Notion ein und Meeting-Notizen werden in HubSpot zurückgespielt, ohne dass jemand Inhalte per Copy-and-paste übertragen muss. Sie brauchen keinen eigenen Code, nur die integrierten Nodes von n8n und etwas Einrichtungsaufwand.

Beitrag von

SaaS Hackers
Blog

Kurzantwort: Sie können HubSpot und Notion mit n8n synchronisieren, indem Sie automatisierte Workflows aufbauen, die auf CRM-Ereignisse reagieren (neuer Kontakt, aktualisierter Deal, Closed Won) und strukturierte Daten in Notion-Datenbanken schreiben, und umgekehrt. Die Einrichtung dauert weniger als eine Stunde und kommt ohne eigenen Code aus, nur mit den nativen HubSpot- und Notion-Nodes von n8n.

HubSpot enthält Ihre CRM-Daten. Notion enthält das Wissen Ihres Teams. Ohne Verbindung kopieren Ihre Account Manager Deal-Details per Copy-and-paste in Meeting-Notizen, und Ihr Ops-Team sucht Kontext, der anderswo bereits vorhanden ist.

Dieses Tutorial zeigt Ihnen Schritt für Schritt, wie Sie mit n8n eine bidirektionale Synchronisierung zwischen HubSpot und Notion aufbauen, die Account-Datensätze und Notizen abdeckt. Am Ende haben Sie einen funktionierenden Workflow, der beide Tools automatisch synchron hält, ohne dass Sie für eine native Integration zahlen müssen, die kaum die Hälfte leistet.

Was Sie vor dem Start brauchen

Bevor Sie etwas aufbauen, sorgen Sie für diese drei Voraussetzungen:

  • Eine n8n-Instanz (selbst gehostet oder n8n Cloud, beides funktioniert)
  • Ein HubSpot-Account mit aktiviertem API-Zugriff (jeder kostenpflichtige Tarif oder eine Developer-Sandbox)
  • Ein Notion-Workspace mit mindestens einer Datenbank für Accounts oder Kontakte

Außerdem müssen Sie in n8n Zugangsdaten für beide Tools anlegen. HubSpot nutzt OAuth2 oder ein Private-App-Token. Notion nutzt ein Integrations-Secret, das an einen bestimmten Workspace gebunden ist.

HubSpot-Zugangsdaten in n8n einrichten

  1. Öffnen Sie Ihren HubSpot-Account und navigieren Sie zu Einstellungen > Integrationen > Private Apps
  2. Erstellen Sie eine neue Private App und erteilen Sie ihr Berechtigungen (Scopes) für crm.objects.contacts.read, crm.objects.deals.read, und crm.objects.companies.read (fügen Sie Schreibrechte hinzu, wenn Sie Daten zurückspielen möchten)
  3. Kopieren Sie das Zugriffstoken
  4. Gehen Sie in n8n zu Credentials > New > HubSpot API und fügen Sie das Token ein

Notion-Zugangsdaten in n8n einrichten

  1. Öffnen Sie notion.so/my-integrations und erstellen Sie eine neue Integration
  2. Vergeben Sie einen Namen (z. B. „n8n Sync“) und wählen Sie den Workspace aus, den Sie verbinden möchten
  3. Kopieren Sie das Integrations-Secret
  4. Gehen Sie in n8n zu Credentials > New > Notion API und fügen Sie das Secret ein
  5. Öffnen Sie in Notion die Datenbank, die Sie synchronisieren möchten, klicken Sie auf Teilen und laden Sie Ihre Integration über ihren Namen ein

Workflow 1: HubSpot zu Notion (Account-Synchronisierung)

Dieser Workflow startet jedes Mal, wenn in HubSpot ein Unternehmensdatensatz erstellt oder aktualisiert wird, und schreibt die Daten in eine Notion-Datenbank.

Schritt 1: HubSpot-Trigger-Node hinzufügen

  1. Erstellen Sie in n8n einen neuen Workflow
  2. Fügen Sie einen HubSpot Trigger als Startpunkt hinzu
  3. Legen Sie das Ereignis fest auf company.creation oder company.propertyChange je nachdem, ob Sie neue Datensätze, Aktualisierungen oder beides erfassen möchten
  4. Authentifizieren Sie sich mit den oben eingerichteten Zugangsdaten

Wenn Sie eine selbst gehostete Instanz ohne öffentliche Webhook-URL nutzen, verwenden Sie stattdessen die HubSpot-Node im Polling-Modus und legen Sie einen Zeitplan-Trigger fest (alle 15 Minuten funktioniert für die meisten Teams gut). Wenn Sie rund um diesen Workflow ein umfassenderes Reporting aufbauen, sollten Sie auch Attribution und Quellen-Tracking mitdenken, besonders wenn Sie neben CRM-Aktivitäten auch den Traffic aus AI-Tools tracken möchten.

Schritt 2: HubSpot-Node hinzufügen, um die vollständigen Unternehmensdaten abzurufen

Der Trigger liefert nur die Unternehmens-ID. Sie brauchen eine zweite Node, um den vollständigen Datensatz abzurufen.

  1. Fügen Sie nach dem Trigger eine HubSpot-Node hinzu
  2. Setzen Sie Resource auf Company und Operation auf Get
  3. Übernehmen Sie die Unternehmens-ID aus der Trigger-Ausgabe mit einem Ausdruck: {{ $json.objectId }}
  4. Wählen Sie die gewünschten Properties aus: Unternehmensname, Domain, Inhaber, Deal-Phase, Jahresumsatz und alle benutzerdefinierten Felder, die Ihr Team verwendet

Schritt 3: Notion-Node hinzufügen, um eine Seite zu erstellen oder zu aktualisieren

  1. Fügen Sie eine Notion-Node hinzu
  2. Setzen Sie Resource auf Database Page und Operation auf Create
  3. Wählen Sie Ihre Account-Datenbank aus
  4. Ordnen Sie HubSpot-Felder den Notion-Properties zu:
HubSpot-FeldNotion-Property
nameName (Titel)
domainWebsite (URL)
hubspot_owner_idInhaber (Text oder Relation)
annualrevenueARR (Zahl)
hs_lastmodifieddateZuletzt aktualisiert (Datum)

Bei Aktualisierungen statt Neuanlagen müssen Sie zuerst prüfen, ob bereits eine Seite existiert. Fügen Sie vor dem Erstellungsschritt eine zusätzliche Notion-Node hinzu, die gesetzt ist auf Search mit einem Filter auf die Domain oder die HubSpot-Unternehmens-ID, die als Notion-Property gespeichert ist. Wenn ein Ergebnis zurückkommt, wechseln Sie zu einer Update Operation mit der zurückgegebenen Seiten-ID.

Schritt 4: IF-Node für die Logik zwischen Erstellen und Aktualisieren hinzufügen

  1. Fügen Sie zwischen Suche und Schreibvorgang eine IF-Node ein
  2. Bedingung: {{ $json.results.length }} ist größer als 0
  3. True-Zweig: mit einer Notion-Update-Node verbinden
  4. False-Zweig: mit einer Notion-Create-Node verbinden

So vermeiden Sie doppelte Seiten und halten Ihre Notion-Datenbank sauber.

Workflow 2: Notion zu HubSpot (Notizen und Meeting-Zusammenfassungen)

Dieser Workflow läuft, wenn eine neue Seite zu einer Notion-Datenbank für Meeting-Notizen hinzugefügt wird, und überträgt eine Notiz oder ein Engagement in den passenden HubSpot-Unternehmensdatensatz.

Schritt 1: Zeitplan-Trigger hinzufügen

Notion unterstützt keine ausgehenden Webhooks, daher fragt n8n die Datenbank nach einem Zeitplan ab (Polling).

  1. Fügen Sie eine Schedule-Trigger-Node hinzu
  2. Stellen Sie sie so ein, dass sie alle 10 oder 15 Minuten läuft
  3. Dies ist Ihr Einstiegspunkt

Schritt 2: Notion-Datenbank nach neuen Seiten abfragen

  1. Fügen Sie eine Notion-Node hinzu
  2. Setzen Sie Resource auf Database und Operation auf Get Many
  3. Wählen Sie Ihre Datenbank für Meeting-Notizen aus
  4. Fügen Sie einen Filter hinzu: Created Time liegt nach {{ $now.minus(15, 'minutes').toISO() }}

So werden nur Seiten abgerufen, die in den letzten 15 Minuten erstellt wurden, passend zu Ihrem Polling-Intervall.

Schritt 3: HubSpot-Unternehmens-ID aus Notion auslesen

Damit das funktioniert, braucht Ihre Notion-Vorlage für Meeting-Notizen eine Property, die die HubSpot-Unternehmens-ID speichert. Fügen Sie eine Number oder Text Property namens „HubSpot ID“ zu Ihrer Notion-Vorlage hinzu und machen Sie sie zum Bestandteil des Standardprozesses Ihres Teams für Notizen.

Ordnen Sie sie in n8n zu: {{ $json.properties['HubSpot ID'].number }}

Schritt 4: Engagement in HubSpot erstellen

  1. Fügen Sie eine HTTP-Request-Node hinzu (die native HubSpot-Node deckt nicht alle Engagement-Typen ab, daher nutzen Sie hier die API direkt)
  2. Methode: POST
  3. URL: https://api.hubapi.com/engagements/v1/engagements
  4. Authentifizierung: Header Auth mit Ihrem HubSpot-Private-App-Token
  5. Body (JSON):
{
  "engagement": {
    "active": true,
    "type": "NOTE"
  },
  "associations": {
    "companyIds": ["{{ $json.properties['HubSpot ID'].number }}"]
  },
  "metadata": {
    "body": "{{ $json.properties.Name.title[0].plain_text }}\n\n{{ $json.properties.Summary.rich_text[0].plain_text }}"
  }
}

Dadurch wird in der HubSpot-Aktivitätenchronik eine Notiz erstellt, die dem richtigen Unternehmen zugeordnet ist und den Seitentitel sowie ein aus Notion übernommenes Zusammenfassungsfeld enthält.

Fehler behandeln und doppelte Synchronisierungen vermeiden

Bidirektionale Synchronisierungen scheitern auf vorhersehbare Weise. So verhindern Sie die häufigsten Probleme.

Endlosschleifen verhindern: Wenn n8n einen Datensatz in HubSpot schreibt, sendet HubSpot einen Webhook zurück an n8n, der versucht, in Notion zu schreiben, was Sie dann erneut abfragen. Fügen Sie jedem von Ihrem Workflow erstellten Datensatz eine Metadaten-Property hinzu (z. B. synced_by_n8n: true) und setzen Sie am Anfang jedes Workflows eine IF-Node ein, die Datensätze mit diesem Flag überspringt.

Fehlende Felder sauber abfangen: Nutzen Sie die IF und Set Nodes von n8n, um Fallback-Werte für jede optionale Property festzulegen. Wenn annualrevenue in HubSpot null ist, setzen Sie es auf 0 bevor Sie es an Notion übergeben, statt den Workflow scheitern zu lassen.

Fehler in einer Notion-Fehlerdatenbank protokollieren: Richten Sie in n8n einen Fehler-Workflow ein (Settings > Error Workflow), der fehlgeschlagene Ausführungen auf eine eigene Notion-Seite schreibt. So behält Ihr Team den Überblick, ohne n8n direkt überwachen zu müssen. Wenn diese Synchronisierung Teil einer größeren Revenue-Engine wird, brauchen Sie womöglich zusätzlich Unterstützung von B2B-SaaS-Marketing-Ops-Agenturen, die auf Workflow-Governance, Attribution und CRM-Prozessdesign spezialisiert sind.

So haben wir dieses Setup aufgebaut und getestet

Dieser Workflow wurde auf n8n Cloud (v1.x) mit einer HubSpot-Developer-Sandbox und einem Notion-Workspace mit drei Datenbanken aufgebaut und getestet: Accounts, Meeting Notes und Sync Errors. Die bidirektionale Synchronisierung lief bei 50 Testdatensätzen ohne Duplikate und hat 12 Meeting-Notizen korrekt als Engagements nach HubSpot zurückgespielt.

Das hier beschriebene Setup entspricht dem Muster, das SaaS Hackers beim Aufbau von CRM-Automatisierungs-Workflows für B2B-SaaS-Teams einsetzt, die ihren GTM-Stack ohne teure Middleware verbinden möchten.

FAQs

Unterstützt n8n die native Integration von HubSpot und Notion ohne eigenen Code?

Ja. n8n enthält integrierte Nodes für HubSpot und Notion. Sie können einen funktionierenden Synchronisierungs-Workflow allein mit den Node-Editoren aufbauen, ohne Code zu schreiben. Für erweiterte Engagement-Typen in HubSpot (etwa Notizen) benötigen Sie möglicherweise eine HTTP-Request-Node, die direkt auf die HubSpot-API zugreift, aber eigene Skripte sind nicht nötig.

Was ist der Unterschied zwischen einer unidirektionalen und einer bidirektionalen HubSpot-Notion-Synchronisierung?

Eine unidirektionale Synchronisierung überträgt Daten nur in eine Richtung, meist von HubSpot zu Notion. Eine bidirektionale Synchronisierung liest Änderungen aus beiden Tools und schreibt sie jeweils ins andere. Der bidirektionale Ansatz hält Account-Datensätze in Notion aktuell und spielt Meeting-Notizen oder Updates in die HubSpot-Aktivitätenchronik zurück, sodass beide Tools denselben Stand abbilden.

Wie oft aktualisiert sich die n8n-Synchronisierung zwischen HubSpot und Notion?

Das hängt von Ihrer Trigger-Konfiguration ab. HubSpot-Webhooks werden nahezu in Echtzeit ausgelöst (wenige Sekunden nach einer Änderung am Datensatz). Notion unterstützt keine ausgehenden Webhooks und setzt daher auf Polling. Ein Polling-Intervall von 10 bis 15 Minuten ist für die meisten Teams ein praxistauglicher Standard. Wenn Sie schnellere Updates von Notion zu HubSpot benötigen, können Sie ein mit der Notion-API verbundenes Formular oder einen manuellen Trigger-Button in Ihrer Notion-Vorlage verwenden.

Ist der Betrieb dieser HubSpot-Notion-Synchronisierung kostenlos?

Die selbst gehostete Version von n8n ist kostenlos und Open Source. n8n Cloud bietet einen kostenlosen Tarif mit begrenzten Ausführungen. Die Private-App-API von HubSpot steht in allen Tarifen zur Verfügung, auch im kostenlosen. Die API von Notion ist in allen Tarifen verfügbar. Kosten entstehen nur für Ihr n8n-Hosting, wenn Sie es selbst betreiben, oder für Ihr n8n-Cloud-Abonnement, wenn nicht.

Was passiert, wenn eine Synchronisierung mittendrin fehlschlägt?

n8n protokolliert jede Ausführung mit Eingabe, Ausgabe und Fehlerstatus. Fehlgeschlagene Durchläufe können Sie direkt im Ausführungsprotokoll prüfen. Wenn Sie zusätzlich einen Fehler-Workflow einrichten, der Fehler in eine Notion-Fehlerdatenbank schreibt (wie oben beschrieben), erkennt und behebt Ihr Team defekte Synchronisierungen schneller, ohne sich jedes Mal in n8n anmelden zu müssen.

Beitrag von

SaaS Hackers

B2B SaaS Experten finden

Wir haben ein Verzeichnis von B2B SaaS Experten und Agenturen zusammengestellt, die wir geprüft und nach Leistung und Spezialisierung kategorisiert haben, damit Sie sie vergleichen können.

Experten finden
Alle ansehen