n8n-nodes-deftforms
v0.1.0
Published
n8n community nodes for DeftForms API, polling trigger and webhook trigger.
Maintainers
Readme
n8n-nodes-deftforms
n8n Community Node Paket für DeftForms.
Dieses Paket enthält drei klar getrennte Nodes:
- DeftForms
Action Node für aktive API Operationen. - DeftForms Trigger
Polling Trigger für neue Formularantworten. - DeftForms Webhook Trigger
Webhook Trigger für eingehende DeftForms Submissions.
Unterstützte API Bereiche
Base URL:
https://deftform.com/api/v1| Resource | Operation | Endpoint |
|---|---|---|
| Workspace | Get | GET /workspace |
| Form | Get Many | GET /forms |
| Field | Get Many | GET /forms/{id}/fields |
| Response | Get Many | GET /responses/{formId} |
| Response | Create | POST /forms/{id}/response |
| Submission PDF | Get | GET /response/{UUID}/pdf |
| Form Settings | Update | POST /forms/{id}/settings |
Installation lokal
Empfohlener lokaler Zielpfad auf deinem Mac:
/Users/michaelhemmersbach/Desktop/deftForms NodeDa der Pfad Leerzeichen enthält, immer in Anführungszeichen verwenden:
mkdir -p "/Users/michaelhemmersbach/Desktop/deftForms Node"
cd "/Users/michaelhemmersbach/Desktop/deftForms Node"
unzip n8n-nodes-deftforms.zip
cd n8n-nodes-deftforms
npm install
npm run buildCredentials
In n8n ein Credential vom Typ DeftForms API anlegen.
Benötigt wird:
Access TokenDer Token wird in DeftForms in den Workspace API Settings erstellt.
Die Node sendet:
Authorization: Bearer <access-token>
Accept: application/json
Content-Type: application/jsonKeine echten Tokens in Code, README, Screenshots, Logs oder Beispiel-Flows speichern.
Action Node: DeftForms
Workspace: Get
Liest Workspace Details.
Form: Get Many
Liest alle Formulare inklusive Feldern.
Field: Get Many
Liest Felder eines Formulars.
Response: Get Many
Liest Antworten eines Formulars.
Response: Create
Erstellt eine neue Antwort in DeftForms.
Beispiel für Response Data JSON:
{
"00000000-1111-2222-3333-444444444444": "Max Mustermann",
"10000000-2111-3222-4333-544444444444": "[email protected]"
}Wichtig:
- Keys sind DeftForms Field UUIDs.
- Werte müssen string oder number sein.
- File Uploads über die API werden nicht direkt unterstützt.
- Für File Felder muss eine absolute URL zu einer extern hochgeladenen Datei übergeben werden.
Submission PDF: Get
Gibt den PDF-Link zu einer Submission zurück.
Form Settings: Update
Aktualisiert ausgewählte Formular-Einstellungen.
Beispiel:
{
"name": "Neuer Formularname",
"show_multipage_progress": true,
"cta_label_continue": "Weiter"
}Trigger Node: DeftForms Trigger
Der Polling Trigger ruft regelmäßig Antworten über:
GET /responses/{formId}ab und gibt nur neue Antworten aus.
Deduplizierung
Die Node speichert gesehene Response IDs/UUIDs im Workflow Static Data Speicher.
Optionen:
| Feld | Zweck | |---|---| | Form | Formularauswahl | | Emit Existing Responses on First Run | Bereits vorhandene Antworten beim ersten Lauf ausgeben | | Seen Cache Size | Anzahl gespeicherter IDs zur Deduplizierung |
Webhook Trigger Node: DeftForms Webhook Trigger
Diese Node empfängt eingehende DeftForms Webhooks per POST.
In DeftForms muss die n8n Test- oder Production-Webhook-URL eingetragen werden.
Optionaler Secret Header
Falls du einen Secret Header verwenden willst:
x-deftforms-secret: dein-secretIn der Node aktivieren:
Use Secret Header = true
Secret Header Name = x-deftforms-secret
Secret Header Value = dein-secretSicherheit
- Access Token nur über n8n Credentials speichern.
- Keine Tokens in Logs ausgeben.
- Webhook Header nur speichern, wenn nötig.
- Secret Header für Webhooks verwenden, falls möglich.
- Fehlercodes 401, 403, 404, 422, 429 und 500 bewusst behandeln.
Continue On Failnur gezielt verwenden.- Beispiel-Flows niemals mit echten Kundendaten veröffentlichen.
Lokale Entwicklung
npm install
npm run build
npm run testnpm Release
npm version patch
npm publish --access public
git push origin main --tagsVor jedem Release prüfen:
git diff
npm run build
npm run testTypische Flows
Formularantwort per Polling zu Google Sheets
DeftForms Trigger
-> Set / Normalize
-> IF Pflichtfelder vorhanden
-> Google Sheets Append
-> Erfolg loggen
-> FehlerpfadDeftForms Webhook zu CRM
DeftForms Webhook Trigger
-> Set / Normalize
-> IF Email vorhanden
-> CRM Contact Upsert
-> Slack Benachrichtigung
-> Fehler LoggingPDF Link per E-Mail verschicken
DeftForms Trigger
-> DeftForms Submission PDF Get
-> Send Email
-> Log