Zoho CRM, Deluge Custom Functions und Claude API: Tutorial zur KI-gestützten Lead-Reaktivierung

Zoho CRM, Deluge Custom Functions und Claude API: Tutorial zur KI-gestützten Lead-Reaktivierung

Schlafende Leads wecken: Wie Du mit Zoho CRM und externer KI eine Goldmine in Deinen Altdaten hebst

Dein Zoho CRM ist über Jahre gewachsen und mit ihm die Zahl der Kontakte. Darunter verbergen sich hunderte, vielleicht tausende "alte Interessenten" – Kontakte, mit denen seit Monaten oder Jahren keine Interaktion mehr stattfand. Ein Datenfriedhof? Nicht unbedingt. Eher eine unerschlossene Goldmine. Die Herausforderung ist jedoch immens: Wie identifizierst Du in dieser Masse die wenigen, wirklich vielversprechenden Kontakte, ohne wochenlange manuelle Recherche? Die Antwort liegt in der intelligenten Kombination von Zoho's Bordmitteln mit der Power externer KI-APIs. In diesem Artikel zeigen wir Dir einen praxiserprobten Weg, wie Du eine automatisierte Analyse- und Reaktivierungs-Engine aufbaust, um Deine wertvollsten Altkontakte zu identifizieren und gezielt anzusprechen.

Das Praxisbeispiel: Von der Datenwüste zur priorisierten Lead-Liste

Stell Dir ein typisches B2B-Dienstleistungsunternehmen vor. Über 5.000 Kontakte im CRM sind als "Alter Interessent" klassifiziert. Ein Großteil davon wurde vor langer Zeit angelegt, oft von Mitarbeitern, die nicht mehr im Unternehmen sind. Die Folge: Die Datenqualität ist durchwachsen. Bei vielen Kontakten fehlt die E-Mail-Historie, Notizen sind spärlich und die automatische Statuszuweisung ist unzuverlässig.

Die typischen Herausforderungen sind:

  • Reine Masse: Es ist unmöglich, 5.000 Kontakte manuell zu prüfen und anzurufen.
  • Fehlende Priorisierung: Welcher Kontakt hat wirklich Potenzial? Wer ist nur eine Karteileiche?
  • Unvollständige Daten: Durch Mitarbeiterfluktuation sind oft wichtige E-Mail-Verläufe nicht im CRM erfasst, was die Bewertung erschwert.
  • Fehlerhafte Automatisierung: Ein Kunde mit einem jährlichen Wartungsvertrag wird fälschlicherweise als "inaktiv" eingestuft, weil die letzte Rechnung 7 Monate her ist. Gleichzeitig wird ein anderer Kontakt als "Alter Interessent" geführt, obwohl aktuell eine rege E-Mail-Kommunikation stattfindet.

Das Ziel ist klar: Eine Methode zu finden, um aus den 5.000 Kontakten eine überschaubare, priorisierte Liste der Top 20 bis 50 Leads zu generieren, die das Vertriebsteam gezielt und mit relevanten Informationen reaktivieren kann.

Schritt-für-Schritt: Deine KI-gestützte Reaktivierungs-Engine in Zoho

Wir bauen eine Lösung, die das Zoho CRM mit einer externen Sprach-KI wie Anthropic's Claude oder OpenAI's GPT-4 verbindet. Das Herzstück sind dabei Custom Functions in Deluge, der Skriptsprache von Zoho.

Schritt 1: Die Datenbasis qualifizieren – Wer hat überhaupt Potenzial?

Nicht jeder alte Kontakt ist ein Kandidat für eine aufwendige KI-Analyse. Der erste Schritt ist, die Spreu vom Weizen zu trennen. Ein starker Indikator für einen potenziell wertvollen Kontakt ist eine vorhandene E-Mail-Historie. Kontakte ohne jegliche dokumentierte Kommunikation sind für diesen Prozess vorerst irrelevant.

Erstelle in Deinem Zoho CRM eine neue benutzerdefinierte Ansicht (Custom View) für das Kontakte-Modul mit einem einfachen, aber effektiven Filter:

  • Status ist Alter Interessent
  • UND
  • E-Mail Gesamtgröße (KB) ist größer als 0

