On this page
Features and Requirements
Functional Requirements
Chatbot Controls
Users can create their own prompts
Chatbot must send a message once a day that encourages team engagement and communication
Admins can configure scheduling mode, active days, and active channel via a control panel
Admins can manually force a prompt post at any time
Scheduling
Bot must support three scheduling modes: random time within a configured window, a selected preset time, and a static repeating time
Bot must reset and re-pick random prompt times at midnight for each workspace
Bot must only post prompts on admin-configured active days of the week
Data Collection
Chatbot must track how many times each prompt is sent per workspace
Chatbot must track how many responses each prompt receives per workspace
Bot must display aggregate prompt statistics including times sent and total responses per prompt
Prompts
Chatbot must make picture-based prompts
Chatbot must make text-based prompts
Chatbot must make a photo-encouraged prompt
Chatbot must make a text-encouraged prompt
The user prompt creation invitation must enforce a configurable submission window; late submissions must be rejected
User Engagement
Bot must track consecutive daily response streaks per user and announce milestone achievements (e.g., 7, 14, 21, 50, 100 days) in the active channel
Bot must provide a streak leaderboard displaying the top responding users
Social Features
Bot must automatically pair two users with overlapping interest tags and post an introduction in the active channel
Users must be able to register personal interest tags during onboarding for use in social matching
Mentor-Mentee Program
Users must be able to sign up as a mentor or mentee with a profile including role, experience, bio, and interests
Bot must automatically match mentors and mentees by shared interests, with a fallback for unmatched users
Admins must be able to manually view and pair mentor-mentee profiles
Bot must create group DMs for newly matched mentor-mentee pairs and send personalized AI-generated introductions
Notifications & Reminders
Bot must send DM reminders to channel members who have not responded to the daily prompt (configurable on/off)
AI-Powered Interactions
Bot may react to user responses with contextually appropriate emoji reactions generated by an LLM (configurable probability)
Bot may reply to user responses with short AI-generated messages matching the prompt context (configurable probability)
Bot must use AI to generate personalized introduction messages for the Social Connector and Mentor-Mentee features
Multi-Workspace Support
Bot must support OAuth-based installation across multiple independent Slack workspaces, maintaining separate configurations and state per workspace
Nonfunctional Requirements
Scalability
Chatbot must be able to handle large numbers of requests and responses
Chatbot must respond to events near-instantly
Chatbot must remain stable for Slack workspace growth, including additional channels and higher message volume
Security
Ensure that data stored is secure and minimize data loss, duplication, and corruption
Ensure events don't lose data or repeat prompts
User data (interest tags, mentor profiles, response logs) must be scoped to the originating workspace and not shared across workspaces
Reliability
Bot must restore per-workspace state and resume scheduling after a restart without data loss
Structured logs must be append-only and durable to support streak and analytics calculations
Thread Safety
Bot state must be protected against concurrent access from simultaneous Slack event callbacks
Configurability
All feature toggles (LLM reactions, LLM replies, default channel, scheduling defaults) must be configurable via environment variables without code changes
Graceful LLM fallback
LLM-powered features (reactions, replies, intro messages) must fall back to default behavior if the AI API is unavailable or rate-limited
Observability
Bot must emit structured JSON log entries for every user response, including user identity, prompt ID, channel, and timestamp, to support auditing and analytics
Testability
Core scheduling logic, command handlers, and service functions must have unit, integration, and acceptance test coverage