Der schnellste Weg
Lies https://wirdrei.digital/workflows/cashctrl-anbinden.md und richte diesen Workflow bei mir ein. Frag mich nach den Angaben, die dir fehlen. Hol meine Freigabe ein, bevor du Dateien änderst, Software installierst, Zugangsdaten speicherst oder eine externe Aktion auslöst.
Was du brauchst
Ein Assistent mit Zugriff auf Dateien und Programme, zum Beispiel Claude Code, Codex oder opencode. Ein normaler Browser-Chat reicht nicht.
Ein CashCtrl-Konto mit PRO-Plan. Nur der PRO-Plan hat Zugriff auf die API - ohne PRO-Plan funktioniert diese Anbindung nicht. Der API-User wird unter Einstellungen > Benutzer & Rollen angelegt.
Die Anleitung
Die folgenden Schritte richten sich an deinen Assistenten. Du kannst mitlesen und gibst
Änderungen frei.
ICM-Ordner und Router ergänzen
Prüfe zuerst, ob du in einem ICM mit einem Router CONTEXT.md arbeitest. Falls ja:
- Lies den Router und prüfe, welche nummerierten Workflow-Ordner bereits bestehen.
- Wähle die nächste freie zweistellige Nummer. Lege die Anbindung direkt im ICM als
0X_cashctrl/ an, zum Beispiel 06_cashctrl/. Ersetze 0X durch die gewählte Nummer. Lege sie nicht unter workflows/cashctrl/ ab.
- Erstelle im neuen Ordner eine
CONTEXT.md mit den Regeln unten.
- Ergänze im Haupt-Router
CONTEXT.md eine verlinkte Zeile für typische CashCtrl-Aufgaben. Verwende darin den tatsächlichen Ordnernamen, zum Beispiel:
| **CashCtrl**: Buchungen, Rechnungen oder Kontakte nachschlagen | [`06_cashctrl/`](06_cashctrl/CONTEXT.md) | in Einrichtung |
Arbeitest du nicht in einem ICM, frag den Nutzer, wo die Regeln der Anbindung liegen sollen. Bau nicht ungefragt eine ICM-Struktur auf.
Die CONTEXT.md der Anbindung beginnt so:
# Workflow: CashCtrl-Anbindung
Zweck: (mit dem Nutzer ausfüllen: wofür vor allem? Buchungen, Kontakte, Rechnungen?)
## Regeln
- Lesen ist erlaubt. Anlegen und Ändern nur nach Freigabe im Chat.
- Der API-Key liegt in der lokalen Konfiguration des CLI, nie im Chat, nie in Git.
- Beträge und Kontaktdaten stammen aus CashCtrl oder vom Nutzer, nie geschätzt.
- Versand- und Lösch-Operationen (z. B. Rechnung per Mail verschicken, Papierkorb leeren) nur nach ausdrücklicher Freigabe.
Frag den Nutzer nach dem Zweck und lass ihn die Regeln bestätigen, bevor du den Zugang einrichtest.
CLI installieren
Lade von https://github.com/wir-drei-digital/cash-ctrl-cli/releases/latest das Binary für sein System (macOS und Linux als .tar.gz für amd64 und arm64, Windows als .zip). Prüfe den Download gegen checksums.txt, entpacke das Archiv und lege cashctrl in den PATH.
Alternative, falls eine Go-Toolchain da ist: go install github.com/wir-drei-digital/cash-ctrl-cli/cmd/cashctrl@latest
Prüfe die Installation mit cashctrl commands --json - kommt eine Liste von Befehlen zurück, ist die Installation da.
API-User anlegen
CashCtrl braucht dafür einen eigenen API-User. Leg ihn unter Einstellungen > Benutzer & Rollen > Hinzufügen > API-User an - seine Rolle entscheidet, was der Key später darf. Tipp: gib ihm bewusst eine eingeschränkte Rolle, nicht die volle Administratorrolle.
Notiere dabei zwei Werte: die Organisations-Subdomain (das myorg in https://myorg.cashctrl.com) und den API-Key, den CashCtrl beim Anlegen anzeigt.
Zum gefahrlosen Ausprobieren: kopiere die Organisation zuerst in eine Test-Organisation (Einstellungen > Organisationen > Kopieren) und leg den API-User dort an.
Wichtig: Der Nutzer tippt den API-Key nie in den Chat. cashctrl init fragt ihn direkt im Terminal ab und speichert ihn lokal mit 0600-Rechten.
cashctrl init ausführen
Lass den Nutzer cashctrl init im Terminal ausführen. Der Wizard fragt nach Organisations-Subdomain und API-Key, speichert beides mit 0600-Rechten und prüft sie gleich mit einem einzigen Lese-Aufruf.
Verifikation
Mach einen Lese-Aufruf und zeig dem Nutzer das Ergebnis:
cashctrl auth verify
Der Befehl prüft die Zugangsdaten mit einem echten, unschädlichen Lese-Aufruf gegen die API. Alle verfügbaren Operationen findest du mit cashctrl commands --json. Kommt eine Antwort ohne Fehler zurück, steht die Anbindung. Trag in der CONTEXT.md das Einrichtungsdatum nach. Arbeitest du in einem ICM, setz den Status der CashCtrl-Zeile im Haupt-Router auf aktiv.