Dieser simple Trick reduziert eine riesige Liste von tausenden Kontakten oft auf wenige hundert, die eine dokumentierte Kommunikationshistorie aufweisen und somit für eine Analyse infrage kommen. Das ist Deine Arbeitsgrundlage.

Schritt 2: Die Brücke zur externen KI bauen – Zoho trifft auf die API

Jetzt kommt die Magie. Wir nutzen eine Custom Function in Deluge, um die E-Mail-Daten eines Kontakts an eine externe KI zu senden und eine strukturierte Analyse zurückzuerhalten.

Vorbereitung im CRM:

Lege im Kontakte-Modul neue benutzerdefinierte Felder an:

  • KI-Analyse: Mehrzeiliges Textfeld für die Zusammenfassung der KI.
  • Next Best Action: Einzeiliges Textfeld für den konkreten Handlungsvorschlag.
  • Gesprächs-Eisbrecher: Mehrzeiliges Textfeld für einen kontextbezogenen Gesprächseinstieg.
  • KI Akquise-Potenzial: Zahlenfeld (z.B. 0-10) für den von der KI vergebenen Score.

Diese Felder werden gleich von unserem Deluge-Skript automatisch befüllt.

Schritt 3: Die KI-Analyse orchestrieren mit Deluge

Die Custom Function ist das Kernstück. Sie holt sich die E-Mails, formuliert eine Anfrage (Prompt) an die KI, sendet diese via API und verarbeitet die Antwort.

Gehe zu Einstellungen > Automatisierung > Aktionen > Funktionen > Neue Funktion erstellen. Wähle "Eigenständige Funktion" und schreibe Dein Skript. Hier ist ein konzeptionelles Beispiel, wie so ein Skript aussehen könnte, das die Claude API von Anthropic nutzt.

code
// Funktion, die eine Kontakt-ID als Argument erwartet
void analyzeContactWithAI(int contactId)
{
// 1. Kontaktdaten und zugehörige E-Mails abrufen
contactDetails = zoho.crm.getRecordById("Contacts", contactId);
contactName = contactDetails.get("Full_Name");
relatedEmails = zoho.crm.getRelatedRecords("Emails", "Contacts", contactId);
// 2. E-Mail-Verlauf für die KI aufbereiten
emailHistory = "";
for each email in relatedEmails
{
emailHistory = emailHistory + "From: " + email.get("from_address") + "nTo: " + email.get("to_address") + "nSubject: " + email.get("subject") + "nDate: " + email.get("sent_time") + "nn" + email.get("content") + "nn---nn";
}
// 3. Den Prompt für die KI definieren
// Wichtig: Sei hier so präzise wie möglich!
prompt = "Du bist ein B2B-Vertriebsassistent. Analysiere den folgenden E-Mail-Verlauf mit dem Kontakt '" + contactName + "'. Gib deine Antwort ausschließlich als valides JSON-Objekt zurück. Das Objekt soll die folgenden Schlüssel enthalten:n"
+ "'analyse': Eine kurze, neutrale Zusammenfassung des Gesprächsverlaufs in maximal 150 Wörtern.n"
+ "'next_best_action': Ein konkreter, umsetzbarer nächster Schritt für den Vertrieb. Z.B. 'Person X zu Thema Y anrufen'.n"
+ "'ice_breaker': Ein spezifischer Satz, um das Gespräch zu beginnen, der sich auf einen früheren Punkt der Konversation bezieht.n"
+ "'potential_score': Eine Bewertung des Akquise-Potenzials auf einer Skala von 0 (kein Potenzial) bis 10 (sehr hohes Potenzial), basierend auf den Themen, der Reaktionsfreudigkeit und dem letzten Kontaktzeitpunkt.nn"
+ "Hier ist der E-Mail-Verlauf:nn" + emailHistory;
// 4. API-Aufruf an Anthropic Claude vorbereiten
apiKey = "DEIN_ANTHROPIC_API_KEY"; // Sicher in Connections speichern!
endpoint = "https://api.anthropic.com/v1/messages";
headers = Map();
headers.put("x-api-key", apiKey);
headers.put("anthropic-version", "2023-06-01");
headers.put("content-type", "application/json");
body = Map();
messages = List();
message_content = Map();
message_content.put("type", "text");
message_content.put("text", prompt);
message = Map();
message.put("role", "user");
message.put("content", {message_content});
messages.add(message);
body.put("model", "claude-3-sonnet-20240229"); // Modell nach Bedarf wählen
body.put("max_tokens", 1024);
body.put("messages", messages);
// 5. API aufrufen und Antwort verarbeiten
response = invokeurl
[
url :endpoint
type :POST
headers:headers
parameters:body.toString()
];
// 6. JSON-Antwort parsen und CRM-Felder aktualisieren
if (response.get("responseCode") == 200)
{
jsonResponse = response.get("response").toJSON();
aiContent = jsonResponse.get("content").get(0).get("text").toJSON();
updateMap = Map();
updateMap.put("KI_Analyse", aiContent.get("analyse"));
updateMap.put("Next_Best_Action", aiContent.get("next_best_action"));
updateMap.put("Gespr_chs_Eisbrecher", aiContent.get("ice_breaker"));
updateMap.put("KI_Akquise_Potenzial", aiContent.get("potential_score").toLong());
updateResponse = zoho.crm.updateRecord("Contacts", contactId, updateMap);
info updateResponse;
}
else
{
info "API Error: " + response;
}
}

