slack-go/slack

Slack API in Go

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 39 minutes ago
Added to GitGenius on September 13th, 2026
Created on January 24th, 2015
Open Issues & Pull Requests: 25 (+0)
GitHub issues: Enabled
Number of forks: 1,201
Total Stargazers: 4,964 (+0)
Total Subscribers: 54 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 17.5 days
Mean response time: 356.6 days
90th percentile: 1472.4 days
Tracked items: 171

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Roughly one issue in four opened in the past year never receives a reply. Work labelled "bug" is answered fastest, typically in about 12 hours, while "Web API" waits about 13 months. 75% of issues opened in the past year have been closed, leaving a working backlog. Three people close 98% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 11
New in 7 days: 8
Closed in 7 days: 0
Avg open age: 2 days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (39)
  • needs investigation (21)
  • bug (18)
  • help wanted (16)
  • feature request (13)
  • Web API (11)
  • api cleanup (9)
  • proposal (8)

Detailed Description

slack-go/slack is a Go library that provides programmatic access to the Slack API.

The library addresses the need to interact with Slack from Go applications by wrapping the Slack REST API and supporting real-time communication through both the Real-Time Messaging protocol over websocket and Socket Mode. It handles connection management, retries, and event routing automatically. The tool covers most or all of the api.slack.com REST endpoints and provides multiple communication patterns depending on application requirements.

Developers should choose this library if they are building Go applications that need to integrate with Slack. It suits projects ranging from simple API calls to complex real-time applications. The README explicitly recommends Socket Mode as the preferred approach for most applications over the older Real-Time Messaging protocol. The library includes built-in retry support, configurable for 429 rate-limit responses only or for broader failure scenarios including connection and optional 5xx errors. A SocketmodeHandler utility is available to simplify event routing and callback registration when using Socket Mode.

The project maintains compatibility with officially supported Go versions. Development activity shows consistent attention to testing infrastructure and code quality standards, with contributors expected to run formatting, linting, and test checks before submitting changes. The project explicitly notes that no major version has been released, meaning minor version updates may introduce backward incompatible changes, so adopters should monitor releases carefully.