Direkte Anfrage an das Modell
ai_request(prompt, text, response_schema=null, think_mode=false, ai_assistant_id=null)
Sendet eine Anfrage an ein KI-Modell und gibt die generierte Antwort zurück.
Parameter
| Parameter | Beschreibung |
|---|---|
prompt |
Der System-Prompt für das KI-Modell. |
text |
Die Benutzereingabe, die an das Modell gesendet wird. |
response_schema |
Optionales JSON-Schema für strukturierte Antworten. Übergeben Sie None oder 0, um die strukturierte Ausgabe zu deaktivieren. |
think_mode |
Aktiviert den Denkmodus des Modells. Standard: False. |
ai_assistant_id |
Optional. Kann entweder eine KI-Assistenten-ID oder ein Konfigurationsobjekt sein. Wenn eine Assistenten-ID angegeben wird, verwendet die Funktion automatisch die Einstellungen dieses Assistenten (Anbieter, Modell, API-Schlüssel und andere Parameter), sodass diese nicht manuell übergeben werden müssen. |
Beispiele
Verwenden eines KI-Assistenten anhand der ID
ai_request(prompt, text, 0, 0, 123)
In diesem Beispiel lädt die Funktion alle Einstellungen vom KI-Assistenten mit der ID 123, sodass Sie den Anbieter, das Modell, den API-Schlüssel oder andere Konfigurationen nicht manuell angeben müssen.
Manuelles Übergeben der Modellkonfiguration
ai_request(
prompt,
text,
0,
0,
{
"provider": "openai",
"api_key": "#{openai_key}",
"model": "gpt-5-mini"
}
)
In diesem Fall wird die bereitgestellte Konfiguration anstelle eines KI-Assistenten verwendet.

Bitte beachten Sie
In Ausdrücken werden Variablen nur mit ihren Namen geschrieben, ohne
#{}.Die Antwort wird als Klartext zurückgegeben, sodass sie direkt an den Kunden gesendet oder in einer Variable gespeichert werden kann.
Die Methode wartet geduldig auf die Antwort des Modells, sodass auch langlaufende Anfragen, wie große Schemata oder lange Texte, ohne Unterbrechung abgeschlossen werden.
Wenn Sie strukturierte Daten anstelle von Freitext benötigen, z. B. eine Kategorie, eine Ja/Nein-Antwort oder extrahierte Felder, übergeben Sie ein Antwort-Schema als drittes Argument.
Sie müssen keine Schemata von Grund auf neu erstellen. Verwenden Sie eine fertige Vorlage und benennen Sie die Felder nach Bedarf um.
„Aus einer Liste auswählen“-Vorlage
Zur Klassifizierung von Kundenanfragen, Bestimmung der Stimmung und ähnlichen Aufgaben.
local result = ai_request('Bestimmen Sie die Kategorie der Anfrage.', question, {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": ["complaint", "question", "order"]
}
},
"required": ["category"]
})
category = get(result, 'category')
Das Modell gibt genau einen der in enum aufgeführten Werte zurück und sonst nichts.

„Ja/Nein“-Vorlage

Das zu kopierende Beispiel:
local result = ai_request('Hat der Kunde dem Kauf zugestimmt?', question, {
"type": "object",
"properties": {
"agree": {
"type": "boolean"
}
},
"required": ["agree"]
})
agree = get(result, 'agree')
„Daten aus Text extrahieren“-Vorlage

