- Neuer Abschnitt "Karten erstellen (Aufgaben-Workflow)" mit Workflow A/B - Bekannte Struktur erweitert: Workflows, Columns, Lanes für Board 1 - Pitfalls ergänzt: Arrival Rule, Parent-Link API, linkedCards read-only - Settings und Plans aktualisiert Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
153 lines
4.9 KiB
Markdown
153 lines
4.9 KiB
Markdown
# Plan: n8n Workflow — UPS-Rechnungen abholen und weiterleiten
|
|
|
|
## Ziel
|
|
|
|
Täglicher n8n-Workflow, der UPS-Rechnungsmails aus dem Postfach `vinos-monitoring@mailbox.org` per IMAP abruft, das ZIP-Attachment entpackt und die enthaltenen Rechnungen per SMTP an `rechnung@vinos.de` weiterleitet.
|
|
|
|
---
|
|
|
|
## Parameter
|
|
|
|
| Parameter | Wert |
|
|
|-----------|------|
|
|
| Postfach | `vinos-monitoring@mailbox.org` |
|
|
| Empfänger | `rechnung@vinos.de` |
|
|
| Absender-Filter | `@ups.com` |
|
|
| Intervall | Täglich (07:00) |
|
|
| Nach Verarbeitung | Mail in Ordner "Verarbeitet" verschieben |
|
|
| IMAP-Server | `imap.mailbox.org:993` (SSL/TLS) |
|
|
| SMTP-Server | `smtp.mailbox.org:465` (SSL/TLS) |
|
|
|
|
---
|
|
|
|
## Voraussetzungen (manuell, vor Workflow-Erstellung)
|
|
|
|
### 1. n8n Credentials anlegen (Web-UI)
|
|
|
|
In n8n unter **Settings → Credentials → Add Credential**:
|
|
|
|
**IMAP-Credential:**
|
|
- Typ: **IMAP**
|
|
- Host: `imap.mailbox.org`
|
|
- Port: `993`
|
|
- User: `vinos-monitoring@mailbox.org`
|
|
- Passwort: Mailbox.org-Passwort
|
|
- SSL/TLS: Ja
|
|
|
|
**SMTP-Credential:**
|
|
- Typ: **SMTP**
|
|
- Host: `smtp.mailbox.org`
|
|
- Port: `465`
|
|
- User: `vinos-monitoring@mailbox.org`
|
|
- Passwort: Mailbox.org-Passwort
|
|
- SSL/TLS: Ja
|
|
|
|
### 2. Ordner "Verarbeitet" im Postfach anlegen
|
|
|
|
Per Webmail auf mailbox.org oder per IMAP-Client einen Ordner `Verarbeitet` erstellen.
|
|
|
|
---
|
|
|
|
## Workflow-Aufbau (6 Nodes)
|
|
|
|
```
|
|
Schedule Trigger → Email Read (IMAP) → IF (hat ZIP-Attachment?)
|
|
→ Compression (Decompress) → Send Email (SMTP)
|
|
→ IMAP Move to Folder
|
|
```
|
|
|
|
### Node 1: Schedule Trigger
|
|
- **Typ:** `n8n-nodes-base.scheduleTrigger`
|
|
- **Konfiguration:** Täglich um 07:00 Uhr (`0 7 * * *`)
|
|
|
|
### Node 2: Email Read (IMAP)
|
|
- **Typ:** `n8n-nodes-base.emailReadImap`
|
|
- **Postfach:** `vinos-monitoring@mailbox.org`
|
|
- **Ordner:** INBOX
|
|
- **Filter:** Ungelesene Mails
|
|
- **Attachments:** Herunterladen aktiviert
|
|
- **Credential:** IMAP (mailbox.org)
|
|
|
|
### Node 3: IF — Hat ZIP-Attachment?
|
|
- **Typ:** `n8n-nodes-base.if`
|
|
- **Bedingung:** Binary-Daten vorhanden UND Dateiname endet auf `.zip`
|
|
- **Zweck:** Nur Mails mit ZIP-Anhang verarbeiten
|
|
|
|
### Node 4: Compression — ZIP entpacken
|
|
- **Typ:** `n8n-nodes-base.compression`
|
|
- **Operation:** Decompress
|
|
- **Input:** Binary-Feld des ZIP-Attachments
|
|
- **Output:** Entpackte Dateien als Binary-Daten
|
|
|
|
### Node 5: Send Email (SMTP)
|
|
- **Typ:** `n8n-nodes-base.sendEmail` (oder `n8n-nodes-base.emailSend`)
|
|
- **Von:** `vinos-monitoring@mailbox.org`
|
|
- **An:** `rechnung@vinos.de`
|
|
- **Betreff:** `UPS-Rechnung` + Datum aus Original-Mail
|
|
- **Body:** Kurzer Hinweistext (z.B. "Anbei die entpackte UPS-Rechnung")
|
|
- **Attachments:** Entpackte Dateien aus Node 4
|
|
- **Credential:** SMTP (mailbox.org)
|
|
|
|
### Node 6: IMAP — Mail verschieben
|
|
- **Typ:** `n8n-nodes-base.emailReadImap` (oder HTTP-Request an IMAP)
|
|
- **Operation:** Mail als gelesen markieren + in Ordner "Verarbeitet" verschieben
|
|
- **Hinweis:** n8n hat keine native "IMAP Move"-Operation — ggf. per Code-Node (IMAP-Befehl MOVE) oder als "gelesen markieren" vereinfachen
|
|
|
|
---
|
|
|
|
## Bekannte Einschränkung: IMAP Move
|
|
|
|
n8n's IMAP-Node kann Mails lesen, aber das Verschieben in einen anderen Ordner ist nicht nativ unterstützt. Optionen:
|
|
|
|
1. **Nur als gelesen markieren** — einfachste Lösung, Node 2 liest dann nur ungelesene
|
|
2. **Code-Node mit IMAP-Bibliothek** — per JavaScript direkt IMAP MOVE ausführen
|
|
3. **HTTP-Request an Mailbox.org API** — falls vorhanden
|
|
|
|
**Empfehlung:** Option 1 (als gelesen markieren) für den Start. "Nur ungelesene lesen" verhindert Doppelverarbeitung zuverlässig.
|
|
|
|
---
|
|
|
|
## Umsetzung
|
|
|
|
### Schritt 1: Workflow-Grundgerüst via API erstellen
|
|
- POST an `https://flow.wvits.de/api/v1/workflows`
|
|
- 5-6 Nodes (je nach IMAP-Move-Lösung)
|
|
- Credentials als Platzhalter (in UI verknüpfen)
|
|
|
|
### Schritt 2: Credentials in n8n-UI verknüpfen
|
|
- IMAP-Credential den Email-Read-Nodes zuweisen
|
|
- SMTP-Credential dem Send-Email-Node zuweisen
|
|
|
|
### Schritt 3: Testlauf
|
|
- Test-Mail mit ZIP-Anhang an `vinos-monitoring@mailbox.org` senden
|
|
- Workflow manuell in der UI ausführen
|
|
- Prüfen: ZIP entpackt? Mail bei `rechnung@vinos.de` angekommen?
|
|
|
|
### Schritt 4: Workflow aktivieren
|
|
- `POST /api/v1/workflows/{id}/activate`
|
|
|
|
---
|
|
|
|
## Verifikation
|
|
|
|
1. **API-Test:** `GET /api/v1/workflows/{id}` — Node-Struktur prüfen
|
|
2. **Manueller Testlauf:** In n8n-UI "Execute Workflow"
|
|
3. **Prüfpunkte:**
|
|
- [ ] IMAP-Verbindung zu mailbox.org funktioniert
|
|
- [ ] Ungelesene Mails werden abgerufen
|
|
- [ ] ZIP-Attachment wird erkannt und gefiltert
|
|
- [ ] ZIP wird entpackt, Dateien korrekt
|
|
- [ ] SMTP-Versand an rechnung@vinos.de funktioniert
|
|
- [ ] Entpackte Dateien sind als Attachment in der Mail
|
|
- [ ] Verarbeitete Mail wird als gelesen markiert
|
|
4. **Fehlerfall:** Mail ohne ZIP → IF-Node filtert korrekt
|
|
|
|
---
|
|
|
|
## Dateien
|
|
|
|
| Datei | Zweck |
|
|
|-------|-------|
|
|
| `/home/rwiegand/Nextcloud/vinos/n8n/.env` | API-Key + Base-URL (vorhanden) |
|
|
| `/home/rwiegand/Nextcloud/vinos/n8n/README.md` | Projekt-Doku (Update nach Abschluss) |
|