plugins/omi-slack-app/SETUP.md
I've built a complete Slack messaging app for OMI with the following features:
slack/
āāā main.py # FastAPI app with all endpoints
āāā slack_client.py # Slack API integration
āāā message_detector.py # AI channel matching & message extraction
āāā simple_storage.py # File-based storage
āāā requirements.txt # Python dependencies
āāā .env.example # Environment template
āāā .gitignore # Git ignore rules
āāā README.md # Full documentation
āāā LICENSE # MIT License
āāā Procfile # Deployment config
āāā railway.toml # Railway config
āāā runtime.txt # Python version
The git repository is initialized and committed, but needs your credentials to push:
cd /Users/aaravgarg/omi-ai/Code/apps/slack
git push -u origin main
If you need to authenticate, you can use:
gh auth login)channels:read - View public channelschat:write - Send messagesgroups:read - View private channelsusers:read - View user infohttp://localhost:8000/auth/callback (for local testing)cd /Users/aaravgarg/omi-ai/Code/apps/slack
cp .env.example .env
Edit .env with your credentials:
SLACK_CLIENT_ID=your_client_id_here
SLACK_CLIENT_SECRET=your_client_secret_here
OPENAI_API_KEY=your_openai_key_here
OAUTH_REDIRECT_URL=http://localhost:8000/auth/callback
APP_HOST=0.0.0.0
APP_PORT=8000
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
python main.py
Then visit:
omi-slack-app repository.env)your-app.up.railway.app)https://your-app.up.railway.app/auth/callbackIn your OMI app settings, use:
https://your-app.up.railway.app/webhookhttps://your-app.up.railway.app/https://your-app.up.railway.app/authhttps://your-app.up.railway.app/setup-completedWith channel specified:
"Send message to general saying hello team!"
"Post in marketing that the campaign is live"
"Slack message to random saying great idea!"
Using default channel:
"Send message saying quick update for everyone"
AI intelligently matches spoken channel names:
Similar to GitHub/Twitter apps but customized for Slack:
Voice Input (OMI)
ā
Webhook Endpoint (/webhook)
ā
Trigger Detection ("Send message")
ā
Segment Collection (3 segments)
ā
AI Processing:
- Extract channel name
- Extract message content
- Match to workspace channels
ā
Slack API (Post Message)
ā
User Notification ā
/app/data)ā Click "Refresh Channels" in settings ā Speak channel name more clearly ā Set as default channel
ā Visit homepage and select a default ā OR always specify channel in voice
ā Verify Slack app credentials ā Check redirect URL matches exactly ā Ensure all required scopes are added
The app is complete and ready to use. Just:
Happy voice messaging! š¬āØ