TaskMonkey Handbuch

Rezept: Mobile Cockpit — TaskMonkey + n8n

TaskMonkey als mobile, konversationale Schicht über bestehenden n8n-Workflows.

n8n läuft auf eurem Server. Eure Workflows sind Klasse. Aber wann habt ihr zuletzt unterwegs einen n8n-Workflow ausgelöst — vom Handy, mit der Stimme, im Auto? Genau das macht TaskMonkey: TM ist die mobile, konversationale Hülle für eure n8n-Backends. n8n orchestriert weiter wie gewohnt — TM bringt Sprache, iOS-App, Voice und Knowledge Base dazu.

Was TM beisteuert

Fähigkeit n8n alleine n8n + TM
Workflow-Orchestrierung ✅ (n8n bleibt zuständig)
Native iOS-App
Konversation mit persistentem Kontext
Voice-Input unterwegs
Push als interaktiver Dialog ✅ (Roadmap)
Knowledge Base / RAG teilweise ✅ (built-in)

n8n bleibt verantwortlich für: Orchestrierung, API-Integration, Persistenz, Multi-Step-Logik. TM übernimmt: Sprache verstehen, Mobile-UX, Voice, Knowledge-Retrieval, Antwort formulieren.

Architektur

iPhone (TaskMonkey iOS-App)
    ↕ Voice · Chat
TaskMonkey (LLM, Tool-Runner, KB)
    ↓ Tool-Call (HTTPS-Webhook)
n8n Workflow
    ↓
Datenquellen (Helpdesk, Time-Tracking, …)

Der Trick: Jedes n8n-Workflow-Webhook wird in TM als ein Tool registriert. Das Modell entscheidet, welches Tool zur User-Frage passt, ruft den Webhook auf und formuliert die Antwort.

Use Case: Zeitbuchung per Voice

Eine Agentur-Mitarbeiterin ist unterwegs. Statt Laptop aufzuklappen:

„Trag mir 30 Minuten auf Projekt Alpha ein, war Bug-Fixing."

TM versteht, ruft logTime auf, n8n schreibt in die Time-Tracking-API, TM bestätigt in der App. Folgefrage — gleiche Session, voller Kontext:

„Was hab ich heute insgesamt auf Alpha?"

1. n8n-Workflow

Ein schlanker Webhook-Workflow, der die Buchung durchreicht:

  • Webhook-NodePOST /webhook/log-time, Header-Auth (z. B. X-TM-Secret)
  • HTTP-Request-Node — ruft deine Time-Tracking-API mit den Felder aus {{ $json.body }}
  • Respond-to-Webhook-Node — gibt {"ok": true, "total_today_minutes": 270} zurück

Wichtig: Der Response wird vom Modell gelesen und in die Antwort eingebaut. Deshalb lohnt es sich, relevanten Kontext (Tages-Summe, Projekt-Name wie ihn das CRM schreibt) mitzuschicken.

2. API in apis.php

<?php
return [
    'apis' => [
        'n8n' => [
            'base_url' => 'https://n8n.example.com/webhook/',
            'headers' => [
                'X-TM-Secret' => 'dein-shared-secret',
                'Content-Type' => 'application/json',
            ],
        ],
    ],
];

Ein n8n-API-Eintrag reicht für beliebig viele Webhook-Tools — nur der path ändert sich pro Tool.

3. Tool: logTime

tools/time/logTime.php:

<?php
return [
    'tools' => [
        'logTime' => [
            'description' => 'Bucht Arbeitszeit auf ein Projekt. Nutzen wenn der User sagt "Trage X Minuten/Stunden auf Y ein".',
            'parameters' => [
                'type' => 'object',
                'properties' => [
                    'project' => ['type' => 'string', 'description' => 'Projektname oder -kürzel'],
                    'minutes' => ['type' => 'integer', 'description' => 'Dauer in Minuten'],
                    'note'    => ['type' => 'string', 'description' => 'Was wurde gemacht'],
                ],
                'required' => ['project', 'minutes'],
            ],
            'api' => 'n8n',
            'method' => 'POST',
            'path' => 'log-time',
            'body' => [
                'project' => '{project}',
                'minutes' => '{minutes}',
                'note'    => '{note}',
            ],
            'mapping' => [
                'ok' => 'ok',
                'total_today_minutes' => 'total_today_minutes',
            ],
        ],
    ],
];

