n8n-nodes-erfolgschat
v1.4.1
Published
n8n community node for Erfolgschat — Leads, Kontakte, Chats, Labels & Event-Trigger
Maintainers
Readme
n8n-nodes-erfolgschat
n8n community node for Erfolgschat — work Leads, Kontakte, Chats & Labels and trigger workflows on Erfolgschat events, with a single API key. No manual webhook wiring.
What's in here
- Credential
Erfolgschat API— Base URL (https://chat.flugzumerfolg.com/api)- your
ec_live_…API key. The "Test" button hitsGET /v1/me.
- your
- Node
Erfolgschat(actions):- Lead / Kontakt: Erstellen (optional direkt Zugewiesen an), Aktualisieren, Abrufen, Liste (mit
updatedSince-Polling), Zuweisen / Zuweisung entfernen (per Telefonnummer — funktioniert schon BEVOR es eine Konversation gibt, z. B. frisch aus Close importierte Leads) - Konversation: Liste, Status setzen, Label hinzufügen / bestätigen / entfernen, Zuweisen / Zuweisung entfernen — jede dieser Aktionen akzeptiert Konversations-ID ODER Telefonnummer (eine Nummer = genau ein Chat; bei mehreren WA-Accounts → ID nutzen). Labels werden als Dropdown aus Erfolgschat geladen (aktualisiert sich beim Neuladen, sobald du ein Label anlegst).
- Mitarbeiter: Liste (IDs für die Zuweisung ermitteln)
- Lead / Kontakt: Erstellen (optional direkt Zugewiesen an), Aktualisieren, Abrufen, Liste (mit
- Node
Erfolgschat Trigger(REST-hook): startet beiconversation.new,status_changed,active_changed,assigned,label_added/removed/confirmed. Registriert/entfernt sein Webhook-Abo automatisch beim Aktivieren/Deaktivieren. Jede eingehende Lieferung wird per HMAC-SHA256 verifiziert (HeaderX-Erfolgschat-Signature: sha256=<hex>über den Roh-Body, mit dem beim Anlegen des Abos einmalig zurückgegebenen Secret) — Events ohne gültige Signatur werden verworfen, sodass die öffentliche Callback-URL keine gefälschten Events annimmt.
API keys
Erzeuge einen Key in der Erfolgschat-Admin-Oberfläche unter API-Keys und gib ihm die nötigen Scopes:
| Node-Aktion | Scope |
|---|---|
| Leads lesen/schreiben | leads:read / leads:write |
| Kontakte lesen/schreiben + Name-Rückschrieb | contacts:read / contacts:write |
| Chats lesen / Status+Labels | conversations:read / conversations:write |
| Label-Dropdown (Konversation → Label …) | conversations:read |
| Mitarbeiter auflisten (IDs für Zuweisung) | users:read |
| Trigger (Webhook-Abos) | webhooks:manage |
Hinweis: Das Label-Dropdown (GET /v1/labels) benötigt conversations:read.
Fehlt der Scope, lädt das Dropdown leer mit einem Hinweis statt mit einem Fehler.
Die vollständige API: https://chat.flugzumerfolg.com/api/v1/openapi.json.
Build
npm install
npm run build # tsc → dist/ + kopiert das IconIn n8n installieren
Self-hosted n8n: Settings → Community Nodes → Install → n8n-nodes-erfolgschat
(nach dem npm publish), oder lokal zum Testen:
# im Node-Repo
npm run build && npm link
# im n8n-Custom-Verzeichnis (~/.n8n/custom)
mkdir -p ~/.n8n/custom && cd ~/.n8n/custom && npm link n8n-nodes-erfolgschat
# n8n neu startenBei selbst-gehostetem n8n ggf. N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true bzw.
das Erlauben unverifizierter Community-Nodes setzen.
Veröffentlichen
npm version patch
npm publish --access publicTest-Flow
- Credential anlegen (Base URL + Key), „Test" → grün (
/v1/me). - Action: Node „Erfolgschat" → Lead → Erstellen → Telefonnummer + Name → ausführen → 201.
- Trigger: Node „Erfolgschat Trigger" → Event „Neue Konversation" → Workflow aktivieren → in Erfolgschat einen neuen Inbound auslösen → der Workflow startet.
Änderungen
1.4.0
- Trigger: HMAC-Signatur-Verifizierung. Der Trigger speichert jetzt das beim
Anlegen des Abos zurückgegebene Secret und prüft bei jeder Lieferung den
X-Erfolgschat-Signature-Header (HMAC-SHA256 über den Roh-Body, konstante-Zeit- Vergleich). Lieferungen ohne / mit falscher Signatur werden verworfen. - Label-Dropdown robuster.
getLabelsfängt Fehler ab (403 ohneconversations:read, transiente Fehler, falsche Base-URL) und zeigt einen Hinweis statt eines harten Node-Fehlers; nicht-Array-Antworten werden abgefangen. checkExistsdes Triggers prüft jetzt serverseitig (GET /v1/webhook-subscriptions), ob das Abo noch existiert und auf diese URL/dieses Event zeigt — verhindert still-tote oder doppelte Abos nach Crash / out-of-band-Löschung.labelIdwird in der URL nunencodeURIComponent-gewrappt (konsistent zu den übrigen Pfad-Parametern).- README: Scope-Tabelle um
users:read+conversations:read(Label-Dropdown) ergänzt.
