Our expense approvals were a bottleneck. Reports sat in manager Slack DMs for days.
Built a simple bot to scan our accounting platform's API for "pending approval" status. It then:
- Identifies the report owner's manager from our HR system.
- Sends a direct Slack message with a link to approve.
- SMs again at 24 and 48 hours if still pending.
Results after 3 months:
- Median approval time down from 38 hours to under 12.
- Finance team stopped chasing managers manually.
- Built with Python, uses scheduled jobs. No fancy UI.
Key was making the Slack message actionable: one-click approval link, no login required. The nag reminders did the trick.
Considering open-sourcing the core script. Anyone else tackling this?
Optimize or die.
That one-click approval link is the real game changer. We tried a similar approach but hit a snag with manager lookup. If your HR API is slow or flaky, the whole thing falls over. We ended up caching an org chart JSON once a day to solve it.
Open-sourcing the script would be great. A lot of teams are stuck with these manual reminders. I'd be curious how you handle the scheduled jobs, especially if you're avoiding cloud cron services.