---
title: "HubSpot API: Token, Limits, Webhooks | JustAutomate"
description: "Private App oder OAuth 2.0, Rate Limits, Webhooks, Batch mit 100 Datensätzen und Wiederholung nach 429. Pilot im Testaccount, Integration in 14 Tagen."
url: "https://justautomate.ai/de/api/hubspot/"
lang: de
---

Integration über Schnittstellen

# HubSpot API worauf diese Integration steht

Die technische Schicht der Anbindung an HubSpot: Authentifizierung über Private App oder OAuth 2.0, Eigenschaften mit einem internen Namen, den Sie nach dem Anlegen des Feldes nicht mehr ändern, Suche und Seitenweiterschaltung per Cursor, Rate Limits, Webhook gegen Abfrage im Takt, Batch-Operationen, Testaccount und Fehlerbehandlung. Für alle, die vor der Freigabe des Umfangs wissen wollen, worauf das steht.

 Kostenloses Erstgespräch [So läuft der Workshop](https://justautomate.ai/de/ki-beratung/)

- 100 Datensätzegehen in einen Batch-Aufruf statt in hundert einzelne Anfragen; größere Pakete teilen wir und behalten das Limit dabei im Blick
- 429der Code, den HubSpot nach Überschreiten des Rate Limits zurückgibt. Die Warteschlange bremst, wiederholt mit wachsendem Abstand und verliert kein Ereignis
- 14 Tagevom Workshop bis zur ersten Integration auf Ihrem Account, vorher im Testaccount geprüft

Das Problem

## Warum bricht eine HubSpot-Integration einen Monat nach dem Start?

Am Tag der Umstellung läuft alles, weil die Daten sauber sind und der Verkehr klein ist. Einen Monat später bricht der Import in der Mitte ab, weil HubSpot einen Teil der Anfragen am Limit abgewiesen hat und das Skript weitergelaufen ist, ohne festzuhalten, welche Datensätze durchkamen. Zwei Monate später kann niemand den Token erneuern, weil er in einer Private App liegt, die jemand angelegt hat, der nicht mehr im Unternehmen arbeitet.

Die zweite Gruppe von Problemen steckt in den Feldern. Eine Eigenschaft in HubSpot hat ein Label für Menschen und einen internen Namen für die Integration. Das Label ändern Sie jederzeit, den internen Namen nach dem Anlegen des Feldes nicht mehr, wie die [Entwicklerdokumentation von HubSpot](https://developers.hubspot.com/docs/api/overview) beschreibt. Ein Fehler aus dieser Phase bleibt im Code jedes Ablaufs, der nach diesem Feld entscheidet, und die Reparatur bedeutet ein neues Feld, umgeschriebene Daten und eine Änderung an jeder Stelle, die das Feld liest.

Die dritte Gruppe sind Ereignisse. Eine Abfrage alle 15 Minuten ist schnell geschrieben und teuer im Betrieb: sie vervielfacht Anfragen, verliert Änderungen zwischen zwei Durchläufen und verzögert die Reaktion. Ein Webhook liefert das Ereignis in Sekunden, verlangt aber die Prüfung der Signatur, eine sofortige Empfangsbestätigung und die Annahme, dass dasselbe Ereignis zweimal ankommen kann und nicht in der Reihenfolge, in der es passiert ist.

- Der Import endet nach einem Teil der Datensätze und niemand weiß, welche durchkamen
- Der Token liegt in einer Datei auf einem Laptop, ohne Rechteliste und ohne Verfahren für den Austausch
- Der Webhook nimmt jede Anfrage an, weil niemand die Signatur prüft
- Das Feld „Branche“ entstand als freier Text, also kann keine Automatik danach entscheiden
- Die Liste im CRM zeigt eine andere Zahl als der Bericht, weil die Suche die Änderung noch nicht sieht

Warum jetzt

## Warum schreibt man so eine Integration heute nicht mehr von Grund auf?

HubSpot hat eine REST-Schnittstelle für alle CRM-Objekte, einen eigenen Endpunkt für die Suche, Batch-Operationen und Webhooks. Für interne Automatisierung genügt eine Private App mit Token und einer ausgewählten Rechteliste. OAuth 2.0 bleibt dort, wo es wirklich gebraucht wird: in einer Anwendung, die andere Unternehmen bei sich installieren, und im Marketplace von HubSpot.

Die zweite Änderung ist die Testumgebung. Ein Entwickleraccount ist kostenlos und liefert Testaccounts, das Paket Enterprise ergänzt eine Sandbox. Der Pilot läuft also auf echten, unschönen Daten, und das produktive CRM ist kein Übungsplatz. Ein Testaccount startet leer, die Testdaten muss also jemand einspielen, und das ist eine eigene Position im Plan und kein Nebeneffekt.

Die dritte Änderung ist die Zwischenschicht. n8n, Make und Zapier haben fertige Bausteine für HubSpot mit Token-Authentifizierung, eigener Code bleibt also dort, wo er gebraucht wird: bei ungewöhnlichen Transformationen, bei Systemen ohne Schnittstelle und bei Paketen, die man selbst teilen muss. Was daraus für den Ablauf folgt und wer welche Eigenschaft überschreiben darf, steht auf der Seite zur [Prozessautomatisierung](https://justautomate.ai/de/prozessautomatisierung/).

Was sich ändert

## Was bekommt die Person, die das später betreut?

- ### Authentifizierung, die den Weggang des Autors übersteht
Private App mit Rechten, die getrennt für Lesen und für Schreiben vergeben werden, Token in der Geheimnisverwaltung, ein schriftliches Verfahren für den Austausch. Für eine Anwendung, die andere Unternehmen bei sich installieren, bauen wir OAuth 2.0 mit Token-Erneuerung und Behandlung des Ablaufs.
Rechteliste Feld für Feld notiert, Token-Wechsel ohne Unterbrechung im Betrieb
- ### Das Rate Limit wirft den Import nicht mehr um
Der Verkehr läuft über eine Warteschlange, die die Kopfzeilen mit dem verbleibenden Kontingent liest und bremst, bevor HubSpot mit 429 antwortet. Nach einer Abweisung wiederholt sie mit wachsendem Abstand und nicht in der Schleife.
Ereignis zurückgestellt und wiederholt statt eines Datensatzes, der spurlos im Log verschwindet
- ### Ereignis in Sekunden statt im Abfragetakt
Die Anlage eines Kontakts und die Änderung einer Eigenschaft kommen per Webhook direkt nach dem Ereignis. Die Signatur prüfen wir beim Eingang, den Empfang bestätigen wir sofort, die Arbeit erledigt die Warteschlange dahinter.
Idempotente Verarbeitung, ein doppelt geliefertes Ereignis legt keinen zweiten Datensatz an
- ### Batch statt hunderter einzelner Anfragen
Massenschreiben und Massenlesen laufen über Batch-Operationen mit bis zu 100 Datensätzen, abgeglichen über eine eindeutige Eigenschaft, etwa die E-Mail-Adresse oder die Umsatzsteuer-Identifikationsnummer. Die Antwort lesen wir Datensatz für Datensatz, weil ein Teil des Pakets scheitern kann.
Bis zu 100 Datensätze in einem Aufruf und ein eigenes Ergebnis für jeden davon
- ### Eigenschaften, die einmal richtig entworfen sind
Interne Namen, Typen und Wertelisten legen wir vor dem Anlegen der Felder fest, im Workshop. Ein Feld, nach dem eine Automatik entscheiden soll, entsteht als Werteliste und nicht als Freitext, den jemand von Hand einträgt.
Interner Name steht fest, bevor das Feld existiert, denn danach ändert er sich nicht mehr
- ### Den Fehler sehen Sie vor dem Kunden
Jeder gescheiterte Aufruf landet in einer Meldung mit Antwortcode, Name der Eigenschaft und der Korrelations-ID aus der Antwort von HubSpot. Ereignisse, die nicht durchkamen, warten in einer eigenen Warteschlange auf die Wiederholung.
Korrelations-ID zum Einfügen in das Ticket beim Support von HubSpot

Beleg

## Arbeiten Sie selbst so über Schnittstellen?

Ja. Der KI-Agent in der Agentur unserer Gründer spricht seit März 2026 mit HubSpot und den übrigen Systemen ausschließlich über Schnittstellen. Unten steht der Umfang dieses Verkehrs, samt dem, was diese Zahl NICHT belegt.

Bei uns selbst umgesetzt. Das sind keine Kundenprojekte, sondern Umsetzungen in den eigenen Unternehmen der Gründer. Wir sagen das offen, denn ein Beleg, den man nicht prüfen kann, ist keiner.

- ![JustIdea Agency](https://justautomate.ai/klienci/justidea.png)![JustBot](https://justautomate.ai/agenci/justbot-80.webp)JustBotihr Agent
JustIdea Agency, Performance-Marketing-Agentur mit rund 30 Personen
23
Personen aus der Firma arbeiten mit dem Agenten
38
dauerhaft angebundene Systeme
112
Prozesse laufen ohne Menschen
475
Tausend Zeilen Agenten-Code
Ein Agent, verbunden mit HubSpot, den Formularen auf der Website, Slack und dem Data Warehouse. Authentifizierung über Token, Schreiben über die Schnittstelle, Formularereignisse werden Sekunden nach dem Absenden verarbeitet.
8 von 38 Systemen, in denen er arbeitet

  - Google Ads
  - Meta Ads
  - HubSpot
  - ActiveCollab
  - Ahrefs
  - GA4
  - Search Console
  - BigQuery
Vorher
Datensätze entstanden von Hand, es gab also nichts zu protokollieren: niemand wusste, wie viele Operationen täglich durchlaufen, wie viele scheitern und woran.
Nachher
Jede Operation läuft über die Schnittstelle und hinterlässt einen Eintrag im Log, mit Art des Aufrufs und Ergebnis. Erst das erlaubte es, Limits, Fehler und den Anteil ohne Menschen zu zählen.

64.903 Werkzeugaufrufe in 30 Tagen, davon 29.854 ohne Menschen, darunter 3.432 Operationen auf Leads und 1.301 auf Formularanfragen

Und bei Ihnen

## Was, wenn Sie schon eine eigene Integration haben?

Vier Sätze hören wir von technischen Ansprechpartnern am häufigsten, und das antworten wir darauf.

Personenbezogene Daten aus Kontakten verarbeiten wir nach der [Verordnung 2016/679](https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32016R0679): an den Orchestrator gehen nur die Felder, die für die Entscheidung nötig sind, und das Löschen von Datensätzen läuft über den dafür vorgesehenen Endpunkt und nicht über ein einfaches Entfernen des Objekts.

- Wir haben ein Skript, das Daten liefert und läuft.
Gut, und meistens bleibt es. Wir prüfen vier Dinge daran: ob es das Limit beachtet und nach 429 wiederholt, ob es beim Webhook die Signatur prüft, ob der Token in der Geheimnisverwaltung liegt und ein Verfahren für den Austausch hat, und ob es nach einem gescheiterten Batch weiß, welche Datensätze durchkamen. Wir reparieren nur das, was diese Liste nicht besteht, statt alles neu zu schreiben.
- Zugriff auf das ganze CRM bekommen Sie nicht.
Muss auch nicht sein. Eine Private App bekommt Rechte Feld für Feld, getrennt für Lesen und für Schreiben, und eine Erweiterung des Umfangs verlangt eine erneute Freigabe im Panel. Wir starten mit reinem Lesen, das Schreiben schalten wir nach dem Piloten frei, auf einer engen Liste von Operationen. Der Ablauf kann auf Ihrer Infrastruktur laufen, dann verlassen die Daten Ihre Server nicht.
- Unsere IT schreibt das selbst.
Oft stimmt das, und wir sagen es offen. Dann endet der Workshop mit einer Spezifikation, die Ihr Team ohne uns umsetzt: Liste der Objekte und Eigenschaften mit internen Namen, Rechteumfänge, Plan für Limits und Fehler, Testfälle. Wir bleiben höchstens für die Durchsicht des Codes und die Einrichtung der Überwachung.
- Wir haben HubSpot kostenlos, die Schnittstelle bringt uns also nichts.
Lesen und Schreiben über die Schnittstelle funktioniert in jedem Paket, daran ändert sich nichts. Das Paket entscheidet darüber, was innerhalb von HubSpot möglich ist: eigene Objekte ab Enterprise, Workflows ab Professional, die Sandbox ebenfalls ab Enterprise. Auf einem kostenlosen Account testen wir in einem Testaccount aus dem Entwickleraccount, und die Logik wohnt in n8n oder Make.

HubSpot-Objekte

Kontakte, Unternehmen, Deals, Tickets, Angebotspositionen, Produkte, Aktivitäten, eigene Objekte ab Enterprise

Schnittstellen

REST API v3, Endpunkt für die Suche, Batch-Operationen, Verknüpfungen, Eigenschaften, Webhooks

Authentifizierung

Private App mit Token, OAuth 2.0 für öffentliche Anwendungen, Rechte getrennt für Lesen und Schreiben

Automatisierungsschicht

n8n, Make, Zapier, eigene Anbindungen in Node.js oder Python

Systeme auf der Gegenseite

sevDesk, lexoffice, DATEV, Xentral, Shopware, JTL, Shopify, WooCommerce, Stripe, Mollie

Daten und Überwachung

BigQuery, Google Sheets, GA4, SQL-Datenbanken, Meldungen in Slack und Microsoft Teams

## Operationsarten der HubSpot-API und worauf zu achten ist

Sieben Punkte, die in dieser Integration immer entschieden werden müssen. Die dritte Spalte ist die wichtigste, denn dort stehen die Gründe, aus denen eine Integration nach dem ersten Monat stehen bleibt.

| Art der Operation         | Wie wir es umsetzen                                                                                                                   | Worauf zu achten ist                                                                                                                                                            |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Authentifizierung         | Private App mit Token in der Kopfzeile der Anfrage; OAuth 2.0, wenn andere Unternehmen die Anwendung bei sich installieren            | Rechte vergeben Sie getrennt für Lesen und Schreiben, ihre Änderung verlangt eine erneute Freigabe; ein OAuth-Token wird erneuert, ein Token der Private App von Hand getauscht |
| Einzelnen Datensatz lesen | Objekt über die ID oder über eine eindeutige Eigenschaft holen, mit ausdrücklicher Feldliste                                          | standardmäßig kommt nur ein Teil der Eigenschaften zurück, die Feldliste gehört also zum Datenvertrag und ist kein Detail des Aufrufs                                           |
| Suche                     | Endpunkt für die Suche mit Filtergruppen, einer Sortierung und einem Cursor für die nächsten Seiten                                   | ein frisch geschriebener Datensatz ist mitunter verzögert sichtbar, und die Ergebnismenge je Abfrage ist begrenzt; größere Abzüge teilen wir nach Änderungsdatum                |
| Seitenweiterschaltung     | Cursor „after“ aus der Antwort, bis zu 100 Datensätze je Seite                                                                        | es gibt keine Seitennummern; bei langen Abzügen speichern wir den Cursor, damit sich nach einem Fehler fortsetzen lässt statt neu zu beginnen                                   |
| Massenschreiben           | Batch-Operationen mit bis zu 100 Datensätzen in einem Aufruf, Abgleich über eine eindeutige Eigenschaft                               | die Antwort ist mitunter unvollständig: ein Teil des Pakets geht durch, ein Teil nicht; wir lesen das Ergebnis je Datensatz und wiederholen nur die gescheiterten               |
| Ereignisse                | Webhooks auf die Anlage eines Objekts und die Änderung einer Eigenschaft; Abfrage nach Änderungsdatum dort, wo es keinen Webhook gibt | die Signatur prüfen wir bei jeder Anfrage, den Empfang bestätigen wir sofort; die Reihenfolge ist nicht garantiert und dasselbe Ereignis kann zweimal kommen                    |
| Limits und Fehler         | Warteschlange mit Wiederholung: nach 429 warten, nach 5xx mit wachsendem Abstand, nach 4xx ohne Wiederholung                          | 400 heißt meist falscher interner Name oder falscher Typ, 403 ein fehlendes Recht; die Korrelations-ID aus der Antwort schreiben wir in die Meldung                             |

Die Zahlenwerte der Limits nennen wir nach der Dokumentation von HubSpot und prüfen sie vor der Umsetzung auf Ihrem Account, weil sie vom Paket abhängen und sich im Lauf der Zeit ändern. Die aktuellen Schwellen stehen auf <a href="https://developers.hubspot.com/docs/api/overview" rel="noopener">developers.hubspot.com</a>.

Wie wir arbeiten

## Fünf Schritte bis zu einer Integration, die sich betreiben lässt

Erst der Prozess, dann die Werkzeuge. Jeder Schritt endet mit etwas, das Sie beurteilen können, bevor Sie über den nächsten entscheiden.

1. ### Workshop und Prüfung des Accounts über die Schnittstelle
Wir lesen Eigenschaften, Deal-Stufen, eigene Objekte, Workflows und das Paket, und wir zählen Fakten: welche Felder wirklich gefüllt werden, welche als Freitext statt als Werteliste entstanden sind, wie viele Dubletten es gibt. Wir sehen auch nach, welche Integrationen und Token bereits existieren, denn es sind meistens mehr, als jemand im Kopf hat.
2. ### Datenvertrag und Rechte
Wir schreiben Objekte, Eigenschaften mit internen Namen und Typen, den Schlüssel für den Abgleich beim Massenschreiben und die Rechteliste getrennt für Lesen und Schreiben auf. Hier entscheiden wir auch, was per Webhook und was per Abfrage kommt und wo die Logik wohnt: im Workflow von HubSpot oder im Orchestrator.
3. ### Pilot im Testaccount
Die Integration läuft zuerst in einem Testaccount aus dem Entwickleraccount, im Paket Enterprise in der Sandbox. Wir schicken die unschönen Fälle hindurch: Datensatz ohne Pflichtfeld, Dublette, Batch mit teilweise scheiternden Datensätzen und ein absichtlich ausgelöstes Limit, um zu sehen, wie sich die Wiederholung verhält.
4. ### Produktivbetrieb mit Überwachung
Wir schalten produktiv, mit Meldungen auf Fehlercodes und einer eigenen Warteschlange für Ereignisse, die nicht durchkamen. Es bleibt ein Runbook: was nach 429 zu tun ist, was nach 5xx, wie ein Ereignis wiederholt wird und woher die Korrelations-ID für das Ticket bei HubSpot kommt.
5. ### Messung nach 30 und 90 Tagen
Nach 30 Tagen sehen wir auf die Zahl der Ereignisse, die nicht durchkamen, und darauf, wie viele davon nach der Wiederholung von selbst zurückkamen. Nach 90 Tagen darauf, ob überhaupt jemand die Integration von Hand anfassen musste. Wenn ja, reparieren wir diese Stelle, statt eine Anleitung dazu zu schreiben.

Vorher und nachher

## Wie sich der Tag der betreuenden Person ändert

### Vorher

- Der Token der Integration liegt in einer Konfigurationsdatei auf einem Laptop
- Der Import bleibt in der Mitte stehen und niemand weiß, welche Datensätze durchkamen
- Eine geänderte Deal-Stufe erreicht das zweite System bei der nächsten Abfrage, nach 15 Minuten
- Nach einer Antwort 400 rät jemand, welche Eigenschaft den falschen Namen oder den falschen Typ hat

### Nachher

- Token in der Geheimnisverwaltung, mit Rechteliste und schriftlichem Verfahren für den Austausch
- Ein Batch mit 100 Datensätzen liefert ein Ergebnis je Datensatz, gescheiterte gehen zurück in die Warteschlange
- Der Webhook liefert das Ereignis in Sekunden, die Signatur ist beim Eingang geprüft
- Die Meldung trägt Antwortcode, Name der Eigenschaft und Korrelations-ID

Pilot im Testaccount in der ersten Woche, erste Integration produktiv 14 Tage nach dem Workshop. Die Zahl der Ereignisse, die nicht durchkamen, beurteilen wir nach 30 Tagen, den Bedarf an Handarbeit nach 90 Tagen.

Für die Person, die das beauftragt

## Was die Person davon hat, die für die Systeme verantwortlich ist

Das Risiko in so einem Projekt steckt nicht im Schreiben der Integration, sondern in dem, was nach dem Schreiben bleibt. Datenvertrag, Rechteliste und Runbook sorgen dafür, dass die Integration nicht das Wissen einer einzelnen Person ist. Geht diese Person oder ist sie im Urlaub, beginnt die nächste bei einem Dokument und nicht beim Lesen von Code und beim Raten, worüber Datensätze abgeglichen werden.

Der zweite Punkt nimmt Ihnen das Risiko der Entscheidung vor der Umsetzung. Statt den Umfang zu raten, bekommen Sie nach einer Woche [Workshop](https://justautomate.ai/de/ki-beratung/) eine Spezifikation mit Feldern, Rechten und Randfällen. Wenn Sie danach entscheiden, es selbst zu bauen, bleibt das Dokument bei Ihnen und behält seinen Wert.

- Datenvertrag schriftlich: Objekte, Eigenschaften, interne Namen, Typen, Schlüssel für den Abgleich
- Token in der Geheimnisverwaltung und ein Verfahren für den Austausch, der Weggang des Autors stoppt nichts
- Pilot im Testaccount, das produktive CRM ist kein Übungsplatz
- Runbook: was nach 429 zu tun ist, was nach 5xx und was bei einem Ereignis, das nicht durchkam

Kosten

## Der Workshop hat einen offenen Preis, die Integration ein Angebot danach

Der Workshop kostet **3.500 EUR netto pro Woche**. Bei einer einzelnen Integration genügt meistens eine Woche, weil der Umfang eng ist: welche Operationen, auf welchen Objekten, mit welchen Rechten und was passiert, wenn sie scheitern. Die Integration kalkulieren wir nach dem Workshop, wenn feststeht, wie viele Operationen im Spiel sind und in welchem Zustand die Eigenschaften sind.

Die Lizenz für HubSpot zahlen Sie direkt an HubSpot, ebenso den Betrieb der Abläufe in Make oder n8n, oder Sie zahlen ihn gar nicht, wenn der Ablauf auf Ihrer Infrastruktur steht. Ohne Aufschlag von uns. Der Entwickleraccount und die Testaccounts sind kostenlos, die Sandbox gehört zum Paket Enterprise. Läuft im Ablauf ein Sprachmodell mit, liegen die Kosten des Anbieters bei 0,005 bis 0,07 EUR pro Anfrage und werden ebenfalls direkt abgerechnet.

- ### Workshop

3.500 EUR netto
pro Woche, bei einer Integration genügt meistens eine Woche
Abgeschlossene Einheit. Endet mit einer technischen Spezifikation, die Ihr Team ohne uns umsetzen kann.

  - Prüfung des Accounts über die Schnittstelle: Eigenschaften, Objekte, Workflows, Paket und vorhandene Token
  - Datenvertrag: Objekte, interne Namen, Typen, Schlüssel für den Abgleich der Datensätze
  - Plan für Limits, Fehler und Ereignisse: Webhook oder Abfrage, was wiederholt wird
  - Rechteliste getrennt für Lesen und Schreiben sowie Testfälle
 Mit dem Workshop beginnen
- Am häufigsten gewählt
### Workshop und Integration
Angebot nach dem Workshop
der Umfang folgt aus der Zahl der Operationen und dem Zustand der Eigenschaften
Die meistgewählte Variante. Eine laufende Integration, zuerst im Testaccount geprüft, danach produktiv.

  - Alles aus dem Workshop
  - Integration in n8n, Make oder eigenem Code, mit Token-Authentifizierung
  - Warteschlange mit Wiederholung, Batch-Operationen, Webhooks mit Signaturprüfung
  - Pilot im Testaccount und Umschaltung mit Fehlerüberwachung
  - Runbook und Schulung der Person, die das ohne uns betreibt
 Gespräch zur Umsetzung vereinbaren
- ### Integration und KI-Agent
Angebot nach dem Workshop
für Teams, die mehrmals täglich nach Daten aus HubSpot fragen
Alles aus der Integration und dazu BOND, der Firmen-KI-Agent, der über dieselbe Schnittstelle aus HubSpot liest.

  - Alles aus der Integration
  - KI-Agent an HubSpot angebunden: Kundenakte, Stufen, liegengebliebene Deals, Quellen
  - Rechte des Agenten getrennt für Lesen und Schreiben, Schreiben erst nach dem Piloten
  - Antwort aus aktuellen Daten in 5 bis 10 Sekunden, jede Operation im Log
 Nach dem Agenten fragen

Der Workshop endet mit einem Dokument, das ohne uns Bestand hat: Datenvertrag, Rechteliste und Plan für die Fehlerbehandlung. Wenn die Prüfung des Accounts zeigt, dass ein fertiger Baustein in Make oder ein Workflow genügt, den Sie schon haben, sagen wir das, und die Sache endet beim Workshop und nicht bei einer Integration, die Sie nicht brauchen.

## Häufige Fragen

Token einer Private App oder OAuth 2.0?

Für interne Automatisierung der Token einer Private App: Sie vergeben die Rechte einmal, tragen den Token in die Geheimnisverwaltung ein, und die Integration läuft, bis Sie ihn tauschen. OAuth 2.0 nehmen wir dann, wenn ein anderes Unternehmen die Anwendung bei sich installieren soll oder sie in den Marketplace von HubSpot gehört, weil sich dort jeder Account selbst autorisiert. Ein Zugriffstoken aus OAuth lebt kurz und muss erneuert werden, die Integration muss das vom ersten Tag an beherrschen.

Wie viele Anfragen erlaubt die HubSpot-API?

Das Limit wird in einem kurzen Zeitfenster gezählt und hängt vom Paket und von der Art der Integration ab, die Suche hat einen eigenen, niedrigeren Schwellenwert. Die Dokumentation nennt für Private Apps eine Größenordnung von 100 bis 150 Anfragen je 10 Sekunden; wir prüfen den Wert vor der Umsetzung auf Ihrem Account, weil er sich ändert. Die praktische Regel hängt nicht an dieser Zahl: die Integration liest die Kopfzeilen mit dem verbleibenden Kontingent, bremst selbst und hat eine Warteschlange.

Was tun Sie, wenn HubSpot mit 429 antwortet?

Das Ereignis geht zurück in die Warteschlange und wird mit wachsendem Abstand wiederholt, mit einer kleinen zufälligen Streuung, damit nicht mehrere Prozesse in derselben Sekunde zurückkommen. Der Code 429 ist kein Fehler der Integration, sondern ein normaler Zustand bei größerem Verkehr, wir melden also nicht beim ersten, sondern bei einer Serie, die nicht aufhört. Datensätze aus einem Batch, die nicht durchkamen, wiederholen wir einzeln und nicht als ganzes Paket.

Lässt sich der interne Name einer Eigenschaft nachträglich ändern?

Nein. Das Label für die Nutzenden ändern Sie jederzeit, den internen Namen, über den jede Integration auf das Feld zugreift, nicht mehr. Deshalb legen wir Namen und Typen vor dem Anlegen der Felder fest, und ein Feld, nach dem eine Automatik entscheiden soll, entsteht als Werteliste und nicht als Freitext. Eine Reparatur im Nachhinein bedeutet ein neues Feld, das Umschreiben der Daten und eine Änderung an jeder Stelle, die dieses Feld liest.

Webhooks oder Abfrage im Takt?

Webhook überall dort, wo HubSpot ein passendes Ereignis hat, weil er die Änderung in Sekunden liefert und keine leeren Anfragen erzeugt. Die Abfrage nach Änderungsdatum bleibt als Ergänzung: für Ereignisse, die kein Webhook abdeckt, und als Sicherheitsnetz für den Fall, dass der Empfänger kurz nicht erreichbar war. Bei Webhooks nehmen wir an, dass ein Ereignis zweimal und in falscher Reihenfolge kommen kann, die Verarbeitung ist deshalb idempotent.

Wie funktionieren Batch-Operationen und was passiert bei Teilfehlern?

Ein Aufruf umfasst bis zu 100 Datensätze, der Abgleich mit bestehenden läuft über eine eindeutige Eigenschaft, etwa die E-Mail-Adresse oder eine als eindeutig gesetzte Umsatzsteuer-Identifikationsnummer. Die Antwort kann teilweise ausfallen, wir lesen das Ergebnis also für jeden Datensatz einzeln und wiederholen nur die gescheiterten. Ohne das sieht der Import gelungen aus, während im CRM ein Teil der Daten fehlt.

Wie testen Sie, ohne den Produktivbetrieb zu berühren?

Zuerst in einem Testaccount, den wir aus dem kostenlosen Entwickleraccount von HubSpot anlegen, im Paket Enterprise in der Sandbox. Ein Testaccount startet leer, die Testdaten spielen wir also selbst ein, darunter die unschönen Fälle: Datensatz ohne Pflichtfeld, Dublette und ein Batch, in dem ein Teil scheitert. Die Token der Umgebungen halten wir getrennt, damit ein Test nie durch einen Konfigurationsfehler auf dem produktiven Account landet.

Wie kommt die Suche mit einer großen Kontaktbasis zurecht?

Die Suche liefert Ergebnisse in Seiten zu 100 Datensätzen über einen Cursor und hat je Abfrage eine begrenzte Ergebnismenge, große Abzüge teilen wir deshalb in Zeiträume nach Änderungsdatum. Zu bedenken ist außerdem, dass ein frisch geschriebener Datensatz in der Suche verzögert sichtbar sein kann: ein Ablauf, der schreibt und sofort denselben Datensatz sucht, ist ein Entwurfsfehler. Die konkreten Schwellen prüfen wir vor der Umsetzung in der Dokumentation.

## Sehen wir uns an, worauf Ihre HubSpot-Integration steht

Das kostenlose Erstgespräch dauert 30 Minuten. Sie sagen, was heute Daten an HubSpot sendet und von dort empfängt, womit es sich authentifiziert und was passiert, wenn eine Anfrage scheitert. Wir zeigen, welche drei Dinge zuerst zu korrigieren sind, was ein fertiger Baustein erledigt und was eigenen Code braucht. Zugriff auf den Account brauchen wir in diesem Schritt nicht.

Wir führen höchstens zwei Umsetzungen gleichzeitig, damit bei jeder wirklich jemand sitzt.

[Kostenloses Erstgespräch](https://justautomate.ai/de/kontakt/)

**PS.** Wenn bei Ihnen in diesem Monat jemand einen Import von Hand neu gestartet oder gesucht hat, warum HubSpot mit 400 geantwortet hat, dann ist genau das der Punkt. Eine Integration mit Datenvertrag, Warteschlange mit Wiederholung und einer Meldung mit Korrelations-ID braucht keine menschliche Wachsamkeit mehr. Wir beginnen mit dem Workshop, denn ohne festgelegte interne Namen und Rechte liefert man nur Unordnung schneller aus.

## Verwandt

- [API-Integrationen](https://justautomate.ai/de/api/)
- [Pipedrive API](https://justautomate.ai/de/api/pipedrive/)
- [sevDesk API](https://justautomate.ai/de/api/sevdesk/)
- [lexoffice API](https://justautomate.ai/de/api/lexoffice/)
- [Prozessautomatisierung](https://justautomate.ai/de/prozessautomatisierung/)
- [KI-Agent für Unternehmen](https://justautomate.ai/de/ki-agent/)

---

**JustAutomate** · Kontakt: contact@justautomate.ai · Formular: https://justautomate.ai/de/kontakt/
