plugins/omi-whoop-app/README.md
Track your recovery, strain, sleep, and workouts from your Whoop through Omi chat.
read:recoveryread:cyclesread:sleepread:workoutread:profileread:body_measurementofflineWHOOP_CLIENT_ID=your_client_id
WHOOP_CLIENT_SECRET=your_client_secret
WHOOP_REDIRECT_URI=https://your-app.up.railway.app/auth/whoop/callback
requirements.txtrailway.toml configPORT and REDIS_URL environment variablesAfter deployment, update your Whoop app's redirect URI:
https://your-app.up.railway.app/auth/whoop/callback
When creating/updating the Omi app, use these URLs:
| Field | Value |
|---|---|
| Setup URL | https://your-app.up.railway.app/?uid={{uid}} |
| Setup Completed URL | https://your-app.up.railway.app/setup/whoop?uid={{uid}} |
| Chat Tools Manifest URL | https://your-app.up.railway.app/.well-known/omi-tools.json |
| Endpoint | Description |
|---|---|
/tools/get_recovery | Get recovery score and HRV |
/tools/get_strain | Get daily strain score |
/tools/get_sleep | Get sleep data |
/tools/get_workouts | Get recent workouts |
/tools/get_weekly_summary | Get weekly averages |
/tools/get_body_measurements | Get body measurements |
/tools/get_profile | Get user profile |
| Endpoint | Description |
|---|---|
/ | Home page / setup UI |
/auth/whoop?uid=<uid> | Start OAuth flow |
/auth/whoop/callback | OAuth callback |
/setup/whoop?uid=<uid> | Check setup status |
/disconnect?uid=<uid> | Disconnect account |
/health | Health check |
/.well-known/omi-tools.json | Chat tools manifest |
.env.example to .env and fill in your credentialsWHOOP_REDIRECT_URI=http://localhost:8080/auth/whoop/callbackpip install -r requirements.txtpython main.py| Variable | Description | Required |
|---|---|---|
WHOOP_CLIENT_ID | Whoop OAuth Client ID | Yes |
WHOOP_CLIENT_SECRET | Whoop OAuth Client Secret | Yes |
WHOOP_REDIRECT_URI | OAuth callback URL | Yes |
PORT | Server port (default: 8080) | No |
REDIS_URL | Redis connection URL | No (uses file storage if not set) |