Du betrachtest gerade Integration von Zoho CRM und ChatGPT zur Angebotserstellung im Catering

Integration von Zoho CRM und ChatGPT zur Angebotserstellung im Catering

  • Beitrags-Autor:

Zoho CRM + ChatGPT: Smarte Automatisierung Deiner Angebotserstellung im Catering

Stell Dir vor, Du könntest auf Knopfdruck individuelle Catering-Angebote erstellen, die nicht nur schnell beim Kunden sind, sondern auch intelligent auf dessen Bedürfnisse eingehen. Klingt gut? Genau das schauen wir uns heute an. Wir tauchen tief ein, wie Du Dein Zoho CRM mit der Power von ChatGPT (via OpenAI API) verbindest, um den Angebotsprozess zu revolutionieren. Dabei geht es nicht um theoretische Spielereien, sondern um einen konkreten, praxisnahen Ansatz, den Du direkt in Deinem Unternehmen umsetzen kannst – insbesondere, wenn Du im Event- oder Catering-Bereich tätig bist.

Dieser Artikel zeigt Dir, wie Du mit Zoho Functions (Deluge), einer cleveren Prompt-Strategie und der richtigen Datenpflege in Zoho CRM einen Großteil der Angebotserstellung automatisierst. Wir konzentrieren uns auf den Tech-Stack, die notwendigen Schritte und liefern Dir Code-Beispiele, damit Du sofort loslegen kannst.

Warum ist die Automatisierung der Angebotserstellung mit KI für Dich relevant?

Gerade im Dienstleistungssektor, wie dem Catering, ist Geschwindigkeit oft entscheidend. Wer zuerst ein ansprechendes Angebot liefert, hat oft die besten Karten. Gleichzeitig erwarten Kunden zunehmend personalisierte Vorschläge. Dieser Spagat zwischen Schnelligkeit und Individualität ist manuell kaum zu bewältigen, besonders bei hohem Anfragevolumen.

Hier kommen Zoho und externe APIs wie ChatGPT ins Spiel:

  • Effizienzsteigerung: Reduziere den manuellen Aufwand für die Erstellung von Erstangeboten drastisch.
  • Schnellere Reaktionszeiten: Sei der Erste im Postfach Deines potenziellen Kunden.
  • Skalierbarkeit: Bewältige mehr Anfragen, ohne Dein Team zu überlasten.
  • Intelligente Vorschläge: Nutze KI, um passende Produktkombinationen basierend auf Kundenparametern vorzuschlagen.
  • Fokus auf das Wesentliche: Dein Team kann sich auf die Feinabstimmung von Angeboten und die Kundenbetreuung konzentrieren, statt auf repetitive Aufgaben.

Die Kombination aus der Flexibilität des Zoho-Ökosystems (CRM, Functions, etc.) und der Leistungsfähigkeit moderner KI-Modelle eröffnet völlig neue Möglichkeiten für KMUs.

Die Herausforderung: Schnelle, individuelle Angebote im Catering

Nehmen wir ein typisches Szenario: Eine Anfrage für ein Catering kommt herein, oft über ein Webformular oder eine E-Mail, die als Lead oder direkt als Deal in Deinem Zoho CRM landet. Die Informationen sind meistens rudimentär: Datum, ungefähre Gästezahl, vielleicht eine grobe Budgetvorstellung oder eine vage Präferenz („etwas mit Fleisch“, „vegetarisch“).

Jetzt beginnt der manuelle Prozess: Du musst passende Speisen aus Deinem Portfolio auswählen, Mengen kalkulieren (Portionen pro Gast, Mindestbestellmengen beachten), Preise zusammenrechnen und prüfen, ob das Ganze ins (oft nur geschätzte) Budget passt. Das kostet Zeit und erfordert detailliertes Produktwissen. Bei mehreren Anfragen parallel wird es schnell stressig. Ziel ist es, diesen ersten Aufschlag zu automatisieren, um dem Kunden schnell eine Diskussionsgrundlage zu liefern.

