Du betrachtest gerade Automatische Angebotserstellung mit Zoho CRM und OpenAI API im Catering

Automatische Angebotserstellung mit Zoho CRM und OpenAI API im Catering

  • Beitrags-Autor:

Zoho CRM und ChatGPT: Smarte Automatisierung Deiner Angebotserstellung

Stell Dir vor, Du könntest den Prozess der Angebotserstellung für Anfragen, die per E-Mail oder Webformular eintrudeln, deutlich beschleunigen. Gerade bei Dienstleistungen wie Catering, Eventplanung oder Beratungen, bei denen jede Anfrage individuelle Aspekte hat, frisst die manuelle Aufbereitung von Angeboten wertvolle Zeit. In diesem Artikel zeige ich Dir, wie Du durch die clevere Kombination von Zoho CRM, der künstlichen Intelligenz von ChatGPT und gezielten Automatisierungen einen Großteil dieses Prozesses automatisieren kannst – praxisnah und direkt umsetzbar.

Die Herausforderung ist oft dieselbe: Anfragen enthalten wichtige Informationen (wie Gästeanzahl, Wunschdatum, spezielle Anforderungen), aber diese sind unstrukturiert im Fließtext versteckt. Leads müssen qualifiziert, Deals erstellt und schließlich ein passendes Angebot formuliert werden. Wir schauen uns an, wie Du diesen Weg mit Zoho-Mitteln und externen APIs, insbesondere der OpenAI API für ChatGPT, effizienter gestaltest, um schneller auf Kundenwünsche reagieren zu können.

Warum dieses Thema für Dich als Zoho-Nutzer wichtig ist

Zoho bietet eine mächtige Suite an Werkzeugen, aber das wahre Potenzial entfaltet sich oft erst im Zusammenspiel – sowohl der Zoho Apps untereinander als auch mit externen Diensten. Die Integration von KI wie ChatGPT direkt in Deine Zoho CRM Prozesse hebt die Automatisierung auf ein neues Level. Es geht nicht nur darum, Zeit zu sparen, sondern auch darum, konsistentere und auf Daten basierende Angebotsvorschläge zu generieren, die Du dann nur noch verfeinern musst. Du lernst hier, wie Du APIs und Webhooks nutzt, um Zoho CRM über seine Standardfunktionen hinaus zu erweitern.

Praxisbeispiel: Die automatisierte Catering-Anfrage

Nehmen wir ein typisches Szenario: Ein potenzieller Kunde fragt über Deine WordPress-Website oder per E-Mail ein Catering für eine Firmenfeier an. Die Anfrage enthält Informationen wie „ca. 50 Gäste“, „Mitte Juli“, „bevorzugt vegetarisch mit veganen Optionen“ und vielleicht noch das Budget oder den Veranstaltungsort.

Bisher bedeutete das: E-Mail lesen, relevante Daten manuell heraussuchen, einen neuen Lead in Zoho CRM anlegen, prüfen, ob die Anfrage überhaupt „ernsthaft“ genug ist, den Lead in einen Deal umwandeln, im Produktkatalog (z.B. in Zoho Inventory oder als Produkte in Zoho CRM/Books) passende Speisen recherchieren, Preise kalkulieren und schließlich ein Angebot in Zoho Books oder als E-Mail-Text formulieren. Das kostet Zeit und ist fehleranfällig.

Unser Ziel ist es, diesen Prozess so zu optimieren, dass nach Eingang der Anfrage automatisch ein qualifizierter Deal erstellt wird und Du per Knopfdruck einen ersten, intelligenten Angebotsvorschlag direkt im Deal erhältst, generiert von ChatGPT basierend auf Deinem Produktkatalog.

Schritt-für-Schritt zur teilautomatisierten Angebotserstellung mit ChatGPT

Wir konzentrieren uns hier auf einen pragmatischen Ansatz: Wir erstellen keinen vollautomatischen Zoho Finance Kostenvoranschlag, sondern generieren zunächst einen textbasierten Vorschlag direkt im Zoho CRM Deal. Das erlaubt schnelles Testen und Anpassen, bevor wir eine tiefere Integration angehen.

1. Datenerfassung & Vorbereitung in Zoho CRM

