Inspiration

Modern organizations rely on dozens of SaaS tools, but Slack AI agents are typically connected to just a few of them. New tools on the market usually means excessive work downloading new apps, agents, and integrations.

What it does

Want to add a new service? Your workplace admin can run /connect !

Slack Detective will automatically find and generates secure, read-only connectors for compatible OAuth services and remote MCP servers. It will guide the admin through a one-time setup that takes less than three minutes.

Once connected, both the admin and any other Slack workspace members can integrate their accounts on that service to the agent. Detective can simultaneously combine evidence from Slack and all of the tools and users it is connected to answer questions such as:

  • Why did this fail?
  • What happened yesterday?
  • Which change caused this issue?

Accomplishments that we're proud of

Our biggest accomplishment is the runtime connector system.

NONE of these tools are hardcoded into our agent! It can connect to tools it's NEVER seen or heard of before.

How we built it

Slack Detective is built using Node.js and TypeScript with Slack Bolt running in Socket Mode.

Runtime service definitions are stored in SQLite and protected using AES-256-GCM encrypted secret storage. Integration specifications are generated through an OpenAI-compatible model, validated with Zod schemas, and restricted to HTTPS, read-only REST operations before becoming available to the agent.

For remote MCP servers, Slack Detective discovers available tools, supports OAuth-capable MCP servers, and only exposes approved read-only capabilities.

The investigation engine selects authorized tools based on workspace, user identity, available providers, and requested task. Results from every source are normalized into a common evidence format before being validated and returned to Slack.

Challenges we ran into

The biggest challenge was security and safety.

A runtime-generated connector should never invent OAuth endpoints, access arbitrary hosts, perform write operations, leak another user's credentials, or hallucinate false data.

To address this, we layered multiple validation steps:

  • HTTPS-only providers
  • Host pinning
  • Endpoint validation
  • Read-only GET operations
  • Workspace- and user-scoped OAuth credentials
  • Evidence-backed investigation results
  • Validation before every report is returned

What we learned

Neither of us had previously built applications around Slack, OAuth, or the MCP servers.

Building Slack Detective forced us to learn how Slack applications are structured, how OAuth works across multiple users and workspaces, how MCP servers expose tools, and how to secure AI while giving it access to personal data.

What's next for Slack Detective

Our next goal is to expand improve automatic validation for newly generated services, reducing it to a one-click process.

Built With

Share this project:

Updates