Wichtiger Hinweis: Speichere Deinen API-Schlüssel niemals direkt im Skript. Nutze stattdessen Zoho's "Connections", um den API-Key sicher zu hinterlegen und im Skript darauf zu verweisen.

Schritt 4: Die Ergebnisse nutzbar machen – Intelligente Ansichten

Nachdem Du die Funktion für Deine qualifizierten Kontakte ausgeführt hast (z.B. über eine Massenaktion oder eine geplante Funktion), sind Deine neuen Felder gefüllt. Jetzt kannst Du eine neue, leistungsstarke Ansicht im CRM erstellen:

  1. Erstelle eine neue Ansicht namens "KI-priorisierte Altkontakte".
  2. Filtere nach: Status ist Alter Interessent UND KI Akquise-Potenzial ist größer als 6.
  3. Wähle die Spalten aus, die angezeigt werden sollen: Kontaktname, Firma, KI Akquise-Potenzial, Next Best Action, Gesprächs-Eisbrecher.
  4. Sortiere die Ansicht absteigend nach dem Feld "KI Akquise-Potenzial".

Dein Vertriebsteam hat nun eine dynamische, perfekt priorisierte To-do-Liste. An der Spitze stehen die Kontakte mit dem höchsten Potenzial, inklusive konkreter Vorschläge für den nächsten Schritt und den perfekten Gesprächseinstieg.

Schritt 5: Die Status-Automatisierung korrigieren – Ein selbstreinigendes System

Die KI-Analyse deckt oft Schwächen in bestehenden Prozessen auf. Ein häufiges Problem ist eine zu simple Automatisierung des Kontaktstatus. Wir verbessern diese Logik mit einer geplanten Funktion (Scheduled Function), die z.B. einmal täglich läuft.

Diese Funktion prüft Kontakte, die als "Aktiv" oder "Im Abschluss" markiert sind, und stuft sie bei längerer Inaktivität korrekt zurück. Dabei berücksichtigt sie aber mehrere Kriterien, um Fehler zu vermeiden.

code
// Geplante Funktion, die täglich läuft
// Holt alle aktiven Kontakte, die seit 12 Monaten keine Rechnung hatten
active_contacts = zoho.crm.searchRecords("Contacts", "(Account_Status:equals:Aktiv) and (Last_Invoice_Date:less_than:" + zoho.currentdate.subMonth(12) + ")");
for each contact in active_contacts
{
contact_id = contact.get("id");
// Prüfe zusätzliche Kriterien, bevor du den Status änderst
last_email = zoho.crm.getRelatedRecords("Emails", "Contacts", contact_id, 1, 1, "sent_time:desc");
last_deal = zoho.crm.getRelatedRecords("Deals", "Contacts", contact_id, 1, 1, "Modified_Time:desc");
is_really_inactive = true;
// Prüfe, ob es kürzlich E-Mails gab (letzte 6 Monate)
if (last_email.size() > 0 && last_email.get(0).get("sent_time").toDate() > zoho.currentdate.subMonth(6))
{
is_really_inactive = false;
}
// Prüfe, ob es kürzlich Aktivitäten bei einem Deal gab (letzte 6 Monate)
if (last_deal.size() > 0 && last_deal.get(0).get("Modified_Time").toDate() > zoho.currentdate.subMonth(6))
{
is_really_inactive = false;
}
// Nur wenn WIRKLICH nichts passiert ist, den Status ändern
if (is_really_inactive)
{
updateMap = Map();
updateMap.put("Account_Status", "Inaktiv");
zoho.crm.updateRecord("Contacts", contact_id, updateMap);
info "Kontakt " + contact_id + " auf Inaktiv gesetzt.";
}
}