Stelle sicher, dass Deine Anfragen möglichst strukturiert in Zoho CRM landen. Nutze Zoho Forms auf Deiner Website oder parse eingehende E-Mails (z.B. über Zoho Mail Filter oder spezialisierte E-Mail-Parsing-Tools, die Daten via API an Zoho CRM senden).

  • Leads: Richte im Lead-Modul ein mehrzeiliges Textfeld ein (z.B. „Original Anfrage Text“), um die komplette E-Mail oder Formulardaten zu speichern. Füge Felder für die automatisch extrahierten Informationen hinzu (z.B. „Extrahiertes Datum“, „Extrahierte Gästeanzahl“, „Extrahiere Präferenzen“).
  • Deals: Erstelle im Deal-Modul ebenfalls die notwendigen Felder, um die qualifizierten Daten aus dem Lead zu übernehmen (z.B. „Event Datum“, „Gästeanzahl“, „Speisenwunsch“). Wichtig: Füge ein großes Textfeld hinzu (z.B. „ChatGPT Angebotsvorschlag“), in dem später der generierte Text landet.
  • Produkte/Inventar: Pflege Deine Dienstleistungen oder Produkte (z.B. Speisen, Getränke) detailliert in Zoho Inventory oder dem Produktmodul von Zoho CRM/Books. Wichtig sind aussagekräftige Namen, detaillierte Beschreibungen, Kategorien (z.B. „Vegan“, „Vorspeise“, „Hauptgericht“), Preise und eventuell interne Notizen oder Allergeninformationen. Diese Daten sind die Futtergrundlage für ChatGPT.

2. Lead-Qualifizierung & Deal-Konvertierung per Workflow

Nutze eine Workflow-Regel in Zoho CRM, um Leads automatisch zu qualifizieren und in Deals umzuwandeln.

  • Trigger: Bei Erstellung oder Bearbeitung eines Leads.
  • Kriterien: Lege fest, wann ein Lead als qualifiziert gilt. Beispiel: „Extrahiertes Datum ist nicht leer“ UND „Extrahierte Gästeanzahl ist größer als 10“ UND „Extrahiere Präferenzen ist nicht leer“.
  • Sofort-Aktion: Wenn die Kriterien erfüllt sind -> „Lead konvertieren“. Mappe dabei die relevanten extrahierten Felder aus dem Lead in die entsprechenden Felder im neu erstellten Deal und Kontakt/Account. Weise den Deal ggf. einem bestimmten Bearbeiter oder Status zu (z.B. „Angebot erstellen“).

3. Der ChatGPT-Button im Deal

Erstelle einen Custom Button im Deal-Modul (z.B. unter „Links und Buttons“). Nenne ihn „ChatGPT-Angebot erstellen“. Dieser Button löst eine benutzerdefinierte Funktion (Custom Function) aus, die wir im nächsten Schritt definieren.

  • Gehe zu Einstellungen -> Anpassung -> Module und Felder -> Deals -> Links und Buttons -> Neuer Button.
  • Wähle „Vorhandene Aktion ausführen“ -> „Funktion“.
  • Erstelle eine neue Funktion (Deluge).

4. Die Custom Function (Deluge) für den ChatGPT API Call

Diese Funktion ist das Herzstück. Sie sammelt die relevanten Daten aus dem Deal und Deinem Produktkatalog, formuliert eine Anfrage (Prompt) an die ChatGPT API und schreibt die Antwort zurück in das Deal-Feld.

// Deluge Custom Function - Triggered by Button in Deal Module
// Argument: dealId (wird automatisch übergeben)
dealDetails = zoho.crm.getRecordById("Deals", dealId);

// 1. Hole relevante Infos aus dem Deal
customerRequest = ifnull(dealDetails.get("Original_Anfrage_Text"),""); // API Name des Feldes anpassen!
guestCount = ifnull(dealDetails.get("Gaesteanzahl"),"unbekannt"); // API Name anpassen!
eventDate = ifnull(dealDetails.get("Event_Datum"),"unbekannt"); // API Name anpassen!
preferences = ifnull(dealDetails.get("Speisenwunsch"),"keine spezifischen"); // API Name anpassen!