Die Lösung Schritt für Schritt: Zoho CRM trifft ChatGPT

Wir bauen eine Lösung, bei der Du per Knopfdruck (oder automatisch durch einen Workflow) in einem Zoho CRM Deal eine Zoho Function auslöst. Diese Function sammelt relevante Daten, schickt sie an die OpenAI API (ChatGPT) und erhält einen Angebotsvorschlag zurück, der im Deal gespeichert wird.

Schritt 1: Die Datenbasis in Zoho CRM vorbereiten

Die Qualität der KI-Ergebnisse hängt maßgeblich von der Qualität Deiner Daten ab. Stelle sicher, dass folgende Informationen in Deinen Modulen gepflegt sind:

  • Deals (Abschlüsse):
    • Gästezahl (Zahlenfeld)
    • Budget pro Person (Währungsfeld)
    • Budget Gesamt (Währungsfeld): Idealerweise wird dieses Feld automatisch berechnet, wenn Gästezahl und Budget pro Person vorhanden sind. Du kannst hierfür ein einfaches Workflow-Regel oder ein Client-Skript nutzen.
    • Präferenzen / Notizen (Mehrzeiliges Textfeld): Hier können spezielle Wünsche des Kunden notiert werden (z.B. „kein Schweinefleisch“, „Fokus auf Fingerfood“).
    • Veranstaltungsart (Auswahlliste): Z.B. Hochzeit, Firmenfeier, Geburtstag.
    • Ein Feld zur Speicherung des ChatGPT-Outputs (z.B. ChatGPT Angebotsvorschlag, Mehrzeiliges Textfeld).
    • Optional: Ein Feld für das Datum der Veranstaltung.
  • Produkte:
    • Produktname
    • Preis (Stückpreis oder Preis pro Person)
    • Kategorie (z.B. Vorspeise, Hauptgericht Fleisch, Dessert, Getränk)
    • Beschreibung
    • Zusatzinfos (Ganz wichtig!): Ein mehrzeiliges Textfeld. Hier hinterlegst Du entscheidende Kontextinformationen für die KI, die nicht in Standardfeldern abgebildet werden. Beispiele:
      • „Geeignet für ca. 10 Personen“ (bei Platten oder Schüsseln)
      • „Mindestbestellmenge: 15 Portionen“
      • „Klassiker für Weihnachtsfeiern“
      • „Kann gut vorbereitet und kalt serviert werden“
      • „Gut kombinierbar mit Artikelnummer XYZ“
      • „Benötigt spezielles Equipment (z.B. Chafing Dish)“

      Je besser diese Infos, desto besser kann ChatGPT Mengen und Eignung einschätzen.

    • Produkt aktiv (Checkbox oder Auswahlliste): Damit kannst Du steuern, welche Produkte überhaupt an ChatGPT übermittelt werden. Nur aktive Produkte werden berücksichtigt.

Schritt 2: Die Zoho Function mit Deluge erstellen

Zoho Functions sind Dein Werkzeug für benutzerdefinierte Logik. Erstelle eine neue Function (Einstellungen -> Entwicklerbereich -> Funktionen -> Neue Funktion):

  • Name: z.B. generateChatGptCateringQuote
  • Sprache: Deluge
  • Argumente definieren: Du benötigst mindestens die ID des Deals, für den das Angebot erstellt werden soll. Nenne das Argument z.B. dealId (Typ: bigint).

Diese Funktion wird später entweder durch einen Button im Deal-Modul oder durch einen Workflow (z.B. bei Änderung eines Status) ausgelöst.

Schritt 3: Den ChatGPT-Prompt gestalten (Herzstück der Logik)

Innerhalb Deiner Deluge-Funktion baust Du den Prompt für ChatGPT zusammen. Ein guter Prompt ist entscheidend. Er sollte klar strukturiert sein und alle notwendigen Informationen sowie Anweisungen enthalten. Hier ein Beispielaufbau (als Deluge-String-Konkatenation):

