Automatisierte Lead-Warteliste in Zoho CRM mit Deluge und Zoho Cliq Tutorial

  • Beitrags-Autor:

Effizientes Lead-Management mit Zoho: Die automatisierte Warteliste für inaktive Leads

Einleitung

Jeder Lead ist eine wertvolle Chance. Doch was passiert, wenn ein vielversprechender Kontakt im Alltagsgeschäft untergeht, weil der zuständige Vertriebsmitarbeiter gerade überlastet ist? Das investierte Marketingbudget verpufft und die Konkurrenz schläft nicht. Besonders problematisch wird es, wenn derselbe Interessent über einen anderen Kanal erneut ins System kommt und Verwirrung stiftet. Dieses Szenario ist in vielen Unternehmen, die aktiv Leads generieren – sei es über Plattformen wie Around Home, Google Ads oder Webformulare – an der Tagesordnung. In diesem Fachartikel zeigen wir Dir, wie Du mit einer cleveren Kombination aus Zoho CRM, benutzerdefinierten Funktionen und einer Prise Automatisierungslogik eine dynamische Warteliste für Leads erstellst. So stellst Du sicher, dass kein Lead verloren geht und Dein Team fair und effizient arbeiten kann.

Praxisbeispiel: Das ungenutzte Potenzial im Vertrieb

Stell Dir ein Unternehmen vor, das im Bereich der erneuerbaren Energien tätig ist und hochwertige Anfragen für Solaranlagen generiert. Ein neuer Lead kommt herein und wird automatisch Mitarbeiter A zugewiesen. Mitarbeiter A ist jedoch gerade auf einer Baustelle und schafft es in den nächsten zwei Tagen nicht, den Kontakt aufzunehmen. Der teuer eingekaufte Lead liegt brach.

In der Zwischenzeit ist Mitarbeiter B verfügbar und wartet auf neue Aufgaben. Zwei Tage später füllt derselbe Interessent auf einer anderen Webseite erneut ein Formular aus. Das System erkennt den Kontakt möglicherweise nicht als Duplikat und legt einen neuen Lead an, der nun bei Mitarbeiter B landet. Das Ergebnis: Zwei Mitarbeiter Deines Unternehmens kontaktieren denselben Kunden, was unprofessionell wirkt. Oder schlimmer: Der erste Lead bleibt unberührt, und wertvolle Zeit verstreicht, in der der Kunde längst ein Angebot von einem Wettbewerber erhalten hat. Genau hier setzen wir mit einer automatisierten Lösung an, die Fairness und Geschwindigkeit kombiniert.

Schritt-für-Schritt: Die Implementierung der Lead-Warteliste

Unsere Lösung basiert darauf, Duplikate nicht einfach zu löschen, sondern sie als „Interesse“ eines zweiten Mitarbeiters zu nutzen. Wir bauen einen Mechanismus, der dem ursprünglichen Bearbeiter eine faire Frist setzt und den Lead bei Inaktivität automatisch an den nächsten in der „Warteschlange“ weitergibt.

Schritt 1: Die Datenbasis in Zoho CRM schaffen

Zuerst musst Du Dein Leads-Modul in Zoho CRM vorbereiten. Wir benötigen einige benutzerdefinierte Felder, um den Wartelisten-Status zu speichern:

  • Warteliste aktiv: Ein Kontrollkästchen (Checkbox), das anzeigt, ob für diesen Lead gerade jemand wartet.
  • Aktivitätsfrist: Ein Datums-/Uhrzeitfeld. Hier speichern wir den Zeitpunkt, bis zu dem der aktuelle Bearbeiter reagieren muss (z.B. 48 Stunden in der Zukunft).
  • Nächster Bearbeiter: Ein Nachschlagefeld (Lookup) zum „Benutzer“-Modul. Hier wird der Mitarbeiter eingetragen, der auf den Lead wartet.
  • Ursprünglicher Bearbeiter: Ebenfalls ein Nachschlagefeld (Lookup) zum „Benutzer“-Modul, um den initialen Zuweisungsinhaber festzuhalten.

Diese Felder geben uns die volle Kontrolle über den Prozess und machen ihn transparent.

Schritt 2: Der Auslöser – Erkennung eines Duplikats per Workflow

Der Prozess startet, wenn ein neuer Lead erstellt wird. Wir nutzen eine Workflow-Regel in Zoho CRM.

  • Modul: Leads
  • Auslöser: Bei einer Aktion -> Erstellen
  • Bedingungen: Keine (gilt für alle neuen Leads)
  • Aktion: Funktion aufrufen

Diese Regel ruft eine benutzerdefinierte Funktion auf, die wir mit Deluge, der Skriptsprache von Zoho, schreiben. Diese Funktion enthält die Kernlogik unserer Warteliste.

Schritt 3: Die Logik in Deluge – Die erste Custom Function

Diese Funktion prüft, ob bereits ein Lead mit derselben E-Mail-Adresse oder Telefonnummer existiert. Wenn ja, aktiviert sie die Warteliste für den bestehenden Lead, anstatt einen neuen zu erstellen.


// Name der Funktion z.B.: checkAndHandleDuplicateLead
// Argumente: leadId (Long)

