PulseDesk is a Slack agent for IT and ops support. When someone reports a problem in a channel — "my VPN isn't connecting," "can't access Salesforce" — PulseDesk reads the message, uses Gemini to decide if it's a real actionable issue, and extracts a title and priority automatically. No manual tagging, no separate ticketing tool.

If it's a new issue, PulseDesk posts a Block Kit ticket card directly in the thread with Assign and Resolve buttons. Anyone can claim it or close it right from Slack. When resolved, PulseDesk writes the fix back into the thread — so the next time someone hits Slack's real-time search with a similar problem, that resolution is what surfaces, instead of the team solving the same issue from scratch.

Technology used:

  • Slack's native Agents feature (conversational AI agent experience, enabled in-app)
  • Slack's built-in MCP Server integration, enabling the agent to read channel context and act on Slack data
  • Slack's Real-Time Search API (assistant.search.context) to check for previously resolved duplicate issues before creating a new ticket
  • Google Gemini for issue classification, title extraction, and priority scoring
  • Slack Bolt (Python) running via Socket Mode

Known limitation: real-time search duplicate-detection depends on Slack attaching an action_token to the message event, which is conditional on workspace settings. When present, PulseDesk successfully surfaces prior resolved threads instead of creating a duplicate ticket.

Future improvements: native 1:1 agent chat support (the DM/side-panel experience), persistent ticket storage (currently in-memory), and Slack Marketplace submission for broader team adoption.

Built With

  • block-kit
  • google-gemini
  • mcp
  • python
  • slack
  • slack-bolt
  • socket-mode
Share this project:

Updates