// 2. Hole relevante Produktinformationen (Beispiel: Alle aktiven Produkte aus Zoho Inventory)
//    Hinweis: Dies ist ein vereinfachtes Beispiel. In der Praxis filterst Du ggf.
//    nach Kategorien oder nutzt die Zoho Books/Inventory API spezifischer.
//    Stelle sicher, dass Du eine Zoho Inventory Connection eingerichtet hast.
productList = "";
productResponse = invokeurl
[
	url :"https://inventory.zohoapis.eu/api/v1/items?organization_id=YOUR_ORG_ID&status=active" // Eigene Org ID einsetzen
	type :GET
	connection:"zohoinventoryconnection" // Name Deiner Zoho Inventory Connection
];
// info productResponse; // Zum Debuggen die Antwort anzeigen
if(productResponse.get("items") != null)
{
	for each product in productResponse.get("items")
	{
		// Baue einen String mit relevanten Produktinfos für den Prompt
		productInfo = product.get("name") + " (" + product.get("category_name") + "): " + product.get("description") + " Preis: " + product.get("rate") + " €n";
		productList = productList + productInfo;
	}
}
else
{
	// Fehlerbehandlung: Was tun, wenn keine Produkte abgerufen werden können?
	productList = "Produktkatalog konnte nicht geladen werden.";
}


// 3. Baue den Prompt für ChatGPT
//    Dies ist der wichtigste Teil - hier experimentieren!
prompt = "Du bist ein Assistent für die Erstellung von Catering-Angeboten. Basierend auf folgender Kundenanfrage und unserem Produktkatalog, erstelle bitte einen freundlichen, aber informativen textbasierten Angebotsvorschlag. Gehe auf die genannten Wünsche ein und schlage passende Speisen vor. Kalkuliere die Mengen basierend auf der Gästeanzahl. Nenne einen geschätzten Gesamtpreis.nn";
prompt = prompt + "Kundenanfrage:n" + customerRequest + "nn";
prompt = prompt + "Eckdaten: Gäste: " + guestCount + ", Datum: " + eventDate + ", Präferenzen: " + preferences + "nn";
prompt = prompt + "Unser aktueller Produktkatalog (Auszug):n" + productList + "nn";
prompt = prompt + "Erstelle jetzt den Angebotsvorschlag als reinen Text:";

// 4. Rufe die OpenAI API auf
//    Stelle sicher, dass Du eine OpenAI Connection eingerichtet hast (z.B. mit Deinem API Key)
//    Ersetze 'YOUR_OPENAI_CONNECTION_NAME' mit dem Namen Deiner Connection.
apiKey = zoho.crm.getOrgVariable("openai.apiKey"); // Sicherer: API Key als Org Variable speichern
if(apiKey == null)
{
    // Fehlerbehandlung, wenn API Key nicht konfiguriert ist
    updateResponse = zoho.crm.updateRecord("Deals", dealId, {"ChatGPT_Angebotsvorschlag":"Fehler: OpenAI API Key nicht konfiguriert."}); // API Name anpassen!
    return "Fehler: OpenAI API Key nicht konfiguriert.";
}

apiResponse = invokeurl
[
	url :"https://api.openai.com/v1/chat/completions"
	type :POST
	headers:{"Authorization":"Bearer " + apiKey, "Content-Type":"application/json"}
	content: '{"model": "gpt-4", "messages": [{"role": "system", "content": "Du bist ein hilfreicher Assistent."}, {"role": "user", "content": "' + prompt.escapeJson() + '"}], "temperature": 0.7}'
	// connection:"openai_connection" // Alternative: Connection statt API Key direkt
];

// 5. Verarbeite die Antwort und update den Deal
// info apiResponse; // Zum Debuggen
chatGPT_suggestion = "";
if(apiResponse.get("choices") != null && apiResponse.get("choices").size() > 0)
{
	chatGPT_suggestion = apiResponse.get("choices").get(0).get("message").get("content");
}
else
{
	// Fehlerbehandlung: Was, wenn die API keine valide Antwort liefert?
    chatGPT_suggestion = "Fehler beim Abrufen des Vorschlags von ChatGPT: " + apiResponse.toString();
}

updateResponse = zoho.crm.updateRecord("Deals", dealId, {"ChatGPT_Angebotsvorschlag":chatGPT_suggestion}); // API Name des Feldes anpassen!

// Gib eine Erfolgsmeldung zurück (optional)
return "ChatGPT Angebotsvorschlag wurde generiert und im Deal gespeichert.";

Wichtige Hinweise zum Code:

  • Ersetze Platzhalter wie `YOUR_ORG_ID` und API-Feldnamen (`Original_Anfrage_Text`, `Gaesteanzahl` etc.) durch Deine tatsächlichen Werte.
  • Richte eine sichere Methode zur Speicherung Deines OpenAI API Keys ein, z.B. über Organisationvariablen (`zoho.crm.getOrgVariable`) oder besser noch über eine Zoho OAuth/API Key Connection. Speichere niemals API-Keys direkt im Code!
  • Richte eine Zoho Inventory Connection ein, wenn Du Daten von dort abrufen möchtest.
  • Das Beispiel nutzt das `gpt-4` Modell. Du kannst auch andere Modelle wie `gpt-3.5-turbo` verwenden (kostengünstiger, aber eventuell weniger präzise).
  • Die Produktabfrage ist sehr einfach gehalten. Verfeinere sie nach Bedarf (Filterung, spezifische API-Endpunkte von Zoho Books/Inventory).
  • Füge robuste Fehlerbehandlungen hinzu (z.B. wenn API-Aufrufe fehlschlagen oder unerwartete Daten zurückgeben).

5. Prompt Engineering: Die Kunst der richtigen Anweisung

Der Erfolg dieser Lösung hängt maßgeblich von der Qualität Deines Prompts ab – also der Anweisung, die Du an ChatGPT sendest. Experimentiere damit!

  • Sei spezifisch: Definiere genau, welche Rolle ChatGPT einnehmen soll (z.B. „Catering-Experte“), welches Format die Ausgabe haben soll (Text, Absätze, Aufzählungen), und welche Informationen berücksichtigt werden müssen (Kundenwunsch, Produktkatalog, Preise).
  • Kontext liefern: Gib alle relevanten Daten aus dem Deal und die Produktliste mit. Je besser der Kontext, desto besser das Ergebnis.
  • Iterativ verbessern: Teste den Button mit verschiedenen Deals. Wenn das Ergebnis nicht passt (z.B. Fleisch bei veganer Anfrage), passe den Prompt an. Vielleicht musst Du klarer formulieren, wie Kategorien („Vegan“) zu interpretieren sind.
  • Produktbeschreibungen optimieren: Manchmal liegt es nicht am Prompt, sondern an unklaren oder fehlenden Produktbeschreibungen in Zoho Inventory/Books. Sorge dafür, dass Deine Produktdaten für eine KI verständlich sind. Füge ggf. ein Feld „Interne Hinweise für KI“ hinzu.

6. Manuelle Prüfung & Versand

Nachdem Du den Button geklickt hast, erscheint der Textvorschlag im entsprechenden Feld im Deal. Nun kommt der wichtige manuelle Schritt:

  • Prüfe den Vorschlag: Lies den Text sorgfältig durch. Passt die Tonalität? Sind die vorgeschlagenen Speisen/Leistungen sinnvoll? Stimmt die Kalkulation grob?
  • Bearbeite bei Bedarf: Korrigiere Fehler oder passe den Vorschlag nach Deinen Vorstellungen an.
  • Versende das Angebot: Kopiere den (bearbeiteten) Text in eine E-Mail an den Kunden. Nutze dazu die Standard-E-Mail-Funktion von Zoho CRM oder erstelle eine E-Mail-Vorlage, die das Feld „ChatGPT Angebotsvorschlag“ dynamisch einfügt. Vorerst verzichten wir bewusst auf einen verlinkten Zoho Books Kostenvoranschlag, um den Prozess schlank zu halten.

