formbasedocs
Zur AppApp

Anfragen

Entscheidungen & Genehmigungen

Viele Requests existieren, um genau eine Sache zu bekommen: ein Ja, ein Nein oder ein 'so nicht'. Die Entscheidungsfrage erfasst dieses Urteil in einer Form, auf die deine Automation direkt verzweigen kann, ohne raten zu müssen, welches Feld die Antwort trug.


Warum eine eigene Fragenart

Jede Auswahl hat bereits einen Optionsschlüssel, sodass ein Workflow auf jedes Radio verzweigen kann. Was ein Workflow nicht kann, ist über jedes Formular mit einer Genehmigung hinweg zu wissen, welcher Schlüssel „Ja” bedeutet: Das Radio der einen Person heißt sign_off, das der anderen approved.

Die Entscheidungsfrage legt die Namen fest. Sie ist eine Einzelauswahl-Frage mit dem Feldschlüssel decision, deren drei Optionen die Optionsschlüssel approve, decline und changes tragen. Ihre Labels bleiben dir überlassen zum Umformulieren und Übersetzen; die Schlüssel darunter bewegen sich nie. Wählt die empfangende Person eine aus, endet der Request mit einem Ergebnis. Jedes Radio mit dem Schlüssel decision, dessen Optionen diese drei Schlüssel tragen, zählt — die Vorlage setzt sie nur für dich.

Eine zu deinem Formular hinzufügen

  1. 1

    Blockmenü öffnen

    Drücke / im Editor und wähle Entscheidung — „Genehmigen, ablehnen oder Änderungen anfordern".

  2. 2

    Labels umformulieren

    Du bekommst eine Frage mit dem Titel „Genehmigen Sie das?" und den Auswahlmöglichkeiten Genehmigen, Ablehnen und Änderungen anfordern. Formuliere jede davon in deine eigenen Worte um — „Freigeben", „Zurückweisen", „Zur Überarbeitung zurückschicken". Übersetze sie wie jeden anderen Inhalt.

  3. 3

    Nach dem Warum fragen, wenn nötig

    Ein Urteil allein erklärt sich selten von selbst. Füge danach eine Langtext-Frage hinzu und zeige sie nur bei Ablehnen und Änderungen mit bedingter Logik.

  4. 4

    Veröffentlichen

    Requests, die aus dieser veröffentlichten Version erstellt werden, enden mit einem Ergebnis. Wie jeder Feldschlüssel existiert decision erst, sobald das Formular veröffentlicht ist.

Die drei Werte

WertStandardlabelBedeutet
approveGenehmigenDie empfangende Person hat zugestimmt. Dein Ablauf läuft auf dem Erfolgspfad weiter.
declineAblehnenSie hat Nein gesagt. Der Request wird trotzdem abgeschlossen — Ablehnen ist ein Urteil, kein Fehlschlag.
changesÄnderungen anfordernSie möchte etwas geändert haben, bevor sie zustimmt. Meist das Signal, einen neuen Request zu senden.

Diese drei Werte sind ein öffentlicher Vertrag, wie ein Feldschlüssel: eine Automation, ein Agent und eine Tabellenkalkulationsformel lesen sie alle. Fügst du eine vierte Option hinzu, ist ihre Wahl eine gewöhnliche Antwort, kein Urteil — dieser Request wird ohne Ergebnis abgeschlossen, statt mit einem Wert, den dein Empfänger noch nie gehört hat.

Wo das Ergebnis erscheint

StelleWas du bekommst
Callbackoutcome im Request-Block der request.completed-Payload — fehlt, wenn es kein Urteil gibt.
requests.getoutcome neben status, plus die Antworten nach Feldschlüssel geordnet.
requests.listEin Outcome-Filter; die Übergabe eines Werts schließt nur abgeschlossene Requests ein.
Requests-SeiteEin Filter Ergebnis, und Genehmigt / Abgelehnt / Änderungen angefordert am Request selbst.
EinreichungenDas Urteil ist auch eine gewöhnliche Antwort, unter dem Feldschlüssel decision.
request.completed, gekürzt
json
{
  "id": "evt_...",
  "type": "request.completed",
  "test": false,
  "data": {
    "request": {
      "id": "kd7...",
      "externalId": "run-42",
      "status": "completed",
      "outcome": "changes",
      "context": { "case_id": "CASE-9" }
    },
    "answers": {
      "decision": "changes",
      "reason": "Please split the line items per site."
    }
  }
}

Verzweige auf data.request.outcome. status sagt, ob der Request abgeschlossen ist; outcome sagt, wie die empfangende Person entschieden hat. Ein abgelaufener oder stornierter Request hat einen Status und kein Ergebnis, ebenso ein abgeschlossener Request bei einem Formular ohne Entscheidungsfrage.

Von einem Agenten aus

Das MCP-Tool heißt editor_insertDecisionQuestion und nimmt einen Titel und die drei Labels in der Sprache des Formulars entgegen. Ein Agent, der keinen Callback-Endpunkt hosten kann, fragt stattdessen request_get ab und liest outcome, sobald der Status pending verlässt. Requests auf dem MCP-Server →