Slack SDK for Java
Slack SDK for Java supports the Slack platform in a Java idiomatic way. The SDK written in Java so developers can use it in any JVM language including Kotlin, Groovy, and Scala.
Within the SDK, there are two different modules:
- Bolt for Java, which is a framework with a simple API that makes it easy to write modern Slack apps in Java.
- Slack API Client, for when you need a more customized approach to building a Slack app in Java.
Modules
The table below shows all the available modules in the Slack Java SDK. All of them have the same latest version as we release all at the same time, even in the case that some donβt have any changes apart from updates on their dependency side.
All released versions are available on the Maven Central repositories. The latest version is 1.36.1.
Bolt & Built-in Extensions
Foundation Modules
groupId:artifactId |
Description |
com.slack.api:slack-api-model π |
This is a collection of the classes representing the Slack core objects such as conversations, messages, users, blocks, and surfaces. As this is an essential part of the SDK, all other modules depend on this. |
com.slack.api:slack-api-model-kotlin-extension π |
This contains the Block Kit Kotlin DSL builder, which allows you to define block kit structures via a Kotlin-native DSL. |
com.slack.api:slack-api-client π |
This is a collection of the Slack API clients. The supported are Basic API Methods, Socket Mode API, RTM API, SCIM API, Audit Logs API, and Status API. |
com.slack.api:slack-api-client-kotlin-extension π |
This contains extension methods for various slack client message builders so you can seamlessly use the Block Kit Kotlin DSL directly on the Java message builders. |
com.slack.api:slack-app-backend π |
This module is a set of Slack app server-side handlers and data classes for Events API, Interactive Components, Slash Commands, Actions, and OAuth flow. These are used by Bolt framework as the foundation of it in primitive layers. |
Requirements
The SDK supports OpenJDK 8 and higher LTS versions.
Users can expect every single patch release has been done after verifying functionality by running the basic CI builds with all LTS versions and all the unit tests have passed at least on the latest LTS version. We donβt run comprehensive verifications with all OpenJDK distributions but it should be working with all of them.
Getting Help
If you get stuck, weβre here to help. The following are the best ways to get assistance working through your issue: