I'm a web developer who hates checking emails, but our service-level agreement says that I need to respond to helpdesk tickets in my queue within 45 minutes of them being assigned.
That's not GREAT, as having to shift focus from working on a project to checking my email for tickets takes time. It also takes time to fall back into a coding groove.
I really hate checking emails... So I made SLAter to yell at me over a speaker system whenever I get a new ticket in my queue.
The best part is that this is really easy to set up, especially if your team is using DeskPro. Let's dive in:
- Raspberry Pi (I'm using a Pi 3 Model B)
- Micro USB Power Cable
- Ethernet Cable
- Speaker With 3.5 mm Jack
- An account with AWS (For Text-To-Speech Using Polly)
- Rad Picture of Christian Slater (Optional)
- Install Raspbian and Node.JS on your Pi. I used this guide from W3 schools.
- Install MariaDB Server onto your pi using this guide and then run
mysql-secure-installation
to get it configured. - Create a
slater
database with aticket_log
table using this gist. - Then, create a MySQL user named
slater
that has read/write access to the above database/table. - Git clone this project anywhere on your Pi. I used the /home/pi/ directory.
- Change directory (
cd
) into SLAter. - Run the npm installer (
npm install
) to install required packages locally. - Fill
sample.env
with the values related to your local MySQL database, your DeskPro API, and AWS account then change the file fromsample.env
to.env
. - In
index.js
change the agent (tech) ID in three spots: in the API call within getTicketsFromAPI(), in the db.queryAsync query in getTicketsFromDB(), and in the db.queryAsync query in writeTicketToDB().
- In a tmux session (so you can close the SSH connection without upsetting Node) run
node index.js
. SLAter should tell you that he's online and then check for new tickets every 60 seconds.