Das zu kopierende Beispiel:
local result = ai_request('Extrahieren Sie den Namen und die Telefonnummer aus der Nachricht.', question, {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"phone": {
"type": "string"
}
},
"required": ["name", "phone"]
})
client_name = get(result, 'name')
client_phone = get(result, 'phone')
📖 Kurzreferenz zum Anpassen von Vorlagen
-
"string"— Text -
"number"— eine Zahl -
"boolean"—trueoderfalse -
enum— eine Liste erlaubter Werte; das Modell kann nichts außerhalb dieser Liste zurückgeben -
required— eine Liste der Pflichtfelder - Feldnamen wie
category,nameundphonekönnen frei gewählt werden
Die schema-basierte Antwort wird als JSON-String zurückgegeben. Einzelne Felder können mit der Standardmethode get() abgerufen werden.
Bitte beachten Sie
In den Beispielen wird
resultmitlocaldeklariert. Dies bedeutet, dass die rohe KI-Antwort nicht im Datensatz gespeichert wird; nur die erforderlichen Felder werden dort gespeichert.
Denkmodus
Der Denkmodus kann mit dem vierten Argument aktiviert werden. In diesem Modus denkt das Modell zuerst über die Aufgabe nach und gibt dann eine Antwort.
Er ist nützlich für komplexe Anfragen, die Analyse, Berechnungen oder mehrstufige Logik beinhalten. Die Antwort dauert merklich länger, daher ist der Denkmodus standardmäßig deaktiviert.
answer = ai_request(
'Lösen Sie das Problem des Kunden und erklären Sie die Lösung.',
question,
'',
true
)
Wenn kein Antwort-Schema erforderlich ist, übergeben Sie einen leeren String '' als drittes Argument, wie im Beispiel gezeigt.
So löschen Sie den Chatverlauf mit dem KI-Assistenten
clear_assistant_chat_history() - Diese Funktion löscht den Chatverlauf des Kunden mit dem Assistenten. Sie benötigt keine Parameter.
Beispiel
- Die Builder-Block-Einstellungen

- Die Einstellungen des KI-Assistenten-Tabs

So stellen Sie eine Frage an den KI-Assistenten
ai_context_answer(replica, prompt, ai_assistant_id, use_history, send_answer)
Parameter:
| Parameter | Beschreibung | Hinweis |
|---|---|---|
| **!** replica | erforderlicher Parameter, Nachricht an den Assistenten | |
| prompt | optionaler Parameter, Anweisungen für den Assistenten | wenn der Parameter nicht angegeben ist, aber der Parameter ai_assistant_id bereitgestellt wird, werden die Anweisungen aus den Einstellungen des angegebenen Assistenten verwendet |
| ai_assistant_id | Assistenten-ID, an die die Frage gesendet wird; | wenn nicht angegeben, wird der Assistent ohne Standardeinstellungen verwendet |
| use_history | ob der Assistent den Chatverlauf zur Beantwortung der Frage verwenden soll | True - verwenden, False - nicht verwenden. Standardmäßig - True |
| send_answer | Antwort nach Ablauf der Timeout-Zeit des Assistenten senden | Zum Aktivieren übergeben Sie "1" |
Weitere Details zum Parameter send_answer:
Die Assistenteneinstellungen enthalten Parameter, die konfiguriert werden können, falls die Antwort des Bots lange dauert

In einem Standardgespräch mit dem Assistenten (nicht über eine Funktion) wird der Kunde bei einer Antwortzeit, die länger als das angegebene Limit (z. B. 20 Sekunden) dauert, über die Verzögerung informiert. Die Antwort des Assistenten wird dann an den Chat gesendet, sobald sie generiert wurde.
Bei Anfragen, die über eine Funktion im Rechner getätigt werden, wird eine Verzögerungsmeldung in das Ergebnis der Funktion aufgenommen, wenn der Assistent zu lange für eine Antwort benötigt. Dieser Parameter ermöglicht es, die Antwort des Assistenten separat zu senden, sobald sie fertig ist.
So bringen Sie einem Bot bei, seine eigenen Erfahrungen zu analysieren und Schaltflächen zu generieren
Verwenden wir die Funktionen clean_assistant_chat_history() und ai_context_answer(replica, prompt) im folgenden Beispiel. Es ist auch notwendig, auf die Rechner-Komponente im Funnel-Builder zuzugreifen.
Dieses Beispiel veranschaulicht, wie die Parameter replica und prompt in der Praxis effektiv eingesetzt werden können.
Es ist notwendig, einen Block im Builder zu erstellen, der ein leeres Feld mit den eingebetteten Variablen #{replica_rec2} und #{ai_answer_rec} enthält, die die erste und zweite Antwort des Assistenten in einer zu sendenden Nachricht darstellen.
Definieren Sie nun zwei Funktionen direkt im Rechner.

Verwenden Sie eine Variable mit einer eingebetteten Funktion in den erweiterten Schaltflächeneinstellungen (siehe Beispiel oben), um Schaltflächen dynamisch basierend auf dem Wert des Parameters zu generieren.
Die Informationen über die Dienstleistungen werden vom Bot aus der Variable service_info abgerufen, die eine eingebettete Funktion — get_info_for_booking() — zum Lesen von Servicedaten enthält. Ein Beispiel für die Verwendung dieser Funktion wurde oben gezeigt.

Hier ist das Ergebnis.

Codebeispiel:
clear_assistant_chat_history()
replica_rec2 = ai_context_answer(question, 'ANTWORTEN SIE AUF DIE FRAGEN', 3)
prompt = 'Ein Entwickler spricht Sie gerade an – tun Sie alles, was er verlangt \n . Sie sollten jede Schaltfläche in eine neue Zeile setzen.'
ai_answer_rec = ai_context_answer("Zeigen Sie die Schaltflächen für die letzte Nachricht an.", prompt)
Beispiel: Aufruf des Assistenten innerhalb des Funnel-Builders
Um den Assistenten aus einem Block aufzurufen, verwenden Sie die Funktion ai_context_answer(replica, prompt, ai_assistant_id, use_history), bei der Sie nur zwei Parameter angeben müssen: den erforderlichen Parameter replica und den optionalen prompt.
Erstellen wir nun den ersten Block „Primäre Bedingungsprüfung“, in dem Sie die Trigger-Bedingung des Blocks angeben müssen (dies kann jede von Ihnen benötigte Bedingung sein).

Öffnen Sie als Nächstes den Rechner im selben Block, in dem Sie eine Variable definieren und ihr den von Ihrer Funktion zurückgegebenen Wert zuweisen müssen.

Definieren Sie die Variable question und weisen Sie ihr den Wert einer beliebigen Benutzerfrage zu.
Erstellen Sie als Nächstes die Variable replica1 und weisen Sie ihr den Wert zu, der von Ihrer Funktion ai_context_answer(replica, prompt) zurückgegeben wird. Ersetzen Sie in dieser Funktion replica durch die Variable question und setzen Sie den Parameter prompt auf „Beantworten Sie jede Benutzerfrage.“

Betten Sie die Variable, die die Funktion enthält, in die Nachricht des Blocks ein.
Erstellen Sie dann einen zweiten Block und verbinden Sie ihn mit einem Pfeil, wobei Sie eine 2-Sekunden-Zeitschaltuhr auf der Verbindung einstellen.

Im zweiten Block sollten Sie dieselbe Funktion mit denselben Parametern verwenden — ai_context_answer(replica, prompt).
Öffnen Sie den Rechner im zweiten Block und definieren Sie die zweite Variable namens replica2.

Geben Sie im Parameter prompt Anweisungen für den Assistenten: Er soll zählen, wie viele Substantive in seiner vorherigen Nachricht enthalten waren.
Geben Sie im Parameter replica die Nachricht des Assistenten ein: „Wie viele Substantive waren in Ihrer vorherigen Nachricht?“
Betten Sie dann die Variable replica2 in die Nachricht des zweiten Blocks ein.

Die Blockeinrichtung ist abgeschlossen.
Wenn der Assistent nicht aktiviert ist, gehen Sie zum Tab „KI-Assistent“ und aktivieren Sie den Assistenten, indem Sie die Rolle „deaktiviert“ auswählen:

Testen wir nun unseren Assistenten im Bot-Testfenster.

Der Bot hat korrekt funktioniert.
Arbeiten mit Google Sheets
get_info_from_table(sheet_id, number_sheet, sheet_json_keys, start_row, end_row, start_col, end_col) - Diese Funktion dient zum Lesen von Daten aus einer Tabelle.
| Parameter | Beschreibung |
|---|---|
| **!** sheet_id | ID der Google-Tabelle |
| number_sheet | Blattnummer in der Tabelle; standardmäßig = 1 |
| sheet_json_keys | optionaler Parameter – Zugriffsschlüssel auf die Tabellendaten |
| start_row |
optionaler Parameter, eine ganze Zahl. Gibt den Beginn des Zeilenbereichs an. Geben Sie die Zeilennummer an, ab der die Tabellenwerte inklusive gelesen werden sollen. Der Wert muss ohne Anführungszeichen angegeben werden. |
| end_row | optionaler Parameter, eine ganze Zahl. Gibt das Ende des Zeilenbereichs an.
Geben Sie die Zeilennummer an, bis zu der die Tabellenwerte inklusive gelesen werden sollen. Der Wert muss ohne Anführungszeichen angegeben werden. |
| start_col | optionaler Parameter, eine Zeichenkette. Gibt den Beginn des Spaltenbereichs an.
Geben Sie den Spaltenbuchstaben an, ab dem die Tabellenwerte inklusive gelesen werden sollen. Der Wert muss in Anführungszeichen gesetzt werden. |
| end_col | optionaler Parameter, eine Zeichenkette. Gibt das Ende des Spaltenbereichs an.
Geben Sie den Spaltenbuchstaben an, bis zu dem die Tabellenwerte inklusive gelesen werden sollen. Der Wert muss in Anführungszeichen gesetzt werden. |
Beispiel für die Parameternotation:


Bitte beachten
Die Parameter zur Angabe des Zeilen- und Spaltenbereichs
(start_row, end_row, start_col, end_col)ermöglichen es dem Assistenten, Tabellendaten ab der gewünschten Position innerhalb der Tabelle zu lesen.
Das Verhalten der Funktion bei teilweiser Bereichsangabe ist wie folgt:
- Wenn nur der Start definiert ist: Der Assistent ruft alle Daten ab diesem Startpunkt ab, ohne Obergrenze in der angegebenen Richtung.
- Wenn nur das Ende definiert ist: Der Assistent liest Daten vom Anfang des Blattes bis zu diesem angegebenen Endpunkt.
Beispiel:
Der Aufruf
get_info_from_table('<<Tabellen-ID>>', 2, None, 2, 5, 'a', 'd')ruft alle Daten ab Zeile 2, Spalte 2 (B), bis Zeile 5 und zwischen den Spalten A und D ab.
Bitte beachten
Um die Leistung und Zuverlässigkeit zu optimieren, empfehlen wir, alle Daten aus Ihrer Google-Tabelle in Projektvariablen zwischenzuspeichern, wenn Sie damit arbeiten.
Wichtige Vorteile:
- Verbesserte Leistung: Beschleunigt die Antwortzeit des Chatbots erheblich, indem auf lokale Variablen zugegriffen wird, anstatt für jede Anfrage die externe Tabelle abzufragen.
- Erhöhte Zuverlässigkeit: Minimiert Fehler im Zusammenhang mit Netzwerklatenz, API-Kontingenten oder Zugriffsberechtigungen für Tabellen.
- Datenkonsistenz: Die Speicherung von Daten in den Projekteinstellungen stellt sicher, dass alle Benutzer gleichzeitig und konsistent auf denselben Datensatz zugreifen, wodurch Abweichungen während Aktualisierungen verhindert werden.
Anwendungsbeispiel
Weitere Informationen zur Funktion get_info_from_table finden Sie im Artikel „Google Sheets für KI-Assistenten“.
So verwalten Sie Online-Buchungen
get_info_for_booking(slot_interval, company_id) – Die Funktion dient zum Lesen von Servicedaten aus dem konfigurierten Online-Buchungssystem.
Sie akzeptiert optionale Parameter:
- slot_interval (optional) – ein Intervall in Minuten zwischen verfügbaren Zeitfenstern. Erwartetes Format: eine ganze Zahl, die durch 5 teilbar ist. Standardwert: 60 (Minuten).
- company_id (optional) – eine Filialkennung. Erwartetes Format: eine ganze Zahl oder ein Array von ganzen Zahlen. Wenn dieser Parameter angegeben wird, werden nur Daten für die angegebene(n) Filiale(n) zurückgegeben.
Beispiel: 50142, „50142“ oder „[50142, 66352]“
Es wird nicht empfohlen, einen sehr kleinen Wert (z. B. weniger als 30) festzulegen, da der Assistent sonst zu viele Zeitfenster generiert.
Anwendungsbeispiel
Zunächst müssen Sie einen Block vorbereiten, der die Informationen zu allen Diensten aktualisiert, nachdem die Filialeinstellungen im Bereich „Dienste“ konfiguriert wurden.
Dieser Block muss deklariert werden, bevor der Assistent seine Arbeit aufnimmt, um sicherzustellen, dass die KI keine zufälligen Antworten generiert.

Als nächstes lösen Sie den Block im Bot-Testfenster aus, um die Variable zu aktualisieren:

Danach erscheint die angegebene Variable mit den Online-Buchungsdaten im Abschnitt „Projektvariablen“ unter „Projekteinstellungen“.

