Relay helpdesk
A shared support inbox for small teams that sell abroad, shown with a made-up bike-bag maker in Porto. Customers write in from the contact form or by email in their own language. AI sorts and translates each ticket, drafts a reply from the shop's help articles, and the agent's English reply goes out in the customer's language.


- AI triage on every new ticket: language, category, priority, sentiment and a one-line summary, plus an English translation. If the daily AI allowance runs out, keyword rules take over so nothing sits untriaged
- Reply drafts grounded in the help articles, with the articles it used marked in the side panel. The agent writes in English and sees the German, Dutch or Japanese version before sending; a draft they edit is translated again on send
- First-reply targets by priority, with live countdowns, a Breaching view and the time each reply took. Changing the priority moves the target
- Real email in: mail to the demo address becomes a ticket, gets an automatic reply with the ticket link, and an emailed reply lands on the same ticket. Quoted history is stripped first
- Live over one Durable Object: the customer's ticket page and the inbox update each other with no refresh, both sides see when the other is typing, and simulated teammates pick up tickets, reply and look over your shoulder
- Reports from the same data: tickets in and solved per day, median first reply, on-time rate, ratings, categories, languages and each agent's numbers
Cloudflare Workers, Durable Objects, D1 (SQLite), Workers AI, Email Workers, TypeScript