I’m looking for some help-desk style software with some very specific features:

  • Users create new help requests by emailing a support@example.com-style email.
  • There should be some sort of concept of “support queues” with each queue having an associated email address. So there might be a “sales” queue by emailing sales@example.com, a client-specific queue at client-a@clients.example.com, etc.
  • New issues (i.e. new emails) get automatically assigned to one of a pool of support staff. The bare minimum would be a round-robin or random assignment from the pool. Bonus points for some sort of rules engine (“emails from @example.net get assigned to Joe, Jane, or Jeff”). Double-bonus points for a PagerDuty-style calendar-based rotation system.
  • The primary interaction should be via email. Follow-up emails cc’d or sent to the support email get appended to the ticket. Ticket numbers in the email itself is OK; smart subject matching would be better.
  • Staff members get a web dashboard with the standard stuff: issues assigned to me, open issues, closed issues, etc. They can also mark issues as resolved, etc. A configurable workflow would be nice, but non-essential.
  • The system needs to be very good at keeping multiple support staff in sync. So everyone in the support pool needs to maybe get cc’d on all follow-ups? Or at least be able to see the whole thread in the web interface.
  • The users — the people sending the issue — don’t need access to the web interface. In fact, they probably shouldn’t have it. Assume that issues are sensitive and shouldn’t be shared with other reporters.
  • Open source is preferable, but access to the data is non-negotiable. So if it’s self-hosted it needs to store data in a standard way (relational database, probably), and SaaS is fine only if there’s a read/write API.

It feels like this has got to exist, but so far I’m unable to find anything that Just Works out of the box. I’ve tried some general-purpose issue trackers (Bugzilla, Trac, RT), but in each case they’d take lots of custom work to support the workflow I’d want. FogBugz looks like it’d work, but it’s prohibitively expensive. Zendesk was far too web-oriented.

And yes, I could probably build this in a week or two with Django and Lamson, but I simply haven’t got the time.

So… any ideas?