We as a startup communicate internally through the Slack workspace, which comprises of several channels. We use channels to hold most of our conversations with other members. Many a times some members apply simultaneously for 'Leaves' or 'Work From Home'(wfh). Now since we are a small team, we wanted to have a proper system in place to ensure that less than 50% of the employees apply for leave/wfh on a particular day. That is when we came up with the idea of 'Bolt Leave Tracker And Limiter' also know as 'Leave Buddy' which enforces this principle. If you are a company facing employee balance issues, you can build a similar system in place. So let's get started.
Hardware Connections1. Connect the negative end of the buzzer to GND of Arduino in series with 100 ohm resistor. Connect the other end of buzzer to pin 4 of Arduino.
2. Connect Rx and Tx of Bolt with the Tx and Rx of Arduino respectively, also connect the 5V pin of Bolt to 5V pin of Arduino and GND of Bolt to GND of Arduino.
3. Connect GND, VCC, SCL and SDA pins of I2C module with GND, 5V, A5 and A4 pins of Arduino respectively.
4. Connect I2C module with the 16x2 LCD module as shown in schematics.
5. Check all the connections properly before proceeding.
Note: Please refer to the schematics for any further reference.
1. Create an account on Integromat using the link.
2. After setting up the account, create a new scenario using the 'Create a new scenario' button located on the top right corner in dashboard. For any help follow this link.
3. In the services choose Slack, Router, Google Sheets, Bolt, Tools (sleep).
4. Now using these services, build the required logic flow as shown in figure. For any help follow this link.
Note: There are two separate scenarios (Leave limiter logic and reset logic).
5. After building the logic, enter the credentials for the services being used, i.e., Bolt device ID and the API key for the Bolt IoT service , Workspace login for Slack and Email login for Google sheets (from their respective websites).
For Leave Limiter Scenario:6. Enter the settings for Slack service as shown below:
7. Configure the Google sheet as shown below:
For leave:
For work from home:
8. Apply the filter to the router's branch as shown below:
For leave:
For work from home:
9. Credentials for Bolt service:
Obtain the Bolt device ID and API key from https://cloud.boltiot.com/, as shown below:
Create a new connection using the above credentials and enter the details in other fields of the Bolt service as show in fig:
For Leave/WFH limiter logic:
10. Delay (sleep) settings:
11. Finally, schedule the whole scenario as shown below:
12. Configure the Tools to obtain the current time:
13. Configure the Bolt service as shown below:
14. Apply the filter for reset:
15. Schedule the scenario similar to that in step 11.
Workflow1. When a message pops up on the 'Leave Channel' of Slack, a logic is designed on Integromat to read such messages.
2. Then the messages are filtered on the basis of whether the employee has applied for 'leave' or 'work from home'.
3. The details of the message (Date and Time, Name, Message) are stored in separate google sheets for leave and work from home for future records.
4. The Bolt is then activated to send the name of the employee who applied for leave/wfh.
5. The Arduino then receives the name of employees and displays it on LCD to notify others in the office.
6. A buzzer is used to notify in case more than 50% of the employees have applied for leave/wfh. Thereafter no more leaves are granted.
7. To prevent overlapping of the messages received by Arduino some delay is used.
8. For proper functioning of the system a reset mechanism is used which resets the whole system every evening after 6 pm.
And so, this is it! Hope you liked our project.
Comments
Please log in or sign up to comment.