Workflow: Hoe de helpdesk werkt
Het volledige proces van binnenkomend ticket tot afsluiting
⌘K
Overzicht
Dit document beschrijft het volledige proces van binnenkomend ticket tot afsluiting, gebaseerd op de Cusmato-implementatie.
[E-mail binnen] → [Postduif webhook] → [Redis pending] → [First-contact AI] → [Outbox] → [Verzending] → [Completed]Stap 1: Inkomend e-mail
Tickets komen binnen via de Postduif webhook (Postal e-mailinfrastructuur):
- E-mail — Webhook ontvangt inkomende e-mail, slaat op in Redis
- Kanaal — Automatisch bepaald (bolcom, demo, shopify, etc.) op basis van onderwerp en reply-to
- Identificatie — Order-ID, reply-to e-mail of message_id als fallback
Automatische acties bij ontvangst
- Opslag in Redis — E-maildata (subject, body, from, to, channelKey) wordt opgeslagen
- Body-cleaning — HTML/CSS wordt opgeschoond voor AI-verwerking
- Productinfo — Bij EAN in onderwerp: productgegevens worden opgehaald
- First-contact trigger — AI-verwerking start direct na opslag (asynchroon)
Stap 2: First-contact AI
Direct na opslag start de AI-pipeline (zie AI-model):
- Taaldetectie — Taal van het bericht
- Intent-classificatie — refund, delivery, product_question, complaint, other
- Sentimentanalyse — positive, neutral, negative
- RAG-zoekactie — Relevante kennisbankdocumenten
- Antwoordgeneratie — Op basis van system prompt, onboardingdata, RAG, eventuele tool calls
- Auto-approval of review — Afhankelijk van configuratie
Enrichment (indien van toepassing)
Voor sommige kanalen (bijv. Bol.com met order-ID) kan een enrichment_queue worden gebruikt:
- Ordergegevens ophalen
- Status:
pending_ai_processing - Daarna:
ai_processing_queue→ first-contact
Stap 3: Outbox en goedkeuring
Het gegenereerde antwoord komt in de outbox:
- Auto-approval — Bij hoge confidence wordt het antwoord direct klaar gezet voor verzending
- Review — Anders wacht het op menselijke goedkeuring
- LLM-approvals — Workflow voor goedkeuring van AI-antwoorden
Verzending
Na goedkeuring wordt de e-mail verzonden via de mailserver. Het ticket krijgt een outbox_expiry_marker voor follow-up timing.
Stap 4: Completed
De cron process-outbox controleert periodiek:
- Wanneer de expiry marker is verlopen → ticket verhuist van outbox naar completed
- Billing wordt bijgewerkt
- Ticket wordt gearchiveerd
Stap 5: Medewerker-workflow (indien handmatig)
Wanneer een ticket handmatig wordt afgehandeld of AI-antwoorden worden aangepast:
- Lees de volledige context — Inclusief conversatiegeschiedenis uit outbox
- Pas AI-antwoord aan — Of gebruik quick-regenerate bij feedback (zie AI-model)
- Verstuur — Na goedkeuring
- Jessica — Voor analyse en verbetering van het AI-systeem (zie AI-model - Jessica)
Afronding
- Klant bevestigt dat het probleem is opgelost, of
- Geen reactie na afgesproken termijn
- Ticket verhuist naar completed