Inspiration

long conversations can have huge about of data but extracting it takes hours, I wanted to make something that could extract that stuff in minutes, or even seconds.

What it does

StackSage is a conversational agent designed to eliminate channel fatigue and turn noisy discussions into actionable workflows.

How we built it

StackSage was built natively as a New Slack Agent, leveraging Slack's developer tools to fulfill the hackathon requirements.

Slack Bolt & Assistant Middleware: We utilized the slack_bolt.middleware.assistant framework in Python to build a conversational agent interface, allowing user intent routing using Socket Mode.

AI Integration: We integrated OpenAI's gpt-4o-mini model as our core reasoning engine. By feeding raw conversations.history payloads into the model with system prompts, the agent extracts structured data and translates Slack's alphanumeric user IDs into native <@USER_ID> mentions.

Interactive UI State: We utilized advanced Block Kit to handle dynamic message updates in Slack.

Challenges we ran into

Our biggest hurdle was handling Slack's Block Kit metadata during state changes. When attempting to rewrite a message after a user clicked the "Claim" button, the Slack API would return invalid_blocks errors due to hidden, read-only block IDs tied to the original message. We made a workaround for that.

Accomplishments that we're proud of

We are incredibly proud of achieving the "claim" task option.

What we learned

We gained a big appreciation for Slack's architecture.

What's next for StackSage

The next evolution for StackSage is turning those interactive Action Items into external workflows.

Built With

  • artificial-intelligence
  • block-kit
  • chatbot
  • gpt-4
  • llm
  • openai
  • openai-api
  • python
  • python-dotenv
  • slack-api
  • slack-bolt
  • socket-mode
Share this project:

Updates