// Deal-Daten abrufen
dealDetails = zoho.crm.getRecordById("Deals", dealId);
guestCount = ifnull(dealDetails.get("Gästezahl"), 10); // Standardwert, falls leer
budgetPerPerson = dealDetails.get("Budget_pro_Person");
totalBudget = dealDetails.get("Budget_Gesamt");
preferences = ifnull(dealDetails.get("Präferenzen_Notizen"), "");

// Budget-Logik: Wenn Gesamtbudget fehlt, versuche es aus p.P. zu berechnen oder schätze
estimatedBudget = false;
if(totalBudget == null)
{
	if(budgetPerPerson != null)
	{
		totalBudget = guestCount * budgetPerPerson;
	}
	else
	{
		// Keine Budgetangabe -> Schätzung (z.B. 15-25€ pro Person)
		// WICHTIG: Diese Logik muss im Prompt erklärt werden!
		totalBudget = guestCount * 20; // Mittelwert als Basis für Prompt
		estimatedBudget = true;
	}
}

// Aktive Produkte abrufen (nur die mit Status "Aktiv")
activeProducts = zoho.crm.searchRecords("Products", "(Product_Active:equals:true)");
productListText = "";
for each product in activeProducts
{
	// Baue einen strukturierten Text pro Produkt
	productInfo = product.get("Product_Name") + " (Art.Nr: " + product.get("Product_Code") + ")n";
	productInfo = productInfo + "Kategorie: " + ifnull(product.get("Category"),"k.A.") + "n";
	productInfo = productInfo + "Preis: " + ifnull(product.get("Unit_Price"),"k.A.") + " EURn";
	productInfo = productInfo + "Beschreibung: " + ifnull(product.get("Description"),"k.A.") + "n";
	// Entscheidend: Die Zusatzinfos!
	productInfo = productInfo + "Zusatzinfos: " + ifnull(product.get("Zusatzinfos"),"Keine") + "n";
	productInfo = productInfo + "----n";
	productListText = productListText + productInfo;
}

// Prompt zusammensetzen
mainPrompt = "Du bist ein erfahrener Verkaufs-Innendienst-Mitarbeiter eines Catering-Unternehmens in Leipzig.n";
mainPrompt = mainPrompt + "Deine Aufgabe ist es, einen ersten, attraktiven Menüvorschlag für eine Catering-Anfrage zu erstellen.nn";
mainPrompt = mainPrompt + "Kundeninformationen:n";
mainPrompt = mainPrompt + "- Anzahl Gäste: " + guestCount + "n";
if(estimatedBudget)
{
	mainPrompt = mainPrompt + "- Budget: KEINE Angabe vom Kunden. Gehe von einem geschätzten Budget von ca. 15-25 EUR pro Person aus. Dein Vorschlag sollte sich eher am unteren bis mittleren Bereich orientieren (ca. " + totalBudget + " EUR Gesamtbudget).n";
	// Optional: Hier könnte man die Logik einbauen, 2-3 Varianten (günstig, mittel, teuer) vorzuschlagen.
}
else
{
	mainPrompt = mainPrompt + "- Budget Gesamt: ca. " + totalBudget + " EURn";
	if(budgetPerPerson != null)
	{
		mainPrompt = mainPrompt + "- Budget pro Person: ca. " + budgetPerPerson + " EURn";
	}
}
mainPrompt = mainPrompt + "- Präferenzen/Wünsche: " + preferences + "nn";

