Activepieces
Das Formfeed-Piece für Activepieces ist auf npm als @formfeed/activepieces-piece. Es steht nicht im
Katalog von Activepieces selbst, deshalb installiert es ein Plattform-Admin über seinen Namen. Wo das
nicht geht, erledigt das HTTP-Piece dieselbe Aufgabe, siehe das Ende dieser Seite.
Das Piece ist englischsprachig; Schritte und Felder heißen in Activepieces so, wie sie hier stehen.
Installieren und verbinden
Eine Plattform, die eigene Pieces erlaubt, installiert es über seinen npm-Namen unter
Platform Admin → Setup → Pieces → Install Piece: npm wählen und @formfeed/activepieces-piece
eingeben. Legen Sie dann eine Formfeed-Verbindung mit einem API-Schlüssel aus
der App (API-Schlüssel) an; geprüft wird die Verbindung mit GET /account. Ein
ff_test_-Schlüssel rendert kostenlos (im Free-Plan mit Wasserzeichen).
Die Vorgabe-Scopes eines neuen Schlüssels (render:create, render:read, template:read,
account:read) decken die Prüfung der Verbindung, Vorlagenliste und Felder und jede Render-Aktion ab.
Kreuzen Sie file:write für Upload File und webhook:manage für
die Trigger an, die einen Webhook-Endpunkt registrieren.
Aktionen und Trigger
| Schritt | Was er tut |
|---|---|
| Create Document | Rendert eine Vorlage. Mit der Auswahl der Vorlage lädt das Piece ihre Felder aus dem Datenschema oder den Beispieldaten. |
| Create Document from HTML | Rendert HTML, das früher im Flow gebaut wurde, in Jinja2, Liquid oder Handlebars. |
| Create Document from URL | Rendert eine öffentliche Seite. |
| Get Render | Liefert ein Rendering anhand seiner ID, mit frischer Download-URL. |
| Convert Document to PDF | Wandelt eine Word-, Excel-, PowerPoint-, OpenDocument- oder RTF-Datei oder das Rendering einer Word- oder PowerPoint-Vorlage in ein PDF um. Ab dem Starter-Tarif. |
| Upload File | Legt ein Bild oder PDF in der Dateibibliothek ab, wo Vorlagen es mit asset() verwenden. |
| Custom API Call | Ruft jeden anderen Endpunkt mit dem Schlüssel der Verbindung auf, etwa /pdf/merge (Pfade relativ zu https://api.formfeed.dev/v1). |
| Render Completed, Render Failed, Batch Finished | Starten den Flow, wenn ein Rendering gelingt (render.completed) oder scheitert (render.failed) oder ein Batch fertig ist (job.completed, job.failed). |
Die Props der Aktionen:
| Aktion | Props |
|---|---|
| Create Document | Template (Pflicht; gerendert wird die veröffentlichte Version), Version (ein Release Channel; leer published), Template fields, Data (JSON) (über die Felder gelegt), Output (leer: das Format der Vorlage; PDF, PNG, JPG, WebP, DOCX oder PPTX), File name, Locale (etwa de-DE), Return the file (voreingestellt an) |
| Create Document from HTML | HTML (Pflicht, bis 5 MB), Template language (Jinja2, die Vorgabe, Liquid oder Handlebars), Data (JSON), Output (PDF, PNG, JPG oder WebP), File name, Settings (JSON) (Papier, Ränder, Kopf- und Fußzeile, wie unter Einstellungen pro Anfrage überschreiben), Return the file |
| Create Document from URL | URL (Pflicht, eine öffentliche https-Seite), Output, File name, Settings (JSON), Return the file |
| Get Render | Render ID (Pflicht, rnd_…) |
| Convert Document to PDF | File (DOCX, XLSX, PPTX, ODT, ODS, ODP, DOC, XLS, PPT oder RTF, bis 20 MB) oder Render ID (rnd_… eines Renderings mit Ausgabe DOCX oder PPTX); Page ranges (etwa 1-3,5), Landscape, One page per sheet, File name (leer der eigene Name der Datei mit .pdf), Return the file |
| Upload File | File (Pflicht: PNG, JPEG, WebP, GIF, SVG, AVIF oder PDF, bis 10 MB), Name in library (der Name, den Vorlagen mit asset() verwenden, etwa brand/logo.png; leer der eigene Name der Datei; derselbe Name ersetzt die Datei) |
Die Liste Template zeigt die Vorlagen des Workspace mit Name und Art; rendern lassen sich nur
veröffentlichte, eine unveröffentlichte scheitert mit template_not_found.
Die Dokument-Schritte liefern das Rendering und, sofern Return the file nicht ausgeschaltet ist, das Dokument als Datei für den nächsten Schritt. Listen wie Rechnungspositionen gehören in Data (JSON), das Wert für Wert über die Felder gelegt wird: Ein Objekt ergänzt die Felder an derselben Stelle, ein Wert ersetzt den des Felds, und eine Liste ersetzt die ganze Liste. Ein Rendering, das länger als eine Minute dauert, läuft im Hintergrund weiter; der Schritt prüft es dann fünf Minuten lang alle fünf Sekunden.
Die Trigger registrieren einen Webhook-Endpunkt im Workspace, wenn der Flow eingeschaltet wird, und entfernen ihn beim Ausschalten; in der App steht er unter Webhooks als Activepieces. Environment wählt, wessen Renderings zählen: die von Live-Schlüsseln, von Test-Schlüsseln oder beide (die Vorgabe). Die Trigger geben nur Zustellungen weiter, deren Signatur stimmt und höchstens fünf Minuten alt ist. Der Test eines Triggers im Flow-Editor lädt die neuesten passenden Renderings des Workspace oder, wenn es keine gibt, ein Beispiel.
Ohne das Piece
Send HTTP request aus dem HTTP-Piece ruft die API direkt auf: Methode POST, URL
https://api.formfeed.dev/v1/renders, Header Authorization: Bearer ff_test_… und ein JSON-Body wie
{"template": "invoice-de", "data": {"invoice": {"number": "2026-0042"}}}. Die Antwort enthält
download_url. Den Aufbau der Anfrage beschreibt Rendering.