Greeter Bot for Slack: Transforming human resources and enhancing workplace productivity
Last November I decided to start creating a Slack bot named Greeter Bot with the objective to simplify the life of Human Resources (HR) and also allow employees to access to essential information about their company with simple commands. To bring this concept to life, I decided to use the Slack API along with Python and Flask.
After completing the development of an app using React Native called Lovards, I was eager to embark on a fresh project. My goal was to not only expand my programming skills but also delve into a new programming language.
Adding to that, I wanted to create something that I could apply in the company where I work, Pipecodes, and then, the idea of creating a bot that could facilitate the work of HR came to my mind.
Motivation Behind the Greeter Bot
I opted to concentrate on the development of the Greeter Bot after detecting a prevailing demand through my professional experience. Often, individuals hesitate to inquire about everything they need, fearing come across as nuisance. And if this is a problem in companies with 10–20 employees, what about a company with over 100 employees?
And for HR, I am convinced that the Greeter Bot possesses the potential to evolve into an indispensable resource.
Architecture and external API’s used
The first step to build this Slack bot was searching for examples in youtube. I found a video from Tech with Tim showing how to do a simple message display. And I noticed he was using Python together with the Flask framework, so I just follow his lead and decided to use that as the programming backbone for my endeavour.
I knew I wanted to create valuable assistance to the HR domain. Features and necessities were appearing as I wrote the code. Basically blending two “great” methodologies: Waterfall and eXtreme GoHorse.
For hosting I bought a subscription in PythonAnywhere, the frontend its made in plain HTML & CSS, for the database I used MySQL and for the payment system I used the external API Stripe.
Navigating the Greeter Bot’s Commands and Features
The primary goal of the Greeter Bot center around simplifying the exchange of information between the company and its employees.
By consolidating information and ensuring its uniform distribution to all users, this bot possesses the potential to notably elevate the efficacy of resource management.
You can interact with the Greeter Bot in two different ways.
- Using the Home Tab of the Greeter Bot
- Using direct commands on the main channel of Slack, known as general channel.
I recommend utilizing the Home Tab as it offers an enhanced user experience. Let’s explore how you can operate using both approaches.
Home Tab
This is the screen shown when you click on the Greeter Bot in your Slack workplace. We can divide the sections in: display, configuration, delete and utilities. To make it more reader-friendly, we will begin with the configuration section to create a more sequential flow.
- Configuration: On this section, we have the commands to configure the messages to be shown to the users. We have the commands to configure the general messages (extra, mission, partners, products, software, welcome, general-vacation) and the commands dependent by user (buddy, line-manager). Only the admins of the Slack workspace will be able to configure the messages to be shown.
- Display: This section have the commands that allow the user to display the messages configurable by the Slack admin. We have the commands to display the same general messages configured above. Every user can call these commands. All messages will be shown in the Greeter Bot Messages Tab and only will be seen by the user.
- Delete: For this category, we have the possibility to delete all messages configured (/delete buddy, /delete mission,…). All information regarding to the general messages or the selected user (whether they are the buddy/line manager or sponsee), will be removed. Only the admins of the Slack workspace will be able to delete the messages to be shown.
- Utilities: To assist the admin of the Slack workspace, the Greeter Bot offers the capability to view the service’s expiration date via the button check expiration date. Furthermore, should the administrator wish to access all files and messages associated with their team, they can utilize the button show-all-messages. Only the admins of the Slack will be able to configure the messages to be shown.
Commands
When it comes to the commands, their ultimate function is identical to choosing buttons on the Home Tab. The distinction lies in the potential for increased error rates, as users must manually input all the commands themselves.
Note: In case you need more help regarding the setup and configuration of the messages, you can access this youtube link. It’s also possible to follow a command with the word help in order to see the command behaviour.
Problems solved with the Greeter Bot
By installing the Greeter Bot for Slack, many problems are solved:
Identification of Buddy and Line Manager
Problem: Collaborators may struggle to identify their assigned buddy or line manager.
Solution: Greeter Bot offers commands like /buddy and /line-manager to help collaborators identify their buddy and line manager by fetching this information.
Information about Software, Company Partners, Products and Mission:
Problem: Collaborators might need to know about the software used for email services and the main products of the company.
Solution: Greeter Bot provides /software, /partners, /mission and /products commands to help collaborators quickly access this information from the configuration.
Tracking Tasks during Vacation:
Problem: Collaborators may forget to complete tasks before going on vacation.
Solution: Admins can set up a vacation configuration message, and when a user changes their Slack status to “vacation,” the bot sends them a reminder about the unfinished tasks.
Awareness of Special Days and Events:
Problem: Collaborators might not be aware of casual Fridays or upcoming team-building events.
Solution: Admins can add relevant information to the “/extra” command configuration, and collaborators can use this command to stay informed about such events.
Subscription and Feature Access
9€/month is the subscription plan to access all this features. You can try it for free for 7 days.
Wrapping Up: Unveiling the Greeter Bot’s Impact
What began as a journey fuelled by curiosity, evolved into a tool that bridges communication gaps and enhances the workplace experience.
Completing this project brings a sense of satisfaction. There were moments when I almost considered abandoning it, and going to a new project or a idea of one. Just excuses to avoid the challenges that come with development. I wouldn’t have accomplished this without the invaluable support of both my girlfriend, Beatriz, and ChatGPT, which I express gratitude each time it assists me, just in case AI takes over the world. This achievement is truly a joint effort with them.
Thank you. I hope that future users find the application as enjoyable to use as I found it rewarding to develop. This bot helped me become a better developer. Should any questions or situations arise, please feel free to reach out to me at geral@maurocruzalberto.pt.