// Neuen Lead-Datensatz abrufen, um E-Mail und Telefon zu bekommen
newLeadInfo = zoho.crm.getRecordById("Leads", leadId);
email = ifnull(newLeadInfo.get("Email"),"");
phone = ifnull(newLeadInfo.get("Phone"),"");
potentialOwnerId = newLeadInfo.get("Owner").get("id");

// Prüfen, ob E-Mail oder Telefon leer sind
if(email.isEmpty() && phone.isEmpty())
{
    // Kein Kriterium für Duplikatsprüfung, Funktion beenden
    return;
}

// Suche nach bestehenden Leads mit denselben Daten (außer dem neuen selbst)
searchCriteria = "((Email:equals:" + email + ") or (Phone:equals:" + phone + "))";
existingLeads = zoho.crm.searchRecords("Leads", searchCriteria);

// Filter den gerade erstellten Lead aus den Ergebnissen heraus
existingLeadInfo = null;
for each lead in existingLeads
{
    if(lead.get("id") != leadId)
    {
        existingLeadInfo = lead;
        break; // Nimm den ersten Treffer
    }
}

// Wenn ein bestehender Lead gefunden wurde...
if(existingLeadInfo != null)
{
    existingLeadId = existingLeadInfo.get("id");
    
    // Update für den bestehenden Lead vorbereiten
    updateMap = Map();
    updateMap.put("Warteliste_aktiv", true);
    updateMap.put("Aktivit_tsfrist", zoho.currenttime.addHours(48));
    updateMap.put("N_chster_Bearbeiter", potentialOwnerId);
    
    // Bestehenden Lead aktualisieren
    updateResp = zoho.crm.updateRecord("Leads", existingLeadId, updateMap);
    info updateResp;
    
    // Eine Notiz am bestehenden Lead hinzufügen für die Nachvollziehbarkeit
    noteContent = "Ein Duplikats-Lead wurde erkannt. Der potenzielle neue Bearbeiter wurde zur Warteliste hinzugefügt. Der aktuelle Bearbeiter hat 48 Stunden Zeit für eine Aktivität.";
    noteMap = Map();
    noteMap.put("Note_Title", "Warteliste aktiviert");
    noteMap.put("Note_Content", noteContent);
    noteResp = zoho.crm.addNotes("Leads", existingLeadId, noteMap);
    
    // Den neu erstellten (doppelten) Lead löschen, um die Datenbank sauber zu halten
    deleteResp = zoho.crm.deleteRecord("Leads", leadId);
    info deleteResp;
    
    // Benachrichtigung via Cliq an den aktuellen und den wartenden Bearbeiter
    currentOwnerId = existingLeadInfo.get("Owner").get("id");
    currentOwnerInfo = zoho.crm.getUser(currentOwnerId);
    waitingOwnerInfo = zoho.crm.getUser(potentialOwnerId);
    
    cliqMessage = "Lead '" + existingLeadInfo.get("Last_Name") + "' hat eine Warteliste. Aktueller Bearbeiter (" + currentOwnerInfo.get("full_name") + ") hat 48h Zeit. Wartender: " + waitingOwnerInfo.get("full_name") + ".";
    // Kanalname oder User-IDs hier eintragen
    zoho.cliq.postToChannel("general", cliqMessage);
}

Schritt 4: Die Überwachung – Der zeitgesteuerte Workflow

Jetzt brauchen wir einen Prozess, der täglich prüft, ob eine Frist abgelaufen ist und der ursprüngliche Bearbeiter untätig war. Hierfür eignet sich eine zeitbasierte Workflow-Regel.

  • Modul: Leads
  • Ausführen: Zu einem bestimmten Zeitpunkt
  • Zeitpunkt: Täglich, z.B. um 08:00 Uhr
  • Bedingungen:
    1. `Warteliste aktiv` ist `ausgewählt`
    2. `Aktivitätsfrist` ist `Gestern` ODER `Älter`
    3. `Letzte Aktivität am` ist `leer` ODER `Letzte Aktivität am` ist `älter als` `Erstellt am` (dies stellt sicher, dass seit der Erstellung keine Aktivität stattfand)
  • Aktion: Funktion aufrufen

Diese Regel triggert eine zweite Deluge-Funktion, die die eigentliche Neuzuweisung vornimmt.

Schritt 5: Die Neuzuweisung – Die zweite Custom Function

Diese Funktion wird für jeden Lead ausgeführt, der die Kriterien des zeitgesteuerten Workflows erfüllt. Sie weist den Lead dem wartenden Mitarbeiter zu.


// Name der Funktion z.B.: reassignInactiveLead
// Argumente: leadId (Long)

// Lead-Datensatz abrufen
leadInfo = zoho.crm.getRecordById("Leads", leadId);

