Skip to content

feat: add support for apps.user.connection.requestAuth and bulkUpdate - #1984

Merged
WilliamBergamin merged 2 commits into
mainfrom
feat-apps-user-connection-request-auth-bulk-update
Oct 15, 2026
Merged

WilliamBergamin merged 2 commits into
mainfrom
feat-apps-user-connection-request-auth-bulk-update

Conversation

@WilliamBergamin

@WilliamBergamin WilliamBergamin commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Summary

This pull request adds support for the apps.user.connection.requestAuth and apps.user.connection.bulkUpdate Web API methods, matching slackapi/java-slack-sdk#1656.

  • apps_user_connection_requestAuth: opens (via trigger_id) or updates (via user_id) a standardized authentication modal for a user. primary_provider accepts a dict, JSON-encoded like manifest in apps_manifest_create, or a pre-encoded string.
  • apps_user_connection_bulkUpdate: updates the connection status between an app and many users in one call. connected_user_ids and disconnected_user_ids accept a list (comma-joined, like user_ids in admin_conversations_invite) or a string.
  • async_client.py and legacy_client.py are generated with scripts/codegen.py; the coverage test includes the new methods.

Testing

client.apps_user_connection_bulkUpdate(
    connected_user_ids=["U..."],
    disconnected_user_ids=["U..."],
)

client.apps_user_connection_requestAuth(
    trigger_id=trigger_id_from_an_interaction,
    primary_provider={
        "value": "my-provider",
        "name": {"type": "plain_text", "text": "My Provider"},
        "is_connected": False,
    },
)
  1. Call apps_user_connection_bulkUpdate and confirm changed_user_ids lists the updated users, and an unknown user ID shows up in failures.
  2. From a shortcut or button, call apps_user_connection_requestAuth with its trigger_id and confirm the authentication modal opens; call it again with user_id and confirm the open modal updates.

Ran both methods with this build against a real app: outcomes (changed_user_ids, failures, no_user_ids, missing_target, invalid_trigger, auth_url_host_not_registered, response_metadata.warnings) match the Java SDK.

Category

  • slack_sdk.web.WebClient (sync/async) (Web API client)
  • slack_sdk.webhook.WebhookClient (sync/async) (Incoming Webhook, response_url sender)
  • slack_sdk.socket_mode (Socket Mode client)
  • slack_sdk.signature (Request Signature Verifier)
  • slack_sdk.oauth (OAuth Flow Utilities)
  • slack_sdk.models (UI component builders)
  • slack_sdk.scim (SCIM API client)
  • slack_sdk.audit_logs (Audit Logs API client)
  • slack_sdk.rtm_v2 (RTM client)
  • /docs (Documents)
  • /tutorial (PythOnBoardingBot tutorial)
  • tests/integration_tests (Automated tests for this library)

Requirements

  • I've read and understood the Contributing Guidelines and have done my best effort to follow them.
  • I've read and agree to the Code of Conduct.
  • I've run python3 -m venv .venv && source .venv/bin/activate && ./scripts/run_validation.sh after making the changes.

🤖 Generated with Claude Code

@codecov

codecov Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 78.57143% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.28%. Comparing base (aac9482) to head (db8a002).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
slack_sdk/web/async_client.py 78.57% 3 Missing ⚠️
slack_sdk/web/client.py 78.57% 3 Missing ⚠️
slack_sdk/web/legacy_client.py 78.57% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1984      +/-   ##
==========================================
- Coverage   84.30%   84.28%   -0.02%     
==========================================
  Files         118      118              
  Lines       13688    13730      +42     
==========================================
+ Hits        11539    11572      +33     
- Misses       2149     2158       +9     

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

Use the method docs summary for apps.user.connection.bulkUpdate and
requestAuth, and drop the extra argument notes, like the other methods.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
@WilliamBergamin
WilliamBergamin marked this pull request as ready for review October 14, 2026 20:46
@WilliamBergamin
WilliamBergamin requested a review from a team as a code owner October 14, 2026 20:46

@srtaalej srtaalej left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 lgtm!

@srtaalej srtaalej added enhancement M-T: A feature request for new functionality semver:minor labels Oct 14, 2026
@WilliamBergamin
WilliamBergamin merged commit 8fe5157 into main Oct 15, 2026
18 checks passed
@WilliamBergamin
WilliamBergamin deleted the feat-apps-user-connection-request-auth-bulk-update branch October 15, 2026 15:50
@zimeg zimeg added this to the 3.46.0 milestone Oct 30, 2026
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 semver:minor web-client

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants