Files
Workflow/tasks/html_form.md
T
2026-07-02 08:18:00 +02:00

2.0 KiB

html_form — Freies HTML-Formular

Zweck: Rendert ein beliebiges, selbst definiertes HTML-Formular und blockiert den Workflow, bis der Benutzer es absendet; <assign_to> bestimmt Bearbeiter und Benachrichtigung. Nach dem Absenden werden alle POST-Felder unter ihrem Feldnamen in den Workflow-Kontext übernommen und stehen nachfolgenden Tasks als {{feldname}} zur Verfügung. Ein CSRF-Schutz wird automatisch in jedes <form>-Tag injiziert — dafür ist nichts zu konfigurieren.

Parameter

Name Pflicht? Default Beschreibung
html ja Vollständiger HTML-Inhalt der Seite (mit mindestens einem <form method="post">); Platzhalter werden gerendert
required nein (keine) CSV von Feldnamen, die nicht leer sein dürfen (gilt für Text- und Dateifelder); bei Verstoß wird das Formular mit Hinweis erneut angezeigt

Eingangswerte: Beliebige Kontextvariablen im HTML; zusätzlich steht {{TASK_ID}} zur Verfügung.

Ausgangswerte:

  • Jedes abgesendete Formularfeld als {{feldname}} (Strings getrimmt)
  • Datei-Uploads (<input type="file" name="feld">): pro Datei drei Variablen —
    • {{feld}} — Ablagepfad der hochgeladenen Datei (für Folgetasks wie PDF-Verarbeitung oder Mail-Anhang)
    • {{feld}}_name — ursprünglicher Dateiname
    • {{feld}}_url — abrufbare URL der Datei

Uploads sind auf 20 MB begrenzt; ausführbare Formate (Skripte, Programme) werden serverseitig abgelehnt.

<task type="html_form" id="antrag_erfassen">
  <assign_to>{{antragsteller_mail}}</assign_to>
  <config>
    <required>betreff,anlage</required>
    <html><![CDATA[
      <!DOCTYPE html><html><body>
        <form method="post" enctype="multipart/form-data">
          <input type="text" name="betreff" placeholder="Betreff">
          <textarea name="beschreibung"></textarea>
          <input type="file" name="anlage">
          <button type="submit">Absenden</button>
        </form>
      </body></html>
    ]]></html>
  </config>
</task>