From afc65c24c471af4abc64abdfbd209aa8e71c6ffa Mon Sep 17 00:00:00 2001 From: Eden Zimbelman Date: Thu, 20 Aug 2026 06:33:05 -0700 Subject: [PATCH] docs(methods): add agents.sessions method examples Mirror the Python examples (slackapi/bolt-python-examples) for the two agents.sessions methods, nested under agents/sessions/ to match: - agents.sessions.rename Rename an agent session. - agents.sessions.setStatus Set an agent session's lifecycle status, creating the session if needed. Adds the two example classes, a per-family manifest (agent_view + the agent bot events), and an "agents" section in the methods README. Requires the agents.sessions methods in slack-api-client (adds via slackapi/java-slack-sdk#1633); the example pom stays pinned to the released SDK until that ships. Co-Authored-By: Claude --- methods/README.md | 5 ++++ .../agents/sessions/AgentsSessionsRename.java | 29 +++++++++++++++++++ .../sessions/AgentsSessionsSetStatus.java | 29 +++++++++++++++++++ .../main/java/agents/sessions/manifest.json | 28 ++++++++++++++++++ 4 files changed, 91 insertions(+) create mode 100644 methods/src/main/java/agents/sessions/AgentsSessionsRename.java create mode 100644 methods/src/main/java/agents/sessions/AgentsSessionsSetStatus.java create mode 100644 methods/src/main/java/agents/sessions/manifest.json diff --git a/methods/README.md b/methods/README.md index 1bd5d8e..023da76 100644 --- a/methods/README.md +++ b/methods/README.md @@ -16,6 +16,11 @@ $ mvn compile exec:java -Dexec.mainClass=chat.ChatPostMessage # Make the reques ## What's on call +### agents + +- **[agents.sessions.rename](https://docs.slack.dev/reference/methods/agents.sessions.rename)**: Rename an agent session. [Implementation](./src/main/java/agents/sessions/AgentsSessionsRename.java). +- **[agents.sessions.setStatus](https://docs.slack.dev/reference/methods/agents.sessions.setStatus)**: Set an agent session's lifecycle status, creating the session if needed. [Implementation](./src/main/java/agents/sessions/AgentsSessionsSetStatus.java). + ### chat - **[chat.postMessage](https://docs.slack.dev/reference/methods/chat.postmessage)**: Sends a message to a channel. [Implementation](./src/main/java/chat/ChatPostMessage.java). diff --git a/methods/src/main/java/agents/sessions/AgentsSessionsRename.java b/methods/src/main/java/agents/sessions/AgentsSessionsRename.java new file mode 100644 index 0000000..7fbe1c1 --- /dev/null +++ b/methods/src/main/java/agents/sessions/AgentsSessionsRename.java @@ -0,0 +1,29 @@ +package agents.sessions; + +import com.slack.api.Slack; +import com.slack.api.methods.MethodsClient; +import com.slack.api.methods.SlackApiException; +import com.slack.api.methods.request.agents.sessions.AgentsSessionsRenameRequest; +import com.slack.api.methods.response.agents.sessions.AgentsSessionsRenameResponse; +import java.io.IOException; + +public class AgentsSessionsRename { + + public static void main(String[] args) throws IOException, SlackApiException { + // Read a token from an environment variable + String token = System.getenv("SLACK_TOKEN"); + + // Initialize + MethodsClient methods = Slack.getInstance().methods(token); + + // Call the agents.sessions.rename method + AgentsSessionsRenameRequest request = AgentsSessionsRenameRequest.builder() + .channelId("C123ABC456") + .title("Fix flaky login test") + .build(); + AgentsSessionsRenameResponse response = methods.agentsSessionsRename(request); + + // Inspect the response + System.out.println(response); + } +} diff --git a/methods/src/main/java/agents/sessions/AgentsSessionsSetStatus.java b/methods/src/main/java/agents/sessions/AgentsSessionsSetStatus.java new file mode 100644 index 0000000..4384356 --- /dev/null +++ b/methods/src/main/java/agents/sessions/AgentsSessionsSetStatus.java @@ -0,0 +1,29 @@ +package agents.sessions; + +import com.slack.api.Slack; +import com.slack.api.methods.MethodsClient; +import com.slack.api.methods.SlackApiException; +import com.slack.api.methods.request.agents.sessions.AgentsSessionsSetStatusRequest; +import com.slack.api.methods.response.agents.sessions.AgentsSessionsSetStatusResponse; +import java.io.IOException; + +public class AgentsSessionsSetStatus { + + public static void main(String[] args) throws IOException, SlackApiException { + // Read a token from an environment variable + String token = System.getenv("SLACK_TOKEN"); + + // Initialize + MethodsClient methods = Slack.getInstance().methods(token); + + // Call the agents.sessions.setStatus method + AgentsSessionsSetStatusRequest request = AgentsSessionsSetStatusRequest.builder() + .channelId("C123ABC456") + .status("processing") + .build(); + AgentsSessionsSetStatusResponse response = methods.agentsSessionsSetStatus(request); + + // Inspect the response + System.out.println(response); + } +} diff --git a/methods/src/main/java/agents/sessions/manifest.json b/methods/src/main/java/agents/sessions/manifest.json new file mode 100644 index 0000000..f097ec3 --- /dev/null +++ b/methods/src/main/java/agents/sessions/manifest.json @@ -0,0 +1,28 @@ +{ + "display_information": { + "name": "Slack API Methods", + "description": "Example implementations to call \"agents.sessions\" methods" + }, + "features": { + "bot_user": { + "display_name": "Slack API Methods", + "always_online": true + }, + "agent_view": { + "agent_description": "Example implementations to call \"agents.sessions\" methods" + } + }, + "oauth_config": { + "scopes": { + "bot": ["assistant:write", "chat:write", "im:history"] + } + }, + "settings": { + "event_subscriptions": { + "bot_events": ["agent_session_stopped", "app_home_opened", "message.im"] + }, + "org_deploy_enabled": true, + "socket_mode_enabled": true, + "token_rotation_enabled": false + } +}