Zoho DataPrep, Zoho CRM und HubSpot API: Tutorial zur Datenmigration und Prozessabbildung

  • Beitrags-Autor:

HubSpot zu Zoho CRM: Eine praxisnahe Anleitung für die Datenmigration mit DataPrep und API-Hürden

Stehst du vor der Aufgabe, dein Unternehmen von einem Inselsystem wie HubSpot zu einer integrierten Plattform wie Zoho zu migrieren? Dann weißt du, dass dies weit mehr als ein einfacher Datenexport und -import ist. Es geht darum, über Jahre gewachsene Prozesse, Automatisierungen und wertvolle Kundenhistorien sicher in ein neues Ökosystem zu überführen. Besonders wenn man von limitierten Plänen, wie der HubSpot-Starter-Version, kommt, können unerwartete technische Hürden den gesamten Prozess blockieren. Dieser Artikel zeigt dir an einem realen Praxisbeispiel, wie du eine solche Migration strategisch planst, API-Hürden identifizierst und löst und wie du die Stärken des Zoho-Ökosystems nutzt, um nicht nur Daten zu übertragen, sondern deine Prozesse auf ein neues Level zu heben.

Praxisbeispiel: Die Herausforderung der Systemgrenzen

Stell dir ein wachsendes Beratungsunternehmen im Weiterbildungssektor vor. Bisher wurde das Geschäft über den HubSpot Starter Plan verwaltet. Kontakte, Unternehmen und Deals sind dort erfasst. Für Verträge und Erhebungsbögen kommt eine externe Lösung wie PandaDoc zum Einsatz, die über Automatisierungen E-Mails mit den richtigen Dokumenten an verschiedene Kontakttypen versendet. Anrufe werden direkt aus HubSpot über einen integrierten VoIP-Client getätigt. Das System funktioniert, stößt aber an seine Grenzen: Die Lizenzen werden teurer, die Integrationen sind fragil und die Daten sind in Silos gefangen. Das Ziel ist klar: eine Migration zu Zoho, um Vertrieb, Dokumentenmanagement und Kommunikation auf einer einzigen Plattform zu vereinen und die Datenhoheit zurückzugewinnen.

Die größte Herausforderung zeigt sich jedoch gleich zu Beginn: Der Versuch, eine Verbindung zwischen HubSpot und Zoho DataPrep – dem Werkzeug der Wahl für eine saubere Migration – herzustellen, scheitert wiederholt mit einer kryptischen API-Fehlermeldung. Die Migration droht zu scheitern, bevor sie überhaupt begonnen hat.

Schritt-für-Schritt Anleitung: Die Migration meistern

Schritt 1: Die Vorbereitung – Aufräumen und strategische Planung

Jede erfolgreiche Migration beginnt mit einem sauberen Tisch. Bevor du mit dem eigentlichen Datentransfer startest, solltest du dein Zielsystem bereinigen.

  • Testdaten löschen: Entferne alle bisherigen Test-Imports, Beispiel-Deals oder Kontakte aus deinem Zoho CRM. Du brauchst eine saubere, leere Leinwand, um die Datenintegrität sicherzustellen.
  • Migrationsumfang definieren: Entscheide, was wirklich migriert werden muss. In unserem Praxisbeispiel wurde der Umfang wie folgt festgelegt:
    1. Phase 1 (Stammdaten): Alle Unternehmen, Kontakte und Deals inklusive aller benutzerdefinierten Felder und deren Verknüpfungen. Dies ist das Fundament.
    2. Phase 2 (Aktivitäten): E-Mails und Notizen der letzten 9-12 Monate. Eine vollständige E-Mail-Historie über Jahre hinweg ist oft technisch aufwendig und nicht immer notwendig.
    3. Phase 3 (Prozesse): Nachbau der Automatisierungen (PandaDoc, Anrufe etc.) mit Zoho-eigenen Werkzeugen.

Schritt 2: Das Werkzeug der Wahl – Zoho DataPrep

Für eine kontrollierte und wiederholbare Migration ist Zoho DataPrep die erste Wahl. Im Gegensatz zu manuellen CSV-Importen bietet es entscheidende Vorteile:

  • Wiederholbarkeit: Du baust eine Datenpipeline auf, die du jederzeit erneut ausführen kannst, z.B. für einen finalen „Delta-Sync“ kurz vor dem Go-live.
  • Datenbereinigung: DataPrep bietet mächtige Werkzeuge, um Daten während des Transfers zu transformieren, zu säubern und zu standardisieren (z.B. Anreden vereinheitlichen, fehlerhafte Postleitzahlen korrigieren).
  • Direkte Konnektoren: Anstatt mühsam CSV-Dateien zu exportieren und zu importieren, verbindet sich DataPrep direkt per API mit der Quelle (hier HubSpot) und dem Ziel (Zoho CRM).

