Skip to main content

1. Dateieingabe in Aktionen

Dateieingaben ermöglichen es Nutzern, Dateien hochzuladen, die deine Aktion dann verarbeiten oder an externe APIs senden kann.

1.1 Wann du Dateieingaben verwenden solltest

  • Dateien zu externen Tools hochladen: Sende von Nutzern hochgeladene Dokumente an APIs, Cloud-Speicher oder externe Dienste wie E-Mail oder Ticket-Systeme.
  • Nutzerdateien verarbeiten: Analysiere, konvertiere oder transformiere von Nutzern hochgeladene Dateien

1.2 Dateieingabefelder hinzufügen

Einzelne Dateieingabe

Füge ein Eingabefeld vom Typ “FILE” hinzu, um eine Datei zu akzeptieren: image.png

Mehrere Dateieingaben

Für mehrere Dateien aktiviere Mehrere Dateien erlauben:

1.3 Auf Dateidaten im Code zugreifen

Jede hochgeladene Datei wird als FileData-Objekt mit diesem exakten Format geliefert:
Wichtig: Dateieingaben enthalten KEINE text-Eigenschaft. Die text-Abkürzung existiert nur für Dateiausgaben.

Zugriff auf einzelne Datei

Zugriff auf mehrere Dateien

Datenstruktur: Wenn “Mehrere Dateien erlauben” aktiviert ist, ist data.input.fieldName ein Array. Andernfalls ist es ein einzelnes Objekt.

1.4 Häufige Eingabemuster

1.5 Eingabevalidierung & Fehlerbehandlung

2. Dateiausgabe in Aktionen

Dateiausgaben ermöglichen es deiner Aktion, Dateien zu generieren und zurückzugeben, die Nutzer herunterladen oder in nachfolgenden Aktionen verwenden können.

2.1 Wann du Dateiausgaben verwenden solltest

  • Berichte generieren: PDFs, Tabellenkalkulationen oder Dokumente aus Daten erstellen
  • Dateien von APIs abrufen: Dateien von externen Diensten herunterladen
  • Dateien transformieren: Zwischen Formaten konvertieren oder hochgeladene Dateien verarbeiten
  • Daten exportieren: CSV-Exporte, Backup-Dateien oder Daten-Dumps erstellen

2.2 Dateiausgabeformat

Gib Dateien unter einem files-Schlüssel in deiner Antwort zurück:

Dateiausgabe-Eigenschaften

*Gib entweder base64 ODER text an, niemals beides.

2.3 Häufige Ausgabemuster

3. Dateiausgabe in Triggern

Trigger können auch Dateien zurückgeben, wenn sie Ereignisse erkennen, die Dateianhänge enthalten, oder wenn sie Dateien basierend auf Trigger-Daten generieren.
Wichtiger Unterschied: Im Gegensatz zu Aktionen, die Objekte direkt zurückgeben, müssen Trigger ein Array von Ereignissen zurückgeben. Jedes Ereignis benötigt id, timestamp und data Eigenschaften, mit Dateien innerhalb des data-Objekts.

3.1 Wann du Dateiausgaben in Triggern verwenden solltest

  • E-Mail-Anhänge: Anhänge von eingehenden E-Mails weiterleiten
  • Dateiänderungsereignisse: Modifizierte oder neue Dateien von überwachten Systemen zurückgeben
  • Generierte Benachrichtigungen: Zusammenfassungsdateien oder Berichte erstellen, wenn Ereignisse auftreten
  • API-Webhook-Dateien: Dateien aus Webhook-Payloads verarbeiten und weiterleiten

3.2 Trigger-Dateiausgabeformat

Trigger müssen ein Array von Objekten mit id, timestamp und data Eigenschaften zurückgeben. Dateien kommen innerhalb des data-Objekts:
Wichtig: Im Gegensatz zu Aktionen müssen Trigger ein Array von Ereignissen zurückgeben, und files muss innerhalb des data-Objekts sein, nicht auf oberster Ebene.

3.3 Häufige Trigger-Muster

4. Plattform-Einschränkungen & Limits

*Immer noch durch das 100 MB Gesamtlimit begrenzt.
Validierung: Das Überschreiten von Limits löst einen Fehler aus bevor dein Code ausgeführt wird.

4.1 Sandbox-Bibliotheksbeschränkungen

Nutzerdefinierter Aktions- und Trigger-Code läuft in einer sicheren Sandbox-Umgebung. Du kannst keine externen Bibliotheken installieren oder importieren (npm, pip, etc.) – nur eine begrenzte Anzahl von eingebauten JavaScript/Node.js APIs ist verfügbar. Für erweiterte Dateiverarbeitung (z.B. PDF-Parsing, Bildmanipulation), verwende externe APIs oder Dienste und rufe sie aus deinem Code auf.
Für Datenformat-Konvertierungen (CSV ↔ Parquet ↔ Arrow, JSON → CSV) siehe Sandbox-Utilities für integrierte Konvertierungsfunktionen.

5. Best Practices

Best Practices für Dateieingaben

  • Dateitypen früh validieren: Prüfe MIME-Typen vor der Verarbeitung
  • Fehlende Dateien elegant behandeln: Verwende || [] für optionale Datei-Arrays
  • Dateimetadaten protokollieren: Hilft beim Debuggen von Problemen ohne Inhalt preiszugeben
  • Klare Fehlermeldungen bereitstellen: Sage Nutzern genau, was schiefgelaufen ist

Best Practices für Dateiausgaben

  • Aussagekräftige Dateinamen verwenden: Füge Daten, IDs oder beschreibende Namen hinzu
  • Genaue MIME-Typen setzen: Ermöglicht ordnungsgemäße Dateiverarbeitung und Vorschauen
  • Text-Abkürzung für UTF-8 verwenden: Effizienter als base64 für Textdateien
  • Verarbeitungsstatus einschließen: Hilf Nutzern zu verstehen, was passiert ist

Performance Best Practices

  • Dateien nach Möglichkeit parallel verarbeiten: Verwende Promise.all() für unabhängige Vorgänge
  • Vermeide alle Dateien in den Speicher zu laden: Verarbeite eine nach der anderen bei großen Batches
  • Fortschritt protokollieren: Verwende ld.log() um den Verarbeitungsstatus zu verfolgen
  • Fehler elegant behandeln: Fahre mit der Verarbeitung anderer Dateien fort, wenn eine fehlschlägt

6. Fehlerbehebung

Debug-Helfer


FAQ

Unterstütze Dateien, wenn die externe Aktion Dokumente oder binäre Assets hochladen, herunterladen, umwandeln oder zurückgeben muss. Wenn die Aktion nur Text oder Metadaten braucht, ist eine normale strukturierte Eingabe meist einfacher.
Prüfe Dateigröße, Dateityp, Kodierung und die Konfiguration des Eingabefeldes. Prüfe außerdem, ob die externe API einen Multipart-Upload, eine URL, Base64-Daten oder ein anderes Format erwartet.