Ad Sales Bonus Approval
To reduce overhead building a ton of one-off internal apps, and to allow people to use a familiar interface, we experimented with allowing users to request bonuses completely through Slack. This project was an interested experience in using Slack as the frontend to a fullstack app, complete with a MySQL database on the back end. The modals were built using Block Kit.
Users are presented with different home tab views depending on their level of administration within the app. Users outside the ad sales department see a message that they are not an allowed user, and to contact our help channel with any questions. Department managers are able to launch a modal where they can request a bonus on behalf of their suboordinates, and provide an amount as well as data from various dropdowns, as well as an optional longtext justification for the bonus. If there is not enough money left in the budget, the user is asked to choose a lower number.
A valid request is sent to either an admin channel where anyone higher up the chain can approve the request, or to a specific approver's DMs. The approval chain can be an arbitrary number of levels.
The app was deployed in early October, with an allowed request window of two weeks. The app will be usable to make requests for some amount of time each quarter.
The app features:
- Interactive messages
- Updating messages
- User roles
- A multi-tiered approval chain
- A Department budgets
And was built with:
- Slack Bolt for Python
- Flask
- Python
- MySQL
- Docker