A local web UI that lets you launch and monitor Claude agents for email triage and Slack attention filtering — each teammate runs their own instance connected to their own accounts.
- You click Run in the UI
- The app opens a new Terminal window with
claudeand types the agent prompt - Claude executes the agent (accessing your Gmail, Slack, and Glean via MCP)
- The agent writes its output to
/tmp/<agent>-output.md - The UI picks up the file and renders the results
| Requirement | Version |
|---|---|
| macOS | Any recent version (Terminal + AppleScript required) |
| Python | 3.9+ |
| Claude Code | Latest — must be installed and authenticated |
Claude Code must be signed in (
claude login) before running agents.
The agents use Gmail, Slack, and Glean via Claude's MCP integrations. Connect them once in Claude Code settings:
- Open Claude Code:
claude - Go to Settings → Integrations (or run
/mcpin a session) - Connect:
- Gmail — grants read/draft access to your inbox
- Slack — grants read access to your workspace
- Glean — connects to your org's Glean instance
Each teammate connects their own accounts — the agents use whoever is signed in.
# 1. Clone the repo
git clone <repo-url>
cd agent-control-plane
# 2. Run setup (installs agents into ~/.claude/agents/)
bash setup.sh
# 3. Install Python dependencies
pip install -r requirements.txt
# 4. Start the server
python app.pyThen open http://localhost:5050 in your browser.
Processes your inbox: filters noise, researches context from Glean/Slack/Gong, and saves Gmail drafts for every email that needs a reply. Writes a structured triage report to the UI.
Scans your Slack messages, surfaces only what genuinely needs your attention, and generates copy-paste ready responses backed by Glean/Gong context.
For forwarded emails: reads the thread, researches via Glean agent + Slack + Gong, and saves a context-rich draft reply to your Gmail drafts.
Agent prompts live in agents/*.md. Edit them directly — changes take effect on the next run (symlinks mean no reinstall needed after setup.sh).
Each file follows the Claude agent format:
---
name: agent-name
description: "When to invoke this agent"
model: sonnet
---
Agent system prompt here...
To add a new agent:
- Create
agents/your-agent.md - Re-run
bash setup.sh(orln -sfmanually) - Add an entry to the
AGENTSdict inapp.py
Terminal window doesn't open — macOS may need Terminal to be granted Automation permissions in System Settings → Privacy & Security → Automation.
Agent output never appears — The agent writes to /tmp/<agent>-output.md. If the file never appears, switch to the Claude terminal window to see what happened.
claude not found — Make sure Claude Code is on your PATH: which claude. Restart your terminal after installing.