Skip to content

Commit 8fe5157

Browse files
WilliamBergaminClaude
andauthored
feat: add support for apps.user.connection.requestAuth and bulkUpdate (#1984)
Co-authored-by: Claude <svc-devxp-claude@slack-corp.com>
1 parent aac9482 commit 8fe5157

4 files changed

Lines changed: 135 additions & 2 deletions

File tree

‎slack_sdk/web/async_client.py‎

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2460,6 +2460,46 @@ async def apps_user_connection_update(
24602460
kwargs.update({"user_id": user_id, "status": status})
24612461
return await self.api_call("apps.user.connection.update", params=kwargs)
24622462

2463+
async def apps_user_connection_bulkUpdate(
2464+
self,
2465+
*,
2466+
connected_user_ids: Optional[Union[str, Sequence[str]]] = None,
2467+
disconnected_user_ids: Optional[Union[str, Sequence[str]]] = None,
2468+
**kwargs,
2469+
) -> AsyncSlackResponse:
2470+
"""Updates the connection status between an app and many users in one call, for backfilling an existing user base.
2471+
2472+
https://docs.slack.dev/reference/methods/apps.user.connection.bulkUpdate
2473+
"""
2474+
if isinstance(connected_user_ids, (list, tuple)):
2475+
kwargs.update({"connected_user_ids": ",".join(connected_user_ids)})
2476+
else:
2477+
kwargs.update({"connected_user_ids": connected_user_ids})
2478+
if isinstance(disconnected_user_ids, (list, tuple)):
2479+
kwargs.update({"disconnected_user_ids": ",".join(disconnected_user_ids)})
2480+
else:
2481+
kwargs.update({"disconnected_user_ids": disconnected_user_ids})
2482+
return await self.api_call("apps.user.connection.bulkUpdate", params=kwargs)
2483+
2484+
async def apps_user_connection_requestAuth(
2485+
self,
2486+
*,
2487+
primary_provider: Union[str, Dict[str, Any]],
2488+
trigger_id: Optional[str] = None,
2489+
user_id: Optional[str] = None,
2490+
**kwargs,
2491+
) -> AsyncSlackResponse:
2492+
"""Opens or updates a standardized authentication modal for the calling app.
2493+
2494+
https://docs.slack.dev/reference/methods/apps.user.connection.requestAuth
2495+
"""
2496+
kwargs.update({"trigger_id": trigger_id, "user_id": user_id})
2497+
if isinstance(primary_provider, str):
2498+
kwargs.update({"primary_provider": primary_provider})
2499+
else:
2500+
kwargs.update({"primary_provider": json.dumps(primary_provider)})
2501+
return await self.api_call("apps.user.connection.requestAuth", params=kwargs)
2502+
24632503
async def tooling_tokens_rotate(
24642504
self,
24652505
*,

‎slack_sdk/web/client.py‎

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2450,6 +2450,46 @@ def apps_user_connection_update(
24502450
kwargs.update({"user_id": user_id, "status": status})
24512451
return self.api_call("apps.user.connection.update", params=kwargs)
24522452

2453+
def apps_user_connection_bulkUpdate(
2454+
self,
2455+
*,
2456+
connected_user_ids: Optional[Union[str, Sequence[str]]] = None,
2457+
disconnected_user_ids: Optional[Union[str, Sequence[str]]] = None,
2458+
**kwargs,
2459+
) -> SlackResponse:
2460+
"""Updates the connection status between an app and many users in one call, for backfilling an existing user base.
2461+
2462+
https://docs.slack.dev/reference/methods/apps.user.connection.bulkUpdate
2463+
"""
2464+
if isinstance(connected_user_ids, (list, tuple)):
2465+
kwargs.update({"connected_user_ids": ",".join(connected_user_ids)})
2466+
else:
2467+
kwargs.update({"connected_user_ids": connected_user_ids})
2468+
if isinstance(disconnected_user_ids, (list, tuple)):
2469+
kwargs.update({"disconnected_user_ids": ",".join(disconnected_user_ids)})
2470+
else:
2471+
kwargs.update({"disconnected_user_ids": disconnected_user_ids})
2472+
return self.api_call("apps.user.connection.bulkUpdate", params=kwargs)
2473+
2474+
def apps_user_connection_requestAuth(
2475+
self,
2476+
*,
2477+
primary_provider: Union[str, Dict[str, Any]],
2478+
trigger_id: Optional[str] = None,
2479+
user_id: Optional[str] = None,
2480+
**kwargs,
2481+
) -> SlackResponse:
2482+
"""Opens or updates a standardized authentication modal for the calling app.
2483+
2484+
https://docs.slack.dev/reference/methods/apps.user.connection.requestAuth
2485+
"""
2486+
kwargs.update({"trigger_id": trigger_id, "user_id": user_id})
2487+
if isinstance(primary_provider, str):
2488+
kwargs.update({"primary_provider": primary_provider})
2489+
else:
2490+
kwargs.update({"primary_provider": json.dumps(primary_provider)})
2491+
return self.api_call("apps.user.connection.requestAuth", params=kwargs)
2492+
24532493
def tooling_tokens_rotate(
24542494
self,
24552495
*,

‎slack_sdk/web/legacy_client.py‎

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2461,6 +2461,46 @@ def apps_user_connection_update(
24612461
kwargs.update({"user_id": user_id, "status": status})
24622462
return self.api_call("apps.user.connection.update", params=kwargs)
24632463

2464+
def apps_user_connection_bulkUpdate(
2465+
self,
2466+
*,
2467+
connected_user_ids: Optional[Union[str, Sequence[str]]] = None,
2468+
disconnected_user_ids: Optional[Union[str, Sequence[str]]] = None,
2469+
**kwargs,
2470+
) -> Union[Future, SlackResponse]:
2471+
"""Updates the connection status between an app and many users in one call, for backfilling an existing user base.
2472+
2473+
https://docs.slack.dev/reference/methods/apps.user.connection.bulkUpdate
2474+
"""
2475+
if isinstance(connected_user_ids, (list, tuple)):
2476+
kwargs.update({"connected_user_ids": ",".join(connected_user_ids)})
2477+
else:
2478+
kwargs.update({"connected_user_ids": connected_user_ids})
2479+
if isinstance(disconnected_user_ids, (list, tuple)):
2480+
kwargs.update({"disconnected_user_ids": ",".join(disconnected_user_ids)})
2481+
else:
2482+
kwargs.update({"disconnected_user_ids": disconnected_user_ids})
2483+
return self.api_call("apps.user.connection.bulkUpdate", params=kwargs)
2484+
2485+
def apps_user_connection_requestAuth(
2486+
self,
2487+
*,
2488+
primary_provider: Union[str, Dict[str, Any]],
2489+
trigger_id: Optional[str] = None,
2490+
user_id: Optional[str] = None,
2491+
**kwargs,
2492+
) -> Union[Future, SlackResponse]:
2493+
"""Opens or updates a standardized authentication modal for the calling app.
2494+
2495+
https://docs.slack.dev/reference/methods/apps.user.connection.requestAuth
2496+
"""
2497+
kwargs.update({"trigger_id": trigger_id, "user_id": user_id})
2498+
if isinstance(primary_provider, str):
2499+
kwargs.update({"primary_provider": primary_provider})
2500+
else:
2501+
kwargs.update({"primary_provider": json.dumps(primary_provider)})
2502+
return self.api_call("apps.user.connection.requestAuth", params=kwargs)
2503+
24642504
def tooling_tokens_rotate(
24652505
self,
24662506
*,

0 commit comments

Comments
 (0)