Diese Logik ist deutlich robuster: Ein Kunde wird erst dann inaktiv, wenn die letzte Rechnung über 12 Monate zurückliegt UND in den letzten 6 Monaten weder eine E-Mail ausgetauscht noch ein Deal bearbeitet wurde. Dies berücksichtigt Jahresverträge und laufende Kommunikation viel besser.

Tipps und Best Practices

  • Datenqualität als Basis: Die beste KI ist machtlos ohne Daten. Kläre intern, ob es ein zentrales E-Mail-Archiv für ausgeschiedene Mitarbeiter gibt. Tools wie Zoho Mail mit Archivierungsfunktionen können helfen, diese Daten für das CRM zugänglich zu machen.
  • Fördere die CRM-Akzeptanz: Motiviere Dein Team, alle Aktivitäten wie Anrufe, Meetings und wichtige Notizen konsequent im CRM zu erfassen. Je reichhaltiger die Daten, desto präziser arbeitet die KI.
  • Skalierung und Kosten im Blick: API-Aufrufe zu Diensten wie Claude oder OpenAI sind kostenpflichtig. Führe die Analyse gezielt und in Batches durch. Eine Alternative ist, die Analyse nur dann zu triggern, wenn ein Vertriebsmitarbeiter einen alten Kontakt manuell zur Prüfung markiert.
  • Nutze Zoho Flow: Wenn Du eine visuellere Steuerung bevorzugst oder weitere Systeme (z.B. ein externes Projektmanagement-Tool) einbinden möchtest, kann Zoho Flow eine hervorragende Alternative zur reinen Deluge-Programmierung sein.

Zusätzliche Hinweise: Das Zoho-Ökosystem weiter nutzen

Deine neue, priorisierte Liste ist der Startpunkt für weitere Aktionen innerhalb von Zoho One:

  • Nurturing-Kampagnen: Nutze die Kontakte mit mittlerem Potenzial (z.B. Score 4-6) für eine gezielte E-Mail-Serie in Zoho Campaigns oder Zoho Marketing Automation.
  • Erfolgsmessung: Visualisiere die Ergebnisse in Zoho Analytics. Erstelle ein Dashboard, das zeigt, wie viele "Alte Interessenten" reaktiviert wurden und welchen Umsatz sie generieren.
  • Team-Kommunikation: Richte einen Workflow ein, der eine automatische Nachricht in einen Zoho Cliq Kanal postet, sobald die KI einen Kontakt mit einem Score von 9 oder 10 identifiziert hat.

Fazit

Die Reaktivierung von Altkontakten muss kein Stochern im Nebel sein. Durch die strategische Verbindung von Zoho CRM mit externen KI-Diensten verwandelst Du einen vermeintlichen Datenfriedhof in ein wertvolles, strategisches Asset. Du ersetzt manuelle, zeitaufwendige Recherche durch einen datengesteuerten, automatisierten Prozess. Das Ergebnis ist nicht nur eine immense Zeitersparnis, sondern vor allem eine deutlich höhere Erfolgsquote im Vertrieb, da sich Dein Team auf die Kontakte mit dem nachweislich höchsten Potenzial konzentrieren kann.

Verwendete Zoho Apps in diesem Szenario:

SprintCX · AI-first Zoho Agentur

Dein nächstes Zoho-Projekt? Mach es mit uns.

Wir sind keine klassische Agentur – wir bauen digitale Mitarbeiter, intelligente Zoho-Prozesse und echte Automatisierung, die Deinem Team tatsächlich Arbeit abnimmt. Wenn Du bis hier gelesen hast, hast Du einen Use-Case im Kopf. Lass uns 15 Minuten darüber sprechen.

Ausgewiesene Zoho Experten100% AI-first AnsatzKeine Verkaufsgespräche, nur Klartext