Diese Variable speichert die Dienstwerte, die der KI-Bot in seinen Abläufen verwendet. Die Variable service_info ist für alle Kunden des Projekts zugänglich.
Als nächstes fahren wir mit der Konfiguration des nächsten Blocks fort.

Dieser Block erfüllt die folgenden Funktionen:
a) Er wird in den Assistenteneinstellungen aufgerufen, um einen Datensatz unter Verwendung dienstbezogener Variablen zu generieren;
b) Er erstellt eine Kundenbuchung;
c) Er aktualisiert Projektvariablen nach einer Buchung und entfernt Zeitfenster, die im Zeitplan nicht mehr verfügbar sind.
Wenn der Bot korrekt konfiguriert ist, sendet die KI nach Erhalt aller Daten vom Kunden die Informationen an den angegebenen Block. In diesem Block wird der Kunde für den Dienst mit der Funktion create_booking_by_name(!service_name, !date, !date_time, company_id) gebucht.

Vom Bot gesammelte Werte werden als Parameter an create_booking_by_name(!service_name, !date, !date_time, company_id) übergeben.
Die Funktion create_booking_by_name(service_name, date, date_time, company_id) erstellt eine Buchung im System unter Verwendung der vom KI-Assistenten bereitgestellten Daten. Sie akzeptiert drei erforderliche Parameter für die Buchungserstellung:
| Parameter | Beschreibung |
|---|---|
| ! service_name | erforderlicher Parameter, Dienstname |
| ! date | Datum im Format TT.MM.JJJJ |
| ! date_time | Dienstzeit im Format HH:MM |
| company_id | Filial-ID, optional.
Wenn angegeben, wird die Buchung für den Dienst mit dem angegebenen Namen erstellt, der zu dieser bestimmten Filiale gehört. Dieser Parameter kann in Fällen erforderlich sein, in denen mehrere Filialen Dienste mit demselben Namen haben. |
Da die Informationen über verfügbare Slots nicht mehr aktuell sind, wird dieselbe Variable mit ihrer eingebetteten Funktion verwendet, um die verfügbaren Daten und Zeiten für die Buchung zu aktualisieren.

Bitte beachten
Wenn es Änderungen am Zeitplan, Personal oder den Diensten gibt, führen Sie den Block, der die Projektvariable mit der eingebetteten Funktion enthält, im Testmodus aus (siehe Abb. Block 1).
Buchungen aus der Tabelle abrufen
get_records_from_table(table_id, start_row, count, start_col, end_col) – Buchungen aus der Tabelle abrufen
| Parameter | Beschreibung | Hinweis |
|---|---|---|
| table_id | Tabellen-ID | |
| start_row | optionaler Parameter, eine ganze Zahl. Gibt den Beginn des Zeilenbereichs an. | Geben Sie die Zeilennummer an, ab der die Tabellenwerte inklusive gelesen werden sollen. Ohne Anführungszeichen angeben. |
| count | optionaler Parameter, eine ganze Zahl. Gibt die Anzahl der abzurufenden Zeilen an. | Standardmäßig - 1000, maximal - 5000. Ohne Anführungszeichen angeben. |
| start_col | optionaler Parameter, eine Zeichenkette. Gibt den Beginn des Spaltenbereichs an. | Geben Sie den Spaltenbuchstaben an, ab dem die Tabellenwerte inklusive gelesen werden sollen. In Anführungszeichen angeben. |
| end_col | optionaler Parameter, eine Zeichenkette. Gibt das Ende des Spaltenbereichs an. | Geben Sie den Spaltenbuchstaben an, bis zu dem die Tabellenwerte inklusive gelesen werden sollen. In Anführungszeichen angeben. |
Wenn nur der Beginn des Zeilen- oder Spaltenbereichs angegeben ist, werden alle Daten ab diesem Punkt ohne Obergrenze des Bereichs abgerufen. Ebenso können Sie den Beginn weglassen und nur das Ende des Bereichs angeben.
Beispiel (Rechner)
Wenn Sie Datensätze aus der Tabelle abrufen müssen, öffnen Sie den Abschnitt „Rechner“ in den Blockeinstellungen und geben Sie die Funktion mit den erforderlichen Parametern ein.

Um Parameter als Projektvariable zu übergeben, stellen Sie dem Variablennamen, der die Funktion enthält, project voran.

Hier ist das Tabellenbeispiel.

Der Bot wird wie folgt antworten.
