Der Weg einer Anfrage
Eine Anfrage kommt per Mail oder über ein Formular herein. Anna liest sie, zieht die Felder heraus — Datum, Ort, Anlass, Ansprechpartner — und legt einen Vorgang an. Daraus wird ein Angebot als PDF, das rausgeht. Dann folgt Verhandlung, Anzahlung, Auftritt.
- Anfrage
- Mail oder Formular kommt herein, wird gelesen und in Felder übersetzt.
- Angebot raus
- PDF erzeugt und verschickt. Das Datum ist ab jetzt weich belegt.
- Verhandlung
- Rückfragen, Anpassungen, Nachverhandlung der Gage.
- Angezahlt
- Der wichtigste Übergang im System — das Datum wird hart belegt.
- Gespielt
- Vier Tage vorher ging die Gigmeldung an die Band.
Der Fall, an dem naive Automatisierung scheitert
Die naheliegende Regel wäre: ein Datum ist vergeben, sobald ein Angebot draußen ist. Für eine Band ist das falsch. Auf ein gutes Datum gehen mehrere Angebote gleichzeitig raus — für den 26.06.2027 waren es fünf Veranstalter. Das ist keine Schlamperei, das ist die Branche.
Anna unterscheidet deshalb zwischen weich und hart belegt. Weich heißt: ein Angebot liegt draußen. Hart heißt: die Anzahlung ist eingegangen, und damit gilt der Termin laut AGB als verbindlich gebucht. Eine Automatik, die bei weicher Belegung absagt, wirft Geschäft weg.
Das ist der Kern der Sache: Automatisierung scheitert selten an der Technik. Sie scheitert daran, dass jemand eine Geschäftsregel vereinfacht, die nicht einfach ist.
Regel schlägt Agent
Anna nutzt ein Sprachmodell, aber nicht für Entscheidungen. Terminkonflikte, Fristen und Preisstaffeln stehen als Code. Deterministisches gehört in Regeln, wo es nachvollziehbar bleibt und beim zweiten Durchlauf dasselbe Ergebnis liefert.
Das Modell übernimmt, was Sprache ist: eine unstrukturierte Anfragemail in Felder übersetzen, einen Antworttext formulieren, die passende Formation vorschlagen. Es liest und schreibt, es entscheidet nicht.
Telegram, in zwei Rollen
Die Musiker sind ohnehin in Telegram-Gruppen. Also arbeitet Anna dort, statt eine weitere App zu verlangen, die niemand öffnet.
- Gigmeldung in die Bandgruppe
- Vier Tage vor dem Auftritt schreibt Anna Ablauf, Ort, Ton, Hotel und Ansprechpartner in die Gruppe der jeweiligen Formation. Eine Nachricht pro Auftritt — und ohne Gagen.
- Agent im Managementchat
- Mit /anna beantwortet Anna Fragen zum Auftrittsgeschäft. Nur dort, und nur lesend: vier feste Abfragen, kein Schreibzugriff.
Dass der Agent nur lesen darf, ist Absicht. Ein Gruppenchat ist kein Freigabeverfahren. Was der Agent falsch versteht, kostet so eine Rückfrage und keinen Datensatz. Und wenn er prüft, ob ein Termin frei ist, ruft er dieselbe Funktion auf wie die Angebotsstrecke — damit „frei" im Chat nicht etwas anderes bedeutet als im System.
Die Trennung geht bis in die Inhalte: In den Bandgruppen meldet derselbe Bot Auftritte und schweigt sonst. Gagen und Kundendaten gehen nur das Management etwas an. Auch die Kalenderabos, über die die Musiker ihre Termine ins eigene Kalenderprogramm holen, enthalten keine Gagen — ein Kalenderprogramm kann sich nicht anmelden, der Link ist das Zugangsmittel.
Die Technik
- Next.js 16, React 19, TypeScript
- App Router, auf Vercel betrieben. Anmeldung über NextAuth, Eingabeprüfung mit Zod.
- Postgres über Drizzle
- Neon in der EU-Region für Entwicklung und Betrieb, PGlite im Prozess für Tests und Skripte. Ein Schema, zwei Treiber.
- Claude für Sprache
- Das Anthropic-SDK trägt Mailextraktion, Terminfragen und den Chat-Agenten — die drei Stellen, an denen es um Text geht.
- PDF über Playwright
- Angebote und Verträge werden als HTML gesetzt und mit Chromium gerendert. Ablage in Vercel Blob, weil das Dateisystem dort schreibgeschützt ist.
- Mail über Postmark
- Ausgehend für Angebote und Antworten, eingehend als Webhook für neue Anfragen.
Sicherheitsnetze
Der Kundenversand ist gesperrt — auch in der Produktion. Anna kann Angebote, Verträge, Rechnungen und Absagen verschicken, aber solange nicht jede dieser Strecken einmal mit echten Daten durchgesehen ist, geht nichts an Kunden. Ein fehlerhaftes Angebot lässt sich nicht zurückrufen.
Entscheidend ist, dass die Sperre der Ausgangszustand ist und nicht die Ausnahme. Ein Schutz, der erst wirkt, wenn jemand daran denkt, eine Variable zu setzen, schützt genau dann nicht, wenn es darauf ankommt. Fehlt die Konfiguration ganz, bricht der Versand mit einer Fehlermeldung ab — lieber laut scheitern als still zustellen.
Was das bringt
Der Gewinn liegt nicht darin, dass niemand mehr Mails schreibt. Er liegt darin, dass nichts mehr liegen bleibt: keine Anfrage ohne Antwort, keine Doppelbuchung, keine Band, die vier Tage vorher nicht weiß, wann Soundcheck ist.
Kein Tech-Gelaber, keine Hype-Versprechen. Ein Werkzeug, das den Papierkram übernimmt, damit die Zeit dahin geht, wo sie hingehört.