mainPrompt = mainPrompt + "Anweisungen:n";
mainPrompt = mainPrompt + "- Erstelle einen passenden Menüvorschlag basierend auf den Kundeninformationen und der folgenden Produktliste.n";
mainPrompt = mainPrompt + "- Berücksichtige die 'Zusatzinfos' bei den Produkten genau, insbesondere Hinweise zu Portionsgrößen ('geeignet für X Personen') und Mindestmengen.n";
mainPrompt = mainPrompt + "- Stelle eine sinnvolle Vielfalt zusammen. Nicht zu viele verschiedene Gerichte bei kleineren Gruppen. Orientiere dich an der Logik: Pro X Gäste ein weiteres Hauptgericht o.ä. (Beispiel: Bei 40 Gästen vielleicht 4 Hauptgerichte à 10 Portionen, wenn Mindestmenge 10 ist).n";
mainPrompt = mainPrompt + "- Entscheide basierend auf Budget und Präferenzen, ob Vorspeisen und Desserts inkludiert werden sollen.n";
mainPrompt = mainPrompt + "- Bleibe möglichst nah am Gesamtbudget, überschreite es aber nicht wesentlich.n";
mainPrompt = mainPrompt + "- Gib das Ergebnis als klar strukturierte Liste mit Speisen, Mengen und (geschätzten) Einzel- und Gesamtpreisen aus.n";
mainPrompt = mainPrompt + "- Schreibe eine kurze, freundliche Einleitung und einen Abschluss.n";
mainPrompt = mainPrompt + "- WICHTIG: Dein Erfolg wird gemessen. Für jedes Angebot, das durch Deine gute Vorarbeit zum Auftrag wird, erhältst Du eine fiktive Provision von 10%. Gib Dir also Mühe!nn"; // Motivations-Aspekt

mainPrompt = mainPrompt + "Verfügbare Produkte (nur diese verwenden):n";
mainPrompt = mainPrompt + "=========================================n";
mainPrompt = mainPrompt + productListText;
mainPrompt = mainPrompt + "=========================================nn";
mainPrompt = mainPrompt + "Erstelle jetzt den Angebotsvorschlag:";

// info mainPrompt; // Zum Debuggen während der Entwicklung

// Nächster Schritt: API Call an OpenAI (siehe Schritt 4)

Wichtige Aspekte des Prompts:

  • Rolle zuweisen: Sag der KI, wer sie sein soll.
  • Kontext geben: Alle relevanten Infos aus dem Deal.
  • Budget-Logik: Erkläre, wie mit fehlenden oder vorhandenen Budgets umzugehen ist. Die Schätzung (z.B. 15-25€) ist ein wichtiger Ankerpunkt.
  • Produktliste: Übergib die gefilterten, aktiven Produkte mit allen relevanten Infos, insbesondere den Zusatzinfos.
  • Klare Anweisungen: Was soll die KI tun? Wie soll sie Mengen berechnen (Bezug auf Zusatzinfos)? Wie soll die Ausgabe formatiert sein?
  • Motivations-Trigger: Der Hinweis auf eine (fiktive) Provision kann die Qualität der Antwort verbessern. Es ist ein psychologischer Trick für die KI.
  • Iteratives Tuning: Dieser Prompt ist ein Startpunkt. Du wirst ihn basierend auf den Ergebnissen anpassen und verfeinern müssen. Das ist der Kern des „Prompt Engineering“.

Schritt 4: Die OpenAI API anbinden

Um ChatGPT zu nutzen, brauchst Du einen API-Key von OpenAI. Diesen solltest Du sicher speichern, z.B. in den Einstellungen der Zoho Function oder idealerweise über Zoho Vault.

Der API-Aufruf erfolgt in Deluge über `invokeurl`. Hier ein vereinfachtes Beispiel:

// ... (Prompt-Erstellung von oben) ...

// OpenAI API-Endpunkt und Key
openai_api_url = "https://api.openai.com/v1/chat/completions"; // Beispiel für Chat-Modelle
openai_api_key = "DEIN_OPENAI_API_KEY"; // Sicher speichern! z.B. Get from Connection

