Kurz gesagt: Der Community-Node n8n-nodes-tiro bringt zwei Bausteine in deinen Editor – einen Trigger, der bei jedem fertigen Dokument anspringt, und einen Node, der Dateien hochlädt und Ergebnisse abholt. Kein Polling, keine Credits für die Zustellung, dieselben Feldnamen wie in deiner Inbox.
Das Paket heißt n8n-nodes-tiro und ist quelloffen (Quelltext auf GitHub, MIT-Lizenz). In selbst gehostetem n8n installierst du es unter Einstellungen → Community-Nodes. Die Aufnahme in die Liste der geprüften Nodes, die n8n Cloud verlangt, ist der nächste Schritt.
Wofür der n8n-Node gedacht ist
n8n ist die Automatisierung für Leute, die ihre Daten im eigenen Haus behalten wollen: selbst gehostet, mit direktem Zugriff auf Datenbanken, Dateiablagen und interne APIs. Genau dorthin gehören die Werte aus deinen Dokumenten – ohne den Umweg über einen fremden Dienst.
Typische Workflows:
- Auftragsbestätigungen → Postgres: Trigger im Modus „One Item per Row“, danach ein Insert-Node. Jede Position wird eine Zeile, Auftragsnummer und Lieferant stehen in jeder Zeile mit.
- Lieferscheine → ERP: Trigger „Extract Completed“, danach ein HTTP-Request-Node gegen deine ERP-API. Kopf-Felder und Positionen liegen fertig strukturiert vor.
- E-Mail-Anhänge → Tiro: IMAP-Trigger, dann Tiro → Document → Upload. Wer den E-Mail-Eingang von Tiro nicht nutzen kann, geht diesen Weg.
- Fehler → Slack oder Ticket: Trigger „Document Failed“, danach eine Nachricht mit Fehlermeldung und Link. Nichts fällt still unter den Tisch.
Die beiden Nodes
| Baustein | Was er tut |
|---|---|
| Tiro Trigger · Extract Completed | Startet, wenn ein Dokument fertig extrahiert ist. Liefert alle Kopf-Felder, die Positionen als Liste, Dateiname, Seiten, Credits und Links zu Dokument und Downloads. |
| Tiro Trigger · One Item per Row | Startet mit einem Item je Position; die Kopf-Felder stehen auf jedem Item. Gemacht für Tabellen und Datenbank-Inserts. |
| Tiro Trigger · Document Failed | Startet, wenn ein Dokument endgültig nicht verarbeitet werden konnte – mit Fehlermeldung und Link. |
| Tiro · Document → Upload | Legt eine Binärdatei aus einem vorherigen Schritt in eine Inbox. Gibt Dokument-ID und Status zurück; die Extraktion läuft im Hintergrund. |
| Tiro · Extract → Get | Holt das Ergebnis eines Dokuments per ID – für „Upload → Wait → Get“ in einem einzigen Workflow. Ist das Dokument noch nicht fertig, kommt found: false statt eines Fehlers, und ein IF-Node schickt den Lauf zurück in den Wait-Schritt. |
Die Feld-Keys heißen so, wie du sie in der Inbox benannt hast: Kopf-Felder unter fields, die Positionen unter rows (im Zeilen-Modus die eine Zeile unter row).
So funktioniert es unter der Haube
Aktivierst du einen Workflow mit dem Tiro-Trigger, legt der Node in Tiro ein Ziel vom Typ n8n an – du siehst es in der Inbox im Reiter „Ziele“ neben deinen Webhooks. Sobald ein Ergebnis fertig ist, schickt Tiro einen signierten Aufruf an die Webhook-URL deines Workflows, mit denselben Wiederholungen bei Störungen wie bei jedem Webhook: nach 1, 5 und 15 Minuten, dann nach 1, 3, 6 und 12 Stunden. Jeder Versuch steht im Verlauf des Dokuments. Deaktivierst du den Workflow, verschwindet das Ziel wieder.
Damit das funktioniert, muss deine n8n-Instanz aus dem Internet erreichbar sein: nur https, öffentlicher Hostname. Tiro ruft grundsätzlich keine privaten, lokalen oder Link-local-Adressen an – das schützt beide Seiten. Zum Ausprobieren genügt ein Tunnel vor deiner lokalen Instanz – etwa cloudflared tunnel --url http://localhost:5678 – und n8n mit WEBHOOK_URL auf diese öffentliche Adresse gestartet. (Den eingebauten --tunnel-Schalter gibt es seit n8n 2 nicht mehr.)
Was du sonst noch wissen solltest
- Prüfung: Prüft die Inbox, wartet n8n auf die Freigabe. „Alle freigeben“ in der App löst die wartenden Workflows auf einmal aus.
- Neu-Verarbeitung: Verarbeitest du ein Dokument erneut, startet der Workflow erneut – mit den neuen Werten. Der neue Lauf trägt eine eigene ID.
- Credits: Jedes hochgeladene Dokument kostet Seiten-Credits wie in der App; die Zustellung an n8n kostet nichts.
- Downloads: Die CSV- und Excel-Links im Item zeigen auf die REST-API und brauchen deinen API-Schlüssel als Bearer-Header – ein HTTP-Request-Node mit der Tiro-Verbindung holt die Datei damit direkt in den Workflow.
- Alternativen ohne Node: ein Webhook-Node in n8n plus ein Ziel vom Typ Webhook in Tiro – das geht in jeder n8n-Version, du prüfst die Signatur dann selbst. Für Code ist die REST-API da, für deinen KI-Assistenten der MCP-Server.