or: How I Learned to Stop Checking Emails and Still Meet SLA's
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-installationto get it configured.
- Create a
slaterdatabase with a
ticket_logtable using this gist.
- Then, create a MySQL user named
slaterthat 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.
sample.envwith the values related to your local MySQL database, your DeskPro API, and AWS account then change the file from
index.jschange 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.