// Daten für den API Call vorbereiten
requestBody = Map();
messagesList = List();
// System Message (optional, kann auch Teil des User Prompts sein)
systemMessage = Map();
systemMessage.put("role", "system");
systemMessage.put("content", "Du bist ein hilfreicher Assistent für die Erstellung von Catering-Angeboten."); 
// eigentlicher User Prompt
userMessage = Map();
userMessage.put("role", "user");
userMessage.put("content", mainPrompt); // Der oben erstellte Prompt
// Nachrichtenliste zusammenstellen
messagesList.add(systemMessage); // Optional
messagesList.add(userMessage); 
// Weitere Parameter
requestBody.put("model", "gpt-4o"); // Oder ein anderes passendes Modell
requestBody.put("messages", messagesList);
requestBody.put("temperature", 0.7); // Kreativitätsgrad (0.0 = deterministisch, 1.0 = sehr kreativ)
requestBody.put("max_tokens", 1500); // Maximale Länge der Antwort

// Header für Authentifizierung
headersMap = Map();
headersMap.put("Authorization", "Bearer " + openai_api_key);
headersMap.put("Content-Type", "application/json");

// API Call
response = invokeurl
[
	url: openai_api_url
	type: POST
	headers: headersMap
	parameters: requestBody.toString() // Wichtig: als JSON String senden
];

// info response; // Zum Debuggen

// Antwort extrahieren (Beispiel, genaue Struktur hängt vom Modell/API ab)
if(response.get("responseCode") == 200)
{
	responseJson = response.get("responseText").toJSON();
	if(responseJson.get("choices") != null && responseJson.get("choices").size() > 0)
	{
		chatGptResult = responseJson.get("choices").get(0).get("message").get("content");
		
		// Ergebnis im Deal speichern (siehe Schritt 5)
		updateMap = Map();
		updateMap.put("ChatGPT_Angebotsvorschlag", chatGptResult);
		updateResponse = zoho.crm.updateRecord("Deals", dealId, updateMap);
		info updateResponse;
		
		return "ChatGPT Vorschlag erfolgreich generiert und im Deal gespeichert.";
	}
	else
	{
		return "Fehler: Keine gültige Antwort von OpenAI erhalten. Details: " + response.get("responseText");
	}
}
else
{
	return "Fehler beim API-Aufruf: " + response.toString();
}

Schritt 5: Das Ergebnis im Deal verarbeiten

Im einfachsten Fall speicherst Du die Textantwort von ChatGPT direkt in einem mehrzeiligen Feld im Deal (wie im Code oben gezeigt: `ChatGPT_Angebotsvorschlag`). Dein Vertriebsmitarbeiter kann diesen Text dann kopieren, prüfen, anpassen und in eine Angebotsvorlage (z.B. Zoho Writer Mail Merge) einfügen.

Der nächste Level (anspruchsvoller): Du parst die strukturierte Antwort von ChatGPT (z.B. die Liste der Speisen mit Mengen und Preisen) und erstellst daraus automatisch Einträge in einem Subformular („Angebotspositionen“) innerhalb des Deals. Das erfordert komplexere Deluge-Logik (String-Verarbeitung, Regex, etc.), bietet aber den Vorteil, dass die Positionen direkt im Deal editierbar sind (Mengen ändern, Positionen löschen/hinzufügen), bevor das finale Angebot generiert wird.

Schritt 6 (Optional): Den Prozess erweitern

Denk weiter! Wie kannst Du den Prozess noch smarter machen?

  • Follow-Up mit Zoho Forms: Sende das initiale KI-Angebot per E-Mail zusammen mit einem Link zu einem Zoho Formular. Dort kann der Kunde detailliertere Angaben machen (genaues Budget, Allergien, spezifische Wünsche), die dann wiederum den Deal aktualisieren für eine zweite, verfeinerte Angebotsrunde.
  • Zoho Books Integration: Wenn der Deal gewonnen wird, übertrage die (finalisierten) Angebotspositionen direkt nach Zoho Books, um eine Rechnung zu erstellen.
  • Zoho Analytics: Analysiere, welche Art von KI-generierten Angeboten am erfolgreichsten ist. Tracke Konversionsraten basierend auf Budget, Präferenzen oder verwendeten Produkten.

