🏆 Slack Agent Builder Challenge 2026
AI-powered institutional memory for volunteer-run organizations.
Ask questions. Get cited answers. Generate handover packs.
Institutional Memory Agent for Volunteer-Run Organizations
Every answer backed by receipts. Every handover done right.
Built for the Slack Agent Builder Challenge 2026 (Slack Agent for Good Track).
Volunteer organizations lose valuable institutional knowledge whenever committee members or volunteers leave.
Baton transforms Slack into an organizational memory by combining:
- Slack Real-Time Search API
- Slack AI Agent
- Groq Llama 3.3 70B
Every answer is backed by direct links to the original Slack messages, making responses transparent and verifiable.
- Receipt-backed answers with source links
- AI-powered workspace search
- Automatic handover pack generation
- Slack-native Assistant experience
- Permission-aware search using Slack RTS API
- Honest responses when information is unavailable
┌─────────────────────────┐
│ Slack User │
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ Slack Assistant Panel │
└────────────┬────────────┘
│
Socket Mode Events
│
▼
┌────────────────────────────────────────────┐
│ Slack Bolt App │
│ app.py │
└────────────────┬───────────────────────────┘
│
▼
┌────────────────────────────────────────────┐
│ Assistant Middleware │
│ handlers.py │
└────────────────┬───────────────────────────┘
│
▼
┌────────────────────────────────────────────┐
│ Baton AI Engine │
│ │
│ • Context Management │
│ • Tool Calling │
│ • Retry Logic │
│ • Handover Generation │
└───────────────┬────────────────────────────┘
│
Tool Invocation
│
┌────────────────────┴────────────────────┐
│ │
▼ ▼
┌────────────────────────────┐ ┌────────────────────────────┐
│ Slack RTS Search API │ │ Groq Llama 3.3 │
│ │ │ │
│ • Workspace Search │ │ • Reasoning │
│ • Permission Aware │ │ • Tool Selection │
│ • Message Retrieval │ │ • Response Generation │
└──────────────┬─────────────┘ └──────────────┬─────────────┘
│ │
└──────────────────┬────────────────────┘
▼
┌────────────────────────────────────────────┐
│ Citation & Answer Composer │
│ │
│ • Source Attribution │
│ • Markdown Formatting │
│ • Confidence Handling │
└───────────────┬────────────────────────────┘
│
┌─────────────────┴──────────────────┐
▼ ▼
┌──────────────────────────┐ ┌──────────────────────────┐
│ Slack Assistant Reply │ │ Slack Canvas API │
│ │ │ │
│ • Answer │ │ • Handover Document │
│ • Citations │ │ • Knowledge Pack │
└──────────────────────────┘ └──────────────────────────┘
| Component | Technology |
|---|---|
| Language | Python 3.11 |
| Framework | Slack Bolt |
| AI Model | Groq Llama 3.3 70B |
| Search | Slack Real-Time Search API |
| UI | Slack Assistant |
| Deployment | Railway / Docker |
Clone the repository.
git clone https://github.com/Siteshcodes/baton-slack-agent.git
cd baton-slack-agentCreate a virtual environment.
python -m venv .venvInstall dependencies.
pip install -r requirements.txtConfigure environment variables.
cp .env.example .envRun the application.
python app.pyHealth Endpoint
https://web-production-af0ee.up.railway.app/
Status
How do we book the community centre?
Who is our arbiter contact?
When is the insurance renewal?
Generate handover pack for @username
.
├── app.py
├── agent.py
├── handlers.py
├── manifest.json
├── requirements.txt
├── README.md
├── ARCHITECTURE.md
├── DEPLOY.md
├── TESTING.md
└── .env.example
Baton helps volunteer organizations:
- Preserve institutional knowledge
- Reduce onboarding time
- Generate structured handover documents
- Increase transparency through cited answers
- Architecture —
ARCHITECTURE.md - Deployment —
DEPLOY.md - Testing —
TESTING.md
MIT License