Das Pattern ist immer gleich: ein n8n-Webhook = ein TM-Tool. Weitere Beispiele, die sich analog aufbauen lassen:

  • getProjectTickets — Helpdesk-Tickets eines Projekts holen
  • createTimeEntry — Eintrag mit Anhang
  • listMyTasks — offene Aufgaben des angemeldeten Users

4. Assistant einbinden

assistants/cockpit.php:

<?php
return [
    'assistants.cockpit' => [
        'name' => 'Mobile Cockpit',
        'tools' => [
            'logTime',
            'getProjectTickets',
            'listMyTasks',
        ],
    ],
    'assistants.cockpit.prompt' => <<<PROMPT
    Du bist das mobile Cockpit für unser Agentur-Team. Der User
    fragt unterwegs nach Projekten, offenen Tickets oder bucht Zeit.

    Ablauf:
    - Zeitbuchung: logTime. Bestätige mit gebuchter Dauer und
      Tages-Summe auf dem Projekt.
    - Ticket-Fragen: getProjectTickets. Fasse in 3-5 Bullets zusammen.
    - Offene Aufgaben: listMyTasks.

    Kurze, gesprochene Antworten — die App liest sie ggf. vor.
    PROMPT,
];

5. Konversation in der App

User (Voice): „Trag mir 30 Minuten auf Projekt Alpha ein, war Bug-Fixing."
TM            [ruft logTime(project: "Alpha", minutes: 30, note: "Bug-Fixing")]
TM:           Erledigt. 30 Min auf Projekt Alpha gebucht.
              Heute insgesamt 4,5 h auf Alpha.

User:         „Was sind die offenen Tickets von Projekt Beta?"
TM            [ruft getProjectTickets(project: "Beta")]
TM:           Drei offene Tickets:
              • #212 Login-Bug (hoch)
              • #215 Export-PDF leer (mittel)
              • #219 E-Mail-Template Anpassung (niedrig)

Screenshots:

  • Abb. 1: TM iOS-App mit Voice-Buchungs-Dialog — ./screenshots/tm-n8n-mobile-01.png
  • Abb. 2: Der zugehörige n8n-Workflow im Editor — ./screenshots/tm-n8n-mobile-02.png

Knowledge Base als Ergänzung

Viele Anfragen brauchen gar keinen Tool-Call: „Wie ist unser Prozess für Change-Requests?" Solche Fragen beantwortet TM aus einer Knowledge Base (interne SOPs, Handbuch, Onboarding-Docs) — ohne dass n8n involviert wird. RAG-Retrieval passiert direkt in TM.

Bonus: Push als Dialog (Roadmap)

Native Push-Notifications für die iOS-App sind in Arbeit. Sobald verfügbar:

Der eigentliche Eye-Opener: n8n triggert (Cron, Webhook, DB-Event) und schickt TM einen Impuls. TM pusht als interaktive Notification aufs iPhone — User tippt drauf, landet im Chat, antwortet per Voice, nächster n8n-Workflow läuft.

Beispiel: Daily-Standup-Push um 9:00 — User diktiert seinen Status, n8n verteilt ihn in Slack.

Heute als Fallback machbar: n8n-Webhook erzeugt einen Chat-Eintrag im Workspace (via TM-Inbox-Endpoint) — der User sieht ihn beim nächsten App-Öffnen und kann direkt antworten. Der Dialog-Teil funktioniert, nur die Echtzeit-Push-Zustellung kommt später.

Abschluss

Genau dieselbe iOS-App plus n8n-Brücke könnt ihr euren Kunden anbieten — als „Mobile-Layer für ihre Automatisierung". n8n bleibt auf eurer Infrastruktur, TM liefert das User-facing Interface.

Zuletzt aktualisiert: 2026-04-22