Develop a feature that syncs a user’s Slack status and automatically applies a break in the system when the user is inactive (away/offline) for a specified period.
Settings UI – Auto Break Preference
Add new toggle/section under user preferences.
Option: “Auto-sync with Slack Status”
Dropdown: “Trigger auto-break after [X] minutes/hours” (e.g., 15 min, 30 min, 1h, 2h)
Slack Integration Check
If Slack is integrated, fetch user status periodically.
Use Slack API to monitor status (active, away, offline).
Inactivity Logic
If Slack status is away/offline AND user has not manually set a break:
Start timer.
After selected time (e.g., 2 hours), mark status as “On Break”.
Edge Case Handling
If user becomes active before time threshold → reset timer.
If user manually sets a break → no override.
If Slack is disconnected → default behavior (no auto-break).
No Action Condition
If Slack status is active, do nothing.
Backend Update
Store user preference for auto-break in DB.
Trigger logic via cron or background worker.
Notification (Optional)
Send a notification before marking as break: “You’ve been away for X mins. Going on break now?”
Leave a Reply