Automation

n8n Automatisierung: Monatliche App-Download-Reports vollautomatisch erstellen

n8n Workflow Übersicht

Wer Apps in den Stores hat, kennt das: Apple App Store Connect und die Google Play Console sind… sagen wir mal “gewöhnungsbedürftig”. Jeden Monat loggt man sich ein, sucht die richtigen Berichte, lädt CSVs runter und versucht, die Zahlen irgendwie vergleichbar zu machen.

Da ich für meine Apps (wie zum Beispiel Twork und Golmed) sowieso auf n8n zur Automatisierung setze, habe ich mir einen Workflow gebaut, der mir diesen Job komplett abnimmt. Einmal im Monat kriege ich jetzt einen schicken HTML-Report direkt per E-Mail - zum Beispiel für die Golmed App, die so automatisch ihren monatlichen Download-Report erhält.

Wie ich das gebaut habe und wie du die Hürden der Apple API und der Google Cloud Storage CSVs meisterst, zeige ich dir hier Schritt für Schritt.

Warum n8n Automatisierung für App-Reports?

  • Kein manueller Aufwand: Der Workflow läuft am 3. jedes Monats vollautomatisch.
  • Alles an einem Ort: Apple- und Android-Zahlen kombiniert in einer Mail.
  • Direkte Insights: Ich sehe sofort die Neu-Installationen, Updates und sogar die Verteilung nach Geräten (iPhone vs. iPad).

Der Workflow-Aufbau

Hier ist die Schritt-für-Schritt-Anleitung durch meine Nodes:

1. Der Startschuss: Schedule Trigger

Der Workflow startet über einen Schedule Trigger. Ich habe ihn auf den 3. Tag des Monats um 08:00 Uhr morgens gestellt. Warum nicht der 1.? Weil Apple und Google manchmal ein, zwei Tage brauchen, bis die monatlichen Berichte final zur Verfügung stehen.

2. Der Apple-Strang (JWT & API)

Apple macht es uns nicht leicht. Um an die Daten zu kommen, brauchen wir ein JSON Web Token (JWT).

  • Create Token (Code Node): Hier erstelle ich per JavaScript das JWT. Ich nutze dafür meine Apple Credentials (Key ID, Issuer ID und den Private Key). Dieses Token wird für die Authentifizierung an der App Store Connect API benötigt.
  • Fetch Apple Report (HTTP Request): Mit dem Token im Header frage ich die salesReports ab. n8n filtert hier automatisch auf den Vormonat ($today.minus({ months: 1 })).
  • Add File Endings & Compression: Apple liefert die Reports als komprimierte .gz Dateien. Diese beiden Nodes sorgen dafür, dass die Datei die richtige Endung bekommt und entpackt wird, damit wir die CSV-Daten im Klartext haben.
  • CSV to Json Apple: Ein einfacher Extraktions-Node, der die Tabellendaten in handliches JSON umwandelt.

3. Der Android-Strang (Google Cloud Storage)

Google Play lädt Berichte in einen Google Cloud Storage Bucket hoch.

  • Fetch Google Reports (Google Cloud Storage Node): Wir holen uns direkt die CSV-Datei für den passenden Monat aus dem Bucket.
  • CSV to Json Android (Code Node): Das ist ein kleiner “Life-Saver”. Google-CSVs sind oft in UTF-16LE kodiert, was n8n manchmal aus dem Tritt bringt. Mein Code Node bereinigt die Daten, entfernt Null-Bytes und wandelt alles in sauberes JSON um.

4. Die Zusammenführung & Aufbereitung

  • Merge: Hier kommen die Daten von Apple und Google zusammen.
  • Create Summary Report (Code Node): Das Herzstück. Hier rechne ich die Zahlen zusammen:
    • Wie viele Neu-Installationen gab es insgesamt?
    • Wie viele Updates wurden gefahren?
    • Wie viele aktive Geräte haben wir auf Android?

Das Ergebnis wird direkt in ein schickes HTML-Template (mit Responsive Design für Mobile!) gerendert.

5. Der Versand: HTML E-Mail Report

Damit der Report nicht einfach nur eine trockene Tabelle ist, habe ich ein eigenes HTML-Template gebaut. Das Ziel: Der Empfänger soll auf einen Blick sehen, wie der Monat gelaufen ist - ohne sich erst durch Zahlenkolonnen kämpfen zu müssen.

Send an Email (SMTP): Das fertige HTML wird per SMTP als E-Mail verschickt. Betreffzeile: [App Name]: Performance Bericht [Monat].

So sieht der fertige Report aus:

E-Mail Report Beispiel

Das Ergebnis

Statt mich durch zwei Dashboards zu quälen, öffne ich morgens beim ersten Kaffee meine Mail und weiß sofort Bescheid, wie der letzte Monat gelaufen ist. Für die Golmed App bedeutet das: Jeden Monat ein sauberer Report ohne einen einzigen manuellen Klick.

Tipp: Workflows mit KI erstellen

Diesen Workflow habe ich übrigens mit Hilfe von Google Gemini erstellt. Gerade bei n8n kann ich es absolut empfehlen, Workflows mit Unterstützung von KI zu bauen. Man beschreibt einfach, was der Workflow tun soll, und bekommt die Node-Konfiguration, Code-Snippets und sogar Lösungen für knifflige Probleme wie die Apple JWT-Authentifizierung oder die UTF-16LE-Kodierung der Google-CSVs direkt geliefert. Das spart enorm viel Zeit und Nerven.

Fazit

n8n Automatisierung wie diese machen den Kopf frei für das, was wirklich zählt: Die Entwicklung deiner App. In meiner App Twork nutze ich n8n für fast alles - von Analytics bis hin zu Marketing-Automatisierungen.

Du willst deine Prozesse auch automatisieren, hast aber keine Zeit, dich in jeden Node reinzufuchsen?

Egal ob n8n-Workflows, API-Anbindungen oder komplexe Backend-Logik: Als Full Stack Entwickler für Workflow-Automation helfe ich dir gerne dabei, deine Abläufe auf das nächste Level zu heben.

Schreib mir einfach eine Nachricht oder melde dich direkt bei mir!

Newsletter abonnieren

Erhalte Updates zu neuen Blog-Posts, Tutorials und Tipps zu Flutter, Laravel und mehr.