Skip to content

feat: add agents.sessions.setStatus and agents.sessions.rename - #1633

Merged
zimeg merged 1 commit into
mainfrom
clack/agents-sessions-methods
Aug 22, 2026
Merged

feat: add agents.sessions.setStatus and agents.sessions.rename#1633
zimeg merged 1 commit into
mainfrom
clack/agents-sessions-methods

Conversation

@zimeg

@zimeg zimeg commented Aug 20, 2026

Copy link
Copy Markdown
Member

Adds the agents.sessions.* Web API methods — the agent-sessions successors to assistant.threads.setStatus / assistant.threads.setTitle.

Documentation

Methods

  • agents.sessions.setStatuschannel_id (required), status (required), optional thread_ts, title, initiator_user_id, icon_emoji, icon_url, username
  • agents.sessions.renamechannel_id (required), title (required), optional thread_ts

Bot token scope: chat:write. Rate limit: Tier 3 (both).

What's included

  • Request classes: AgentsSessionsSetStatusRequest, AgentsSessionsRenameRequest
  • Response classes: AgentsSessionsSetStatusResponse, AgentsSessionsRenameResponse
  • Sync + async client method declarations and implementations
  • RequestFormBuilder form serialization
  • Rate-limit tier registration (MethodsRateLimits + rate_limit_tiers.json)
  • Response-sample dump (MethodsResponseDumpTest.agents_sessions()) for downstream type generation
  • Remote API tests (test_with_remote_apis/methods/agents_sessions_Test) — assume-gated on a bot token, so they skip cleanly without credentials

Mirrors the Python SDK implementation (slackapi/python-slack-sdk#1942). Draft/experimental.

@codecov

codecov Bot commented Aug 20, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 8.00000% with 23 lines in your changes missing coverage. Please review.
✅ Project coverage is 72.87%. Comparing base (0bcc88f) to head (3aaade9).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
...java/com/slack/api/methods/RequestFormBuilder.java 0.00% 15 Missing ⚠️
...slack/api/methods/impl/AsyncMethodsClientImpl.java 0.00% 4 Missing ⚠️
.../com/slack/api/methods/impl/MethodsClientImpl.java 0.00% 4 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1633      +/-   ##
============================================
- Coverage     72.99%   72.87%   -0.12%     
+ Complexity     4523     4522       -1     
============================================
  Files           479      479              
  Lines         14365    14390      +25     
  Branches       1503     1503              
============================================
+ Hits          10486    10487       +1     
- Misses         2989     3013      +24     
  Partials        890      890              
Flag Coverage Δ
jdk-14 72.87% <8.00%> (-0.12%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

@zimeg
zimeg force-pushed the clack/agents-sessions-methods branch 7 times, most recently from 082dff4 to 3ee8e00 Compare August 20, 2026 13:22
@zimeg
zimeg force-pushed the clack/agents-sessions-methods branch from 3ee8e00 to 580e947 Compare August 20, 2026 16:24
zimeg added a commit to slackapi/node-slack-sdk that referenced this pull request Aug 20, 2026
Mirror the Python SDK (slackapi/python-slack-sdk#1942) for the two
agents.sessions methods:

- agents.sessions.rename    Rename an agent session.
- agents.sessions.setStatus Set an agent session's lifecycle status,
                            creating the session if needed.

Adds the client.agents.sessions.{rename,setStatus} bindings, the request
argument types, and the response types.

The response types are generated from the java-slack-sdk API sample logs
via scripts/generate-web-api-types.sh; the samples land in
slackapi/java-slack-sdk#1633, so the generator must be re-run against
java-slack-sdk main once that ships to pick up the final response shape.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
@zimeg
zimeg force-pushed the clack/agents-sessions-methods branch 2 times, most recently from 4cff141 to 3918e12 Compare August 20, 2026 16:33
@zimeg zimeg added enhancement M-T: A feature request for new functionality semver:minor labels Aug 20, 2026
@zimeg zimeg self-assigned this Aug 20, 2026
zimeg added a commit to slack-samples/bolt-java-examples that referenced this pull request Aug 20, 2026
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 <svc-devxp-claude@slack-corp.com>
zimeg added a commit to slack-samples/bolt-java-examples that referenced this pull request Aug 20, 2026
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 <svc-devxp-claude@slack-corp.com>
zimeg added a commit to slack-samples/bolt-java-examples that referenced this pull request Aug 20, 2026
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 <svc-devxp-claude@slack-corp.com>
zimeg added a commit to slack-samples/bolt-java-examples that referenced this pull request Aug 20, 2026
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 <svc-devxp-claude@slack-corp.com>
Base automatically changed from api to main August 21, 2026 22:07
Add the agents.sessions.* Web API methods (successors to
assistant.threads.setStatus/setTitle): request/response classes, sync + async
client methods, form builder, Tier3 rate-limit metadata, a response-sample
dump, and remote API tests. Arguments follow the method reference; scope
chat:write.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
@zimeg
zimeg force-pushed the clack/agents-sessions-methods branch from 3918e12 to 3aaade9 Compare August 21, 2026 23:48
@zimeg zimeg added the project:slack-api-client project:slack-api-client label Aug 21, 2026
@zimeg zimeg added this to the 1.50.1 milestone Aug 21, 2026
@zimeg
zimeg marked this pull request as ready for review August 21, 2026 23:57
@zimeg
zimeg requested a review from a team as a code owner August 21, 2026 23:57
@zimeg

zimeg commented Aug 21, 2026

Copy link
Copy Markdown
Member Author

Self-review notes (author) — for a reviewer's context

Sharing what I checked so a reviewer has the full picture. This is a self-review, not an approval.

Scope

  • Rebased onto current main so the diff is exactly the agent-sessions work (16 files) — request/response classes, sync + async client declarations + impls, RequestFormBuilder serialization, Methods constants, rate-limit tier registration (MethodsRateLimits + rate_limit_tiers.json), the MethodsResponseDumpTest.agents_sessions() dump, the remote test, and the two committed JSON samples. Nothing unrelated.

Correctness

Testing

  • mvn -pl slack-api-client -am compile — BUILD SUCCESS against current main.
  • The remote test (test_with_remote_apis/methods/agents_sessions_Test) was run live against a test workspace: chat.postMessagesetStatus(processing, title)renamesetStatus(closed), all ok: true. The response classes were shaped from that live response (Gson strict-mode surfaced status / agent_status / title), and the committed json-logs/samples/api/agents.sessions.*.json are what the node-slack-sdk type generator consumes.

Docs: agents.sessions.setStatus, agents.sessions.rename.

@zimeg
zimeg merged commit b7562e3 into main Aug 22, 2026
7 of 10 checks passed
@zimeg
zimeg deleted the clack/agents-sessions-methods branch August 22, 2026 00:00
zimeg added a commit to slackapi/node-slack-sdk that referenced this pull request Aug 22, 2026
Mirror the Python SDK (slackapi/python-slack-sdk#1942) for the two
agents.sessions methods:

- agents.sessions.rename    Rename an agent session.
- agents.sessions.setStatus Set an agent session's lifecycle status,
                            creating the session if needed.

Adds the client.agents.sessions.{rename,setStatus} bindings, the request
argument types, and the response types.

The response types are generated from the java-slack-sdk API sample logs
via scripts/generate-web-api-types.sh; the samples land in
slackapi/java-slack-sdk#1633, so the generator must be re-run against
java-slack-sdk main once that ships to pick up the final response shape.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement M-T: A feature request for new functionality project:slack-api-client project:slack-api-client semver:minor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant