Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. ChatOps
  3. slack

slack

MITElixirv0.23.6

An Elixir client for Slack's Real Time Messaging and Web APIs, enabling bot development and Slack integration.

GitHubGitHub
681 stars183 forks0 contributors

What is slack?

Elixir-Slack is an Elixir library that provides a client for Slack's Real Time Messaging (RTM) and Web APIs. It enables developers to build Slack bots that can send and receive messages in real-time, as well as interact with Slack's full suite of Web API endpoints programmatically. The library solves the problem of integrating Slack's communication features into Elixir applications with a structured, behavior-based approach.

Target Audience

Elixir developers building Slack bots, automation tools, or applications that require real-time interaction with Slack workspaces. It's particularly useful for teams embedding Slack functionality into their Elixir-based systems.

Value Proposition

Developers choose Elixir-Slack for its comprehensive API coverage, idiomatic Elixir design, and seamless integration with Elixir's concurrency model. Its auto-generated Web API modules and behavior-driven bot framework reduce boilerplate and provide a maintainable structure for Slack interactions.

Overview

Slack real time messaging and web API client in Elixir

Use Cases

Best For

  • Building real-time Slack bots that respond to messages and events
  • Integrating Slack notifications and messaging into Elixir applications
  • Automating team workflows by interacting with Slack channels and users
  • Creating custom Slack command tools or internal dashboards
  • Developing Slack apps that require both RTM and Web API access
  • Prototyping or production-grade Slack integrations in Elixir

Not Ideal For

  • Projects relying on Slack's newer Events API with HTTP callbacks instead of RTM WebSockets
  • Teams working in non-Elixir ecosystems or preferring JavaScript/Python-based Slack SDKs
  • Developers seeking a fully hosted bot platform with minimal infrastructure management
  • Applications requiring instant out-of-the-box bot responses without manual data fetching after RTM.connect

Pros & Cons

Pros

Comprehensive Web API Coverage

Automatically generates modules for all documented Slack Web API endpoints, reducing boilerplate code and ensuring up-to-date API access as mentioned in the README.

Behavior-Based Bot Framework

Provides a structured Slack behavior with callbacks like handle_connect and handle_event, aligning with Elixir's idiomatic design for maintainable and testable bot logic.

Flexible Authentication Options

Supports token configuration globally or per-API call via optional_params, allowing granular control over authentication as detailed in the Web API usage section.

Custom HTTP Client Support

Allows configuration of custom HTTP clients or options for Web API calls, enabling advanced error handling and timeout control beyond default settings.

Cons

Breaking Changes from API Shifts

Upgrading from 0.x to 0.20+ requires manual code adjustments due to Slack's deprecation of rtm.start, forcing developers to fetch bots, channels, and users separately.

RTM-Centric Design Limitations

Heavily relies on Slack's older RTM API, which lacks support for newer features like granular event subscriptions, making it less ideal for modern Slack app development.

Additional Data Fetching Overhead

After switching to rtm.connect, developers must make extra Web API calls to populate bot state, adding complexity and potential rate-limiting issues.

Frequently Asked Questions

Quick Stats

Stars681
Forks183
Contributors0
Open Issues11
Last commit2 years ago
CreatedSince 2014

Tags

#elixir#slack#slack-integration#slack-api#bot-framework#erlang-otp#rtm#hex-package#real-time-messaging#bot#websocket-client

Built With

E
Elixir
w
websocket-client

Included in

Elixir13.1kChatOps972
Auto-fetched 16 hours ago

Related Projects

BotkitBotkit

Botkit is an open source developer tool for building chat bots, apps and custom integrations for major messaging platforms.

Stars11,582
Forks2,252
Last commit2 years ago
google-cloudgoogle-cloud

Elixir client libraries for accessing Google APIs.

Stars1,079
Forks469
Last commit2 days ago
stripity_stripestripity_stripe

An Elixir Library for Stripe

Stars1,070
Forks374
Last commit1 day ago
pigeonpigeon

iOS and Android push notifications for Elixir

Stars679
Forks162
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub