A Chrome extension (Manifest V3) that injects AI-powered tools directly into Officevibe / Workleap to help managers respond to employee feedback faster and more thoughtfully.
- AI reply suggestions — One-click generation of empathetic, context-aware replies to anonymous employee feedback
- Multiple response tones — Choose from empathetic, action-oriented, direct, and more
- MBTI-personalized responses — Optionally set your personality type so suggestions match your natural communication style
- Bulk feedback analysis — Summarise a full page of feedback into key themes, sentiment breakdown, and priority action items
- Similar Slack discussions — Automatically surfaces relevant past Slack conversations that relate to each piece of feedback
- Glassdoor context — Pulls recent public Glassdoor reviews for Workleap to give additional context when crafting replies
- Team insights analysis — AI-generated summary of engagement metric changes visible on the Officevibe home and compare pages
- Recognition suggestions — Scans configured Slack channels for recent wins and drafts recognition posts
- Google Chrome (or any Chromium browser)
- An Anthropic API key (required)
- Slack session or OAuth token (optional — enables the Slack similarity search feature)
This extension is not published on the Chrome Web Store. Load it manually as an unpacked extension.
-
Clone the repository
git clone https://github.com/your-username/officevibe-ai-assistant.git cd officevibe-ai-assistant -
Create your config file
cp config.example.js config.js
Open
config.jsand fill in your Slack tokens and channel IDs (see Configuration below). The Anthropic API key is set through the extension popup, not here. -
Load the extension in Chrome
- Navigate to
chrome://extensions - Enable Developer mode (toggle in the top-right)
- Click Load unpacked
- Select the cloned project folder
- Navigate to
-
Set your API key
- Click the extension icon in the Chrome toolbar
- Paste your Anthropic API key
- Select a Claude model (see Model Options)
- Optionally select your MBTI type
- Click Save Settings
-
Navigate to Officevibe
Go to
https://officevibe.workleap.comand open any feedback conversation — the AI buttons will appear automatically.
Copy config.example.js to config.js and edit the following:
| Key | Description |
|---|---|
SLACK_XOXC_TOKEN |
Slack web session token (xoxc-…), found in Slack network requests |
SLACK_XOXD_TOKEN |
Slack device cookie token (xoxd-…), found in browser cookies on slack.com |
RECOGNITION_CHANNELS |
Array of Slack channel IDs to scan for recognition-worthy wins |
Finding Slack tokens: Open Slack in your browser, open DevTools → Network, perform a search, and look for requests to
slack.com/api/— thetokenfield in the request body is yourxoxc-token. Thexoxd-token is in Application → Cookies →d.
Standard OAuth token: If you have a Slack app with
search:readpermission, you can use anxoxb-orxoxp-token instead. The extension detects the token type automatically.
| Setting | Description |
|---|---|
| Anthropic API Key | Your key from console.anthropic.com — stored locally in Chrome sync storage |
| Claude Model | Which model to use for all AI calls (see below) |
| MBTI Type | Optional — tailors the tone of AI suggestions to your personality type |
| Model | Speed | Cost | Best for |
|---|---|---|---|
| Haiku 4.5 | Fastest | Cheapest | High-volume use, quick suggestions |
| Sonnet 4.6 | Balanced | Moderate | Default — good quality at reasonable cost |
| Opus 4.6 | Slowest | Most expensive | Complex feedback, highest quality replies |
The selected model is saved in Chrome sync storage and used for all AI calls.
officevibe-ai-assistant/
├── manifest.json # MV3 manifest — permissions and entry points
├── background.js # Service worker — Claude API calls, Slack search, Glassdoor fetch
├── content.js # Content script — DOM detection, button injection, sidebar UI
├── popup.html # Extension popup — settings UI
├── popup.js # Popup logic — load/save settings
├── styles.css # All injected UI styles (prefixed with --ov-ai-)
├── config.js # Local credentials (git-ignored — see config.example.js)
├── config.example.js # Credentials template
├── generate-icons.js # Node script to regenerate PNG icons via canvas
└── icons/
├── icon16.png
├── icon48.png
└── icon128.png
- Your Anthropic API key is stored locally in Chrome's sync storage and never sent anywhere except directly to
api.anthropic.com - Feedback text is sent to the Claude API only when you explicitly click an AI button — nothing is processed passively
- Slack tokens are stored in
config.json your local machine only - No analytics, no external tracking
The icons are pre-built PNGs. If you want to regenerate them:
npm install canvas
node generate-icons.jsTested on officevibe.workleap.com. The extension uses DOM selectors tuned to Officevibe's current markup — if Workleap updates their UI, selectors in content.js may need adjustment.