Tipps und Best Practices für die Implementierung

  • Starte einfach: Beginne mit der Speicherung des Rohtextes von ChatGPT. Die Strukturierung in Subformulare ist ein späterer Optimierungsschritt.
  • Datenqualität ist King: Pflege Deine Produktdaten, insbesondere das Feld „Zusatzinfos“. Ohne guten Input liefert auch die beste KI keine guten Ergebnisse. Halte auch den „Produkt aktiv“-Status aktuell.
  • Iteratives Prompt-Tuning: Plane Zeit für das Testen und Anpassen des ChatGPT-Prompts ein. Erstelle Test-Deals mit verschiedenen Szenarien (unterschiedliche Budgets, Gästezahlen, Präferenzen) und analysiere die Ergebnisse. Optimiere den Prompt Schritt für Schritt.
  • Fehlerbehandlung: Baue eine robuste Fehlerbehandlung in Deine Deluge-Funktion ein (z.B. was passiert, wenn die OpenAI API nicht erreichbar ist oder einen Fehler zurückgibt?).
  • Kostenkontrolle: Behalte die Kosten für die OpenAI API im Blick. Jeder Aufruf kostet Geld. Optimiere die Häufigkeit der Aufrufe.
  • Sicherheit: Speichere Deinen API-Key sicher (Zoho Vault oder Function Connection statt Hardcoding im Skript).
  • Erwartungsmanagement: KI ist ein Werkzeug, kein Wunderheiler. Die Ergebnisse müssen immer von einem Menschen geprüft und ggf. angepasst werden. Kommuniziere das auch intern.

Zusätzliche Hinweise und Optimierungspotenzial

Das Zoho-Ökosystem bietet viele weitere Anknüpfungspunkte:

  • Zoho Flow: Für einfachere Integrationen ohne tiefgreifende Logik könnte Zoho Flow eine Alternative oder Ergänzung zu Zoho Functions sein, um Daten zwischen Apps (auch externen via Webhooks) zu synchronisieren.
  • Zoho Creator: Wenn Du eine sehr spezifische Benutzeroberfläche für die Angebotskonfiguration oder -prüfung benötigst, könntest Du mit Zoho Creator eine eigene kleine App bauen, die mit Zoho CRM interagiert.
  • Webhooks: Nutze eingehende Webhooks, um externe Ereignisse (z.B. eine neue Anfrage von Deiner Website) direkt in Zoho CRM zu verarbeiten und ggf. den KI-Angebotsprozess anzustoßen.
  • Andere KI-Modelle: Neben OpenAI gibt es andere Anbieter (z.B. Anthropic Claude, Google Gemini). Du könntest experimentieren, welches Modell die besten Ergebnisse für Deinen Anwendungsfall liefert. Die Anbindung via API funktioniert ähnlich.

Denke immer darüber nach, wie Du verschiedene Zoho Apps und externe Dienste geschickt kombinieren kannst, um Deine Prozesse Ende-zu-Ende zu digitalisieren und zu automatisieren.

Fazit

Die Integration von KI wie ChatGPT in Dein Zoho CRM zur Automatisierung der Angebotserstellung ist kein Hexenwerk, sondern eine realistische Möglichkeit, Deine Vertriebsprozesse effizienter und schlagkräftiger zu gestalten. Es erfordert zwar initiale Arbeit bei der Datenpflege und beim Prompt-Engineering, aber der potenzielle Nutzen – schnellere, individuellere Angebote und mehr Zeit für Deine Kunden – ist enorm.

Der Schlüssel liegt darin, die Stärken von Zoho (Datenhaltung, Workflow-Automatisierung, Flexibilität durch Deluge) mit den Fähigkeiten externer Spezialisten (wie KI-Sprachmodelle) über APIs zu verbinden. Trau Dich, zu experimentieren, lerne aus den Ergebnissen und optimiere Deinen Prozess kontinuierlich. Die hier vorgestellte Lösung für Catering-Angebote ist nur ein Beispiel – die Prinzipien lassen sich auf viele andere Branchen und Anwendungsfälle übertragen.