if(leadInfo != null)
{
    // ID des wartenden Bearbeiters aus dem Nachschlagefeld holen
    nextOwnerId = leadInfo.get("N_chster_Bearbeiter").get("id");
    
    // Update-Map für die Neuzuweisung und das Zurücksetzen der Warteliste
    updateMap = Map();
    updateMap.put("Owner", nextOwnerId); // Hauptaktion: Besitzer ändern
    updateMap.put("Warteliste_aktiv", false);
    updateMap.put("Aktivit_tsfrist", null);
    updateMap.put("N_chster_Bearbeiter", null);
    
    updateResp = zoho.crm.updateRecord("Leads", leadId, updateMap);
    info updateResp;

    // Notiz zur Dokumentation des Vorgangs hinzufügen
    noteContent = "Lead wurde wegen Inaktivität nach 48 Stunden automatisch dem nächsten Bearbeiter auf der Warteliste zugewiesen.";
    noteMap = Map();
    noteMap.put("Note_Title", "Automatische Neuzuweisung");
    noteMap.put("Note_Content", noteContent);
    noteResp = zoho.crm.addNotes("Leads", leadId, noteMap);
    
    // Benachrichtigung an den neuen Besitzer via Zoho Cliq
    newOwnerInfo = zoho.crm.getUser(nextOwnerId);
    cliqMessage = "Hallo " + newOwnerInfo.get("full_name") + ", der Lead '" + leadInfo.get("Last_Name") + "' wurde Dir aufgrund von Inaktivität des Vorbesitzers neu zugewiesen. Bitte übernehme die Bearbeitung.";
    zoho.cliq.postToUser(newOwnerInfo.get("email"), cliqMessage);
}

Tipps und Best Practices

  • Transparente Kommunikation: Führe diesen Prozess nicht im Geheimen ein. Erkläre Deinem Vertriebsteam die Regeln und die Vorteile. Es geht nicht um Bestrafung, sondern um die Maximierung der Team-Chancen.
  • Was ist eine „Aktivität“?: Das Feld „Letzte Aktivität am“ in Zoho CRM wird automatisch bei Anrufen, E-Mails, Aufgaben oder Notizen aktualisiert. Definiere klar, welche Aktionen als „Bearbeitung“ gelten.
  • Flexibilität der Frist: Die 48-Stunden-Frist ist ein Beispiel. Passe sie an die Dringlichkeit Deiner Branche an. In manchen Bereichen muss die Reaktion innerhalb von 4 Stunden erfolgen.
  • Visuelle Prozessplanung: Bevor Du mit dem Coden beginnst, skizziere den gesamten Ablauf. Tools wie Miro eignen sich hervorragend, um solche Prozesse zu visualisieren und mit dem Team zu besprechen. Dies kann auch die Grundlage für die Konfiguration in Zoho sein.
  • Alternative zu Deluge: Für visuell orientierte Anwender kann ein Teil dieser Logik auch mit Zoho Flow abgebildet werden, insbesondere wenn externe Systeme wie Typeform oder Airtable als Trigger dienen sollen. Zoho Flow kann dann eine Custom Function in CRM aufrufen, um die komplexere Logik auszuführen.

Zusätzliche Hinweise und Integrationen

Dieses System ist nur der Anfang. Du kannst es beliebig erweitern:

  • Erweiterte Warteliste: Was passiert, wenn ein dritter Mitarbeiter Interesse anmeldet? Statt einfacher Felder könntest Du eine verwandte Liste oder sogar eine kleine App in Zoho Creator bauen, die eine richtige Warteschlange verwaltet.
  • KPI-Tracking mit Zoho Analytics: Nutze Zoho Analytics, um die Effektivität des Systems zu messen. Erstelle Dashboards mit Kennzahlen wie „Time to First Contact“, „Anzahl der Neuzuweisungen pro Mitarbeiter“ oder „Conversion-Rate nach Neuzuweisung“. So siehst Du, ob der Prozess Früchte trägt.
  • Gamification: Belohne die schnellsten Mitarbeiter. Wer die niedrigste „Time to First Contact“ hat, bekommt einen Bonus. Dies fördert die Akzeptanz und steigert die Motivation.
  • Integration mit Kommunikationstools: Wir haben Zoho Cliq für Benachrichtigungen verwendet. Du könntest aber auch Zoho ZeptoMail für transaktionale E-Mails oder SMS-Gateways via API anbinden.

Fazit

Die Implementierung einer automatisierten Lead-Warteliste ist mehr als nur eine technische Spielerei. Es ist eine strategische Entscheidung, die sicherstellt, dass Dein Marketingbudget optimal genutzt wird, die Reaktionszeiten verkürzt und eine faire, leistungsbasierte Kultur im Vertrieb gefördert wird. Du verwandelst ein häufiges Ärgernis – doppelte Leads – in eine Chance zur Effizienzsteigerung.

Durch die intelligente Kombination von Standard-Workflows in Zoho CRM mit der Flexibilität von Deluge-Skripten schaffst Du einen maßgeschneiderten Prozess, der genau auf die Bedürfnisse Deines Unternehmens zugeschnitten ist, ohne auf teure Drittanbieter-Lösungen angewiesen zu sein. Es zeigt eindrucksvoll, wie die Zoho-Plattform über das reine Datenmanagement hinausgeht und zu einem proaktiven Werkzeug zur Prozessoptimierung wird.

Verwendete Zoho Apps in diesem Beispiel:

Potenziell erweiterbar mit: