TaskMonkey Handbuch

Rezept: Inventur per Smartphone

QR-Code scannen, Stückzahl per Sprache eintippen, Bestand wandert direkt ins Warenwirtschaftssystem.

Klassisches Mobile-First-Szenario: Mitarbeitende laufen mit dem Smartphone durchs Lager, scannen QR-Codes auf den Regalen, sagen die gezählte Menge — der Bestand landet ohne weitere Tipparbeit in der Warenwirtschaft.

Ziel

  • Mitarbeitende öffnen die TaskMonkey-App, wählen den Assistant „Inventur"
  • Pro Artikel: QR-Code scannen → das Modell weiß sofort, welche SKU
  • Sprach-Eingabe: „15 Stück" → Bestand wird gesetzt
  • Bestätigung mit Produktname und neuem Wert

Voraussetzungen

  • Eine API zum Lesen und Schreiben von Beständen (Shopify, JTL, eigene WaWi)
  • TaskMonkey-App installiert auf dem Mitarbeiter-Smartphone

1. API in apis.php

<?php
return [
    'apis' => [
        'wawi' => [
            'base_url' => 'https://wawi.kunde.de/api/',
            'headers' => [
                'Authorization' => 'Bearer abc123',
                'Accept' => 'application/json',
            ],
        ],
    ],
];

2. Tools

tools/wawi/getProductBySku.php:

<?php
return [
    'tools' => [
        'getProductBySku' => [
            'description' => 'Produkt per SKU abrufen — auch wenn sie aus einem QR-Code kommt.',
            'parameters' => [
                'type' => 'object',
                'properties' => ['sku' => ['type' => 'string']],
                'required' => ['sku'],
            ],
            'api' => 'wawi',
            'method' => 'GET',
            'path' => 'products/{sku}',
            'mapping' => [
                'sku' => 'sku',
                'name' => 'name',
                'currentStock' => 'stock.available',
                'unit' => 'unit',
            ],
        ],
    ],
];

tools/wawi/setStock.php:

<?php
return [
    'tools' => [
        'setStock' => [
            'description' => 'Bestand für eine SKU auf einen neuen Wert setzen.',
            'parameters' => [
                'type' => 'object',
                'properties' => [
                    'sku' => ['type' => 'string'],
                    'quantity' => ['type' => 'integer'],
                ],
                'required' => ['sku', 'quantity'],
            ],
            'api' => 'wawi',
            'method' => 'PUT',
            'path' => 'products/{sku}/stock',
            'body' => ['available' => '{quantity}'],
            'mapping' => [
                'sku' => 'sku',
                'newStock' => 'stock.available',
            ],
        ],
    ],
];

3. Assistant

assistants/inventur.php:

<?php
return [
    'assistants.inventur' => [
        'name' => 'Inventur',
        'description' => 'Bestände scannen und aktualisieren.',
        'icon' => '📋',
        'tools' => [
            'getProductBySku',
            'setStock',
            'setSuggestions',
        ],
        'greeting' => 'Scanne den ersten Artikel oder sag mir die SKU.',
        'suggestions' => [
            'Aktuellen Stand prüfen',
            'Inventur abschließen',
        ],
    ],

    'assistants.inventur.prompt' => <<<PROMPT
    Du bist der Inventur-Assistent. Mitarbeitende sind im Lager
    unterwegs und nutzen die Smartphone-App.

    Ablauf pro Artikel:
    1. SKU bekommst du entweder per QR-Scan (eingehender Text aus dem
       Scanner) oder per Spracheingabe.
    2. Rufe getProductBySku auf, um Name + aktuellen Stand zu prüfen.
    3. Bestätige kurz: "Tomaten Rispen — aktuell 23 Stück. Wie viele
       sind tatsächlich da?"
    4. Wenn Antwort kommt (typisch per Spracheingabe als Zahl):
       setStock aufrufen.
    5. Bestätigen: "Aktualisiert: Tomaten Rispen, neuer Bestand 18 Stück.
       Nächster Artikel?"

    Wenn der Benutzer "fertig" sagt: kurze Zusammenfassung der heute
    aktualisierten Artikel.

    Antworte kurz und freundlich. Maximal 1-2 Sätze pro Schritt.
    PROMPT,
];

4. Aktivierungs-Hinweis im Widget

QR-Scanner und Voice-Input werden in Assistant-Chats automatisch aktiviert (chat_id beginnt mit task_). Du musst sie nicht extra in widget.php einschalten — funktioniert ab Werk.

5. Mobile testen

  • App öffnen, mit Mitarbeiter-Login einloggen
  • „Inventur" aus dem Dashboard wählen
  • QR-Code testen, dann Spracheingabe testen
  • Im Server-Log prüfen, ob setStock mit den richtigen Args läuft:
tm monitor    # läuft im Hintergrund auf deinem Rechner

Erweiterungen

  • Mehrlager-Support: zusätzlicher Tool-Parameter location, Assistant fragt zuerst nach dem Lager
  • Differenz-Bericht: am Ende automatisch eine Zusammenfassung „so viele Stück abweichend von Vorbestand"
  • Foto-Upload bei Auffälligkeit: „Auf dem Foto sehe ich beschädigte Verpackung" → das Modell erkennt es und legt Notiz an
  • Offline-Buffer: Bei schlechtem WLAN im Lager — aktuell läuft alles online, geplante App-Erweiterung
Zuletzt aktualisiert: 2026-04-20