Skip to main content
  1. Projects/

Complaint Assistant

Status: in production · Python · IMAP · Claude · REST API · Docker

The problem #

Complaints came in as free text in a shared mailbox. Every one had to be read, categorised and manually transferred into processing. That cost time every single day — and during busy periods, things slipped through.

What I built #

A pipeline that automatically collects mail, has a language model analyse it, and creates finished tickets in the helpdesk from the result. The assessment sits right there with the ticket as an internal note, so whoever picks it up has the context immediately.

The default is a dry run with no write access. Only an explicit command writes live, and a reconciliation step prevents duplicate tickets from being created for the same message.

The helpdesk system behind it I also set up myself, including connecting it to the existing mail provider.

Why it is built this way #

An automation that writes into a customer-facing system on its own is a liability if it is wrong. Making the safe mode the default — and the live write an explicit act — means a misconfiguration produces a log, not a hundred wrong tickets.