I’m building a hotel chatbot that collects guest booking details, checks availability using my AvailabilityChecker node, updates room stock, appends confirmed bookings to Google Sheets, and sends confirmations via WhatsApp and email. Right now, I’m stuck in the booking flow because I don’t know how to properly connect the steps so that once a user enters their check-in and check-out dates, the system first checks availability and only records the booking if a room is available. So far, I’ve managed to log booking data directly into Google Sheets, but I haven’t figured out how to make the AI agent check availability before saving the booking.
Die Lösung ist ein IF-Node direkt nach deinem AvailabilityChecker, wobei der Sheets-Schreibvorgang danach verschoben wird. Aus deinem Flow sieht es so aus, als würde die Buchung unabhängig vom Verfügbarkeitsergebnis an das Sheet angehängt, weshalb sie auch dann gespeichert wird, wenn sie nicht sollte.
Verbinde es so: AvailabilityChecker gibt zurück, ob verfügbar oder nicht, dann verzweigt sich ein IF-Node basierend auf diesem Ergebnis. Der true-Branch führt das Google Sheets-Anfügen und die WhatsApp-/E-Mail-Bestätigung durch. Der false-Branch sendet eine „Diese Termine sind nicht verfügbar"-Antwort und stoppt. Nichts berührt das Sheet, es sei denn, der IF-Node gibt grünes Licht.
Das, was Leute bei der KI-Agent-Version verwirrt: verlasse dich nicht darauf, dass der Agent entscheidet, ob er speichern soll. Lass den Agent die Termine erfassen und die Verfügbarkeitsprüfung durchführen, aber verwende zum eigentlichen Kontrollen einen echten IF-Node im Workflow. Agents sind unzuverlässig bei „führe X nur aus, wenn Y", also halte diese Logik als deterministische Nodes, nicht als Prompt-Anweisung.
Eins noch: Wenn dein AvailabilityChecker den Raumbestand aus demselben Google Sheet liest, in das du schreibst, stelle sicher, dass dieser Lesezugriff vor dem Schreiben stattfindet und einen klaren true/false-Wert zurückgibt, auf den du verzweigen kannst. Wenn er die ganze Zeile oder einen mehrdeutigen Wert zurückgibt, hat der IF nichts Solides zum Testen und er lässt alles auf beiden Wegen durch.