Tipps und Best Practices

  • Datenqualität ist entscheidend: Sorge für saubere und detaillierte Daten in Deinen Leads, Deals und insbesondere in Deinem Produktkatalog (Zoho Inventory/Books). „Garbage in, garbage out“ gilt hier besonders.
  • Fange klein an (MVP): Der hier beschriebene textbasierte Ansatz ist ein idealer erster Schritt (Minimum Viable Product). Teste und optimiere die Logik, bevor Du komplexere Integrationen (z.B. direkte Zoho Finance Anbindung) angehst.
  • Prompting ist ein Prozess: Plane Zeit für das Testen und Verfeinern Deiner ChatGPT-Prompts ein. Dokumentiere, welche Prompts gut funktionieren.
  • Fehlerbehandlung nicht vergessen: Was passiert, wenn die ChatGPT API nicht erreichbar ist oder unsinnige Antworten liefert? Baue Logik in Deine Deluge-Funktion ein, um solche Fälle abzufangen und dem Nutzer eine sinnvolle Rückmeldung zu geben.
  • API Key Sicherheit: Nutze Zoho Connections oder Organisationvariablen für Deine API-Schlüssel. Exponiere sie niemals direkt im Code.
  • CRM-Hygiene: Halte Dein Zoho CRM aufgeräumt. Überlege genau, welche Felder in welchem Modul (Leads, Kontakte, Firmen, Deals) wirklich benötigt werden. Event-spezifische Informationen gehören typischerweise in den Deal, nicht zum Kontakt oder zur Firma.
  • Kosten im Blick behalten: API-Aufrufe, insbesondere an Modelle wie GPT-4, kosten Geld. Optimiere Deine Prozesse, um unnötige Aufrufe zu vermeiden. Teste ggf. günstigere Modelle.
  • Transparenz: Überlege, ob und wie Du Deinen Kunden gegenüber kommunizierst, dass KI zur Angebotsunterstützung eingesetzt wird.

Zusätzliche Hinweise und Ausbaustufen

Diese Lösung ist ein Startpunkt. Du kannst sie weiter ausbauen:

  • Zoho Flow: Statt einer reinen Deluge Custom Function könntest Du Zoho Flow nutzen, um den Prozess zu orchestrieren. Flow kann auf einen Deal-Statuswechsel reagieren, die ChatGPT API aufrufen (ggf. über einen Webhook-Schritt) und den Deal aktualisieren. Das kann übersichtlicher sein als komplexe Deluge-Skripte.
  • Zoho Forms Integration: Nutze ein detailliertes Zoho Form, das nach der ersten Qualifizierung an den Kunden gesendet wird, um strukturiertere Informationen (Budget, genaue Adresse, Allergien etc.) zu sammeln, bevor ChatGPT das Angebot erstellt.
  • Formatierte E-Mail: Statt reinem Text könntest Du die ChatGPT-Antwort nutzen, um eine formatierte HTML-E-Mail-Vorlage in Zoho CRM zu befüllen und per Knopfdruck zu versenden.
  • Zoho Books/Inventory Integration: Der nächste logische Schritt wäre, dass die Deluge-Funktion nicht nur Text generiert, sondern direkt einen Entwurf für einen Kostenvoranschlag in Zoho Books erstellt, inklusive der passenden Positionen aus Zoho Inventory. Dies ist deutlich komplexer, da Du die API von Zoho Books/Inventory präzise ansteuern und Produkte/Items korrekt zuordnen musst.
  • Webhook-Integrationen: Nutze Webhooks, um externe Systeme anzubinden. Zum Beispiel könnte eine Bestätigung aus einem E-Signatur-Tool via Webhook den Deal-Status in Zoho CRM aktualisieren. Zoho kann ebenfalls Webhooks senden, um externe Aktionen auszulösen.
  • Zoho Analytics: Analysiere langfristig die Performance. Welche Anfragen führen zu Abschlüssen? Welche von ChatGPT vorgeschlagenen Produkte werden oft gewählt? Nutze Zoho Analytics, um Muster zu erkennen und Deine Prompts und Produktangebote weiter zu optimieren.

Fazit: Dein smarter Assistent im CRM

Die Kombination von Zoho CRM mit der Leistungsfähigkeit von KI wie ChatGPT über APIs eröffnet beeindruckende Möglichkeiten zur Automatisierung und Effizienzsteigerung, gerade bei individuellen Dienstleistungen. Der hier gezeigte Ansatz zur teilautomatisierten Angebotserstellung ist ein praxisnaher Startpunkt, der Dir hilft, schneller auf Anfragen zu reagieren und Zeit für die wirklich wichtigen Aspekte Deines Geschäfts zu gewinnen – die Kundenbetreuung und die Qualität Deiner Leistung.

Du hast gesehen, wie Du mit Bordmitteln von Zoho (Workflows, Custom Functions, Deluge) und der gezielten Einbindung einer externen API (OpenAI) einen konkreten Geschäftsprozess optimieren kannst. Der Schlüssel liegt im schrittweisen Vorgehen, im Testen und Anpassen (insbesondere des Prompts) und in der sauberen Vorbereitung Deiner Daten. Trau Dich, zu experimentieren – die Möglichkeiten, Zoho durch APIs und Webhooks zu erweitern, sind riesig!