Schritt 3: Die API-Blockade – Fehlersuche und Lösung

Hier stoßen wir auf das Kernproblem aus unserem Praxisbeispiel. Der Versuch, in DataPrep eine Verbindung zum HubSpot-Account herzustellen, scheitert mit der Meldung: „Die Autorisierung ist fehlgeschlagen, weil die Bereiche der Installations-URL und die Konfigurierungen der App nicht immer einstimmen.“

Die Hypothese: Das Problem liegt nicht an falschen Zugangsdaten, sondern an den sogenannten API-Scopes. Wenn eine App wie Zoho DataPrep eine Verbindung zu HubSpot herstellen möchte, fragt sie nach bestimmten Berechtigungen (Scopes), um auf Daten zugreifen zu können. Zum Beispiel:


# Beispielhafte API-Scopes, die eine App anfordern könnte
scopes = "crm.objects.contacts.read crm.objects.deals.read crm.objects.companies.read marketing.events.read"

Der HubSpot Starter Plan beinhaltet jedoch nicht alle Funktionen der größeren Pläne. Wenn DataPrep nun eine Berechtigung für eine Funktion wie „Marketing Events“ anfordert, die im Starter Plan nicht enthalten ist, lehnt HubSpot die gesamte Authentifizierung ab. Der Prozess scheitert.

Die Lösung: Anstatt blind weiter zu probieren, ist der direkte Weg der effizienteste.

  1. Kontaktiere den HubSpot-Support.
  2. Sende einen Screenshot der Fehlermeldung.
  3. Stelle eine präzise Frage: „Ich versuche, Zoho DataPrep mit meinem HubSpot Starter Account zu verbinden und erhalte diese Fehlermeldung. Bitte senden Sie mir eine Liste der API-Scopes, die von der Anwendung angefordert werden und in meinem aktuellen Plan nicht unterstützt werden.“

Dieser Schritt ist entscheidend. Er verlagert das Problem vom Raten zur datengestützten Analyse. Oft kann der Support die inkompatiblen Scopes identifizieren. Falls nicht, bleibt als letzte Option ein kurzzeitiges Upgrade des HubSpot-Plans, um die Migration durchzuführen, oder der Umweg über einen manuellen Datenexport.

Schritt 4: Der strukturierte Datenimport mit DataPrep

Sobald die Verbindung steht, beginnt die eigentliche Arbeit in DataPrep. Du erstellst für jedes Objekt (Unternehmen, Kontakte, Deals) eine eigene Datenpipeline. Der Prozess sieht typischerweise so aus:

  1. Quelle auswählen: HubSpot-Connector und das entsprechende Objekt (z.B. „Contacts“).
  2. Daten transformieren: Mappe die Quellfelder (HubSpot) auf die Zielfelder (Zoho CRM). Hier kannst du auch Regeln anwenden, um Daten zu bereinigen.
  3. Ziel auswählen: Zoho CRM-Connector und das Zielmodul (z.B. „Kontakte“).
  4. Beziehungen herstellen: Sorge dafür, dass die Verknüpfungen erhalten bleiben. Importiere zuerst die Unternehmen. Exportiere deren neue Zoho-IDs und verwende diese beim Import der Kontakte, um sie den richtigen Unternehmen zuzuordnen. Wiederhole dies für die Deals.

Schritt 5: Nachbau der Prozesse und Automatisierungen

Die Daten sind nur die halbe Miete. Nun geht es darum, die Funktionalität nachzubauen, die vorher durch externe Tools wie PandaDoc oder die HubSpot-Telefonie abgedeckt wurde.

Dokumenten-Automatisierung: Von PandaDoc zu Zoho Sign & Writer

Die Anforderung war, basierend auf dem Kontakttyp automatisch Verträge zu versenden. Dies lässt sich elegant mit Zoho-Bordmitteln lösen.

  • Vorlage erstellen: Nutze Zoho Writer, um eine dynamische Vertragsvorlage mit Merge-Feldern (z.B. für Name, Adresse, Kursdetails) zu erstellen.
  • Signaturprozess definieren: Wandle die Writer-Vorlage in eine Zoho Sign-Vorlage um und definiere die Felder, die der Empfänger ausfüllen oder unterschreiben muss.
  • Automatisierung mit Deluge: Erstelle eine Custom Function in Zoho CRM, die durch eine Workflow-Regel (z.B. „Deal-Phase erreicht ‚Vertrag senden'“) ausgelöst wird.

Ein vereinfachtes Deluge-Skript hierfür könnte so aussehen:


// Custom Function, ausgelöst von einem Deal-Datensatz
// dealId wird als Argument übergeben
void sendContractViaZohoSign(int dealId)
{
    // 1. Deal- und zugehörige Kontaktdaten abrufen
    dealDetails = zoho.crm.getRecordById("Deals", dealId);
    contactId = dealDetails.get("Contact_Name").get("id");
    contactDetails = zoho.crm.getRecordById("Contacts", contactId);

    // 2. Payload für die Zoho Sign API vorbereiten
    requestData = Map();
    templates = list();
    template = Map();
    template.put("template_id", "DEINE_ZOHO_SIGN_VORLAGEN_ID"); // Ersetze dies mit deiner Vorlagen-ID
    
    actions = list();
    action = Map();
    action.put("recipient_name", contactDetails.get("Full_Name"));
    action.put("recipient_email", contactDetails.get("Email"));
    action.put("action_type", "SIGN");
    action.put("verify_recipient", false);
    actions.add(action);
    
    template.put("actions", actions);
    templates.add(template);
    requestData.put("templates", templates);
    
    // 3. API-Aufruf an Zoho Sign senden
    response = invokeurl
    [
        url :"https://sign.zoho.eu/api/v1/templates/DEINE_ZOHO_SIGN_VORLAGEN_ID/createdocument"
        type :POST
        parameters: requestData.toString()
        connection:"zohosign" // Dein Zoho OAuth Connector
    ];
    
    info "Zoho Sign Response: " + response;
    
    // Optional: Notiz im Deal erstellen, dass der Vertrag versendet wurde
    noteContent = "Vertrag wurde am " + zoho.currenttime + " via Zoho Sign an " + contactDetails.get("Email") + " gesendet.";
    noteMap = Map();
    noteMap.put("Note_Title", "Vertrag versendet");
    noteMap.put("Note_Content", noteContent);
    noteMap.put("Parent_Id", dealId);
    noteMap.put("se_module", "Deals");
    createNote = zoho.crm.createRecord("Notes", noteMap);
    info createNote;
}
Telefonie-Integration: Von HubSpot Calling zu Sipgate & Zoho CRM

HubSpots integrierter VoIP-Client lässt sich durch eine CTI-Integration (Computer Telephony Integration) ersetzen. Anstatt eine beliebige Nummer zu hinterlegen, verbindest du einen echten VoIP-Anbieter wie Sipgate mit deinem Zoho CRM.

  • Sipgate-Erweiterung: Installiere die offizielle Sipgate-Integration aus dem Zoho Marketplace.
  • Konfiguration: Verbinde deinen Sipgate-Account mit Zoho. Danach kannst du direkt aus dem CRM per Klick anrufen (Click-to-Dial), siehst eingehende Anrufe als Pop-up mit den Kontaktdaten aus dem CRM und alle Anrufe werden automatisch protokolliert.
Komplexe Workflows: Von n8n zu Zoho Flow & Blueprints

Für komplexere, App-übergreifende Automatisierungen, die vielleicht vorher mit Tools wie n8n oder Zapier gelöst wurden, bietet sich Zoho Flow an. Für die Standardisierung interner Vertriebsprozesse (z.B. sicherstellen, dass bestimmte Felder in jeder Deal-Phase ausgefüllt sind) ist ein Zoho CRM Blueprint das perfekte Werkzeug.

Tipps und Best Practices

  • Priorisiere die API-Klärung: Verbringe nicht Tage damit, API-Probleme selbst zu lösen. Ein gezielter Support-Request ist oft der schnellste Weg zum Ziel.
  • Teste inkrementell: Migriere zuerst eine kleine, repräsentative Teilmenge deiner Daten, um den Prozess und das Feld-Mapping zu überprüfen, bevor du den kompletten Datensatz überträgst.
  • Plane für die Nutzer: Eine technische Migration ist nur erfolgreich, wenn die Anwender das neue System akzeptieren. Plane Schulungen und erstelle eine klare Dokumentation der neuen Prozesse.
  • Denke über die Migration hinaus: Nutze die Gelegenheit nicht nur, um Bestehendes nachzubauen, sondern um Prozesse zu hinterfragen und zu optimieren. Die Möglichkeiten innerhalb von Zoho sind oft weitaus größer als im vorherigen System.

Fazit

Eine Migration von HubSpot zu Zoho ist ein strategisches Projekt, das weit über den reinen Datentransfer hinausgeht. Technische Hürden wie API-Limitierungen bei günstigeren Plänen sind eine reale Herausforderung, können aber mit einer systematischen Vorgehensweise und gezielter Kommunikation mit dem Support gemeistert werden. Der wahre Gewinn liegt darin, Insellösungen abzulösen und durch eine tief integrierte Prozesslandschaft zu ersetzen. Durch die geschickte Kombination von Apps wie Zoho CRM, DataPrep, Sign, Writer und Flow schaffst du eine robuste und skalierbare Basis für dein zukünftiges Wachstum – alles aus einer Hand.

Verwendete Zoho Apps in diesem Szenario: