Our business relies on an existing GMail account, and we also want to have a record of the messages stayed in the mailbox, so piping is not an option for us. I've set up OSTicket to poll the Gmail Inbox every 5 minutes with cron, but not very satisfying with the delay.
Found a Python script that can camp on GMail IMAP with IDLE mode, modified it to work with Python3 and to post emails to OSTicket's API:https://gist.github.com/hqhoang/692f08469b53633853c9638c5f978898
I have it currently running as a service with Upstart. Have been working fine for a day. A few things I found:
- the script only checks for "unread/unseen" emails (and make them read/seen), it will leave the messages in Inbox
- OSTicket is smart enough to recognize duplicate emails, so I can mark the messages as "unread" for debugging/testing, the script will post the same emails again, and OSTicket will just ignore them.
- I also set OSTicket to poll GMail every 30 minutes and move the emails to a different folder/label. Of course, OSTicket will ignore the already retrieved emails, but it does clean up the mailbox and serve as a fallback in case the Python script fails.
Just a side note, we were setting up Support Desk with Salesforce, and boys, it sucks so much. The GUI is so clunky, they can't sort the lists properly, it can indicate if a case has unread email, but it can't clear them automatically once read. It displays only the list of email subject, not showing them all out nicely. Most possible customizations will have to go through painful business processes, and custom development is next to impossible.
Thanks so much for the awesome OSTicket, I've been able to customize it a lot to our needs. Since I'm likely to support it myself (as a full-stack dev) instead of buying support, I guess I can contribute back by sharing my experience (and hopefully some development work soon).
it's not the software that's free; it's you