Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@
* [#590](https://github.com/slack-ruby/slack-ruby-client/pull/590): Add format, include_threads, and include_attachments arguments to slackLists.download.start and slackLists.download.get - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).
* [#590](https://github.com/slack-ruby/slack-ruby-client/pull/590): Add exclude_muted argument to users.conversations - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).
* [#590](https://github.com/slack-ruby/slack-ruby-client/pull/590): Add new error codes to errors.rb and update slack-api-ref submodule - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).
* [#597](https://github.com/slack-ruby/slack-ruby-client/pull/597): Add admin.conversations.bulkSetProperties method for bulk-setting channel properties - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).
* [#597](https://github.com/slack-ruby/slack-ruby-client/pull/597): Add admin.usergroups.removeTeams method for removing default workspaces from an organization-wide IDP Group or Admin Group - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).
* [#597](https://github.com/slack-ruby/slack-ruby-client/pull/597): Add unfurl_app_links argument to chat.postMessage - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).
* [#597](https://github.com/slack-ruby/slack-ruby-client/pull/597): Remove required team_id argument from admin.users.session.invalidate - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).
* [#597](https://github.com/slack-ruby/slack-ruby-client/pull/597): Add AgentsSessions and AppsManagedPermissions endpoint modules for agents.sessions and apps.managedPermissions methods - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).
* [#597](https://github.com/slack-ruby/slack-ruby-client/pull/597): Increase conversations.invite users limit from 100 to 1000 - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).
* [#597](https://github.com/slack-ruby/slack-ruby-client/pull/597): Add new Slack API error codes - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).
* Your contribution here.

### 3.2.0 (2026/07/05)
Expand Down
4 changes: 2 additions & 2 deletions bin/commands/admin_analytics_messages.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class App
c.flag 'oldest_ts', desc: 'Oldest timestamp to include in the results. Defaults to 7 days before current time. If not passed while still passing the latest_ts parameter, defaults to 7 days before latest_ts.'
c.flag 'latest_ts', desc: 'Most recent timestamp to include in results. Defaults to current time. If not passed while still passing the oldest_ts parameter, defaults to 7 days after oldest_ts.'
c.flag 'cursor', desc: "Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection."
c.flag 'limit', desc: 'Maximum number of entries to return. The maximum limit is 100.'
c.flag 'limit', desc: 'Maximum number of entries to return. Defaults to 50 if not passed. Max allowed is 100.'
c.action do |_global_options, options, _args|
puts JSON.dump(@client.admin_analytics_messages_activity(options))
end
Expand All @@ -25,7 +25,7 @@ class App
c.flag 'channel', desc: 'Channel ID for channel containing the messages to query.'
c.flag 'oldest_ts', desc: 'Oldest timestamp to include in the results.'
c.flag 'latest_ts', desc: 'Most recent timestamp to include in the results. If not passed, defaults to current time.'
c.flag 'cursor', desc: "Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection. See pagination for more details."
c.flag 'cursor', desc: "Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection. See pagination for more detail."
c.action do |_global_options, options, _args|
puts JSON.dump(@client.admin_analytics_messages_metadata(options))
end
Expand Down
10 changes: 10 additions & 0 deletions bin/commands/admin_conversations.rb
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,16 @@ class App
end
end

g.desc 'Set properties on channels in bulk.'
g.long_desc %( Set properties on channels in bulk. )
g.command 'bulkSetProperties' do |c|
c.flag 'channel_ids', desc: 'An array of channel IDs on which to set the property.'
c.flag 'property', desc: 'The property for this channel in a key value format. Only one property can be updated at a time.'
c.action do |_global_options, options, _args|
puts JSON.dump(@client.admin_conversations_bulkSetProperties(options))
end
end

g.desc 'Convert a public channel to a private channel.'
g.long_desc %( Convert a public channel to a private channel. )
g.command 'convertToPrivate' do |c|
Expand Down
2 changes: 1 addition & 1 deletion bin/commands/admin_functions.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class App
g.command 'list' do |c|
c.flag 'team_id', desc: 'The team context to retrieve functions from.'
c.flag 'app_ids', desc: 'Comma-separated array of app IDs to get functions for; max 50.'
c.flag 'include_non_distributed_functions', desc: 'Whether to also include functions that are not yet distributed to any users in the function count. This is needed for admins that are approving an app request and will only work if the team owns the app.'
c.flag 'include_non_distributed_functions', desc: 'Whether to also include functions that are not yet distributed to any users in the function list. This is needed for admins that are approving an app request and will only work if the team owns the app.'
c.flag 'cursor', desc: 'Set cursor to next_cursor returned by the previous call to list items in the next page.'
c.flag 'limit', desc: 'The number of results that will be returned by the API on each invocation. Must be between 1 and 1000, both inclusive.'
c.action do |_global_options, options, _args|
Expand Down
10 changes: 10 additions & 0 deletions bin/commands/admin_usergroups.rb
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,16 @@ class App
puts JSON.dump(@client.admin_usergroups_removeChannels(options))
end
end

g.desc 'Remove one or more default workspaces from an organization-wide IDP Group or Admin Group.'
g.long_desc %( Remove one or more default workspaces from an organization-wide IDP Group or Admin Group. )
g.command 'removeTeams' do |c|
c.flag 'usergroup_id', desc: 'An encoded usergroup (IDP Group) ID.'
c.flag 'team_ids', desc: 'A comma separated list of encoded team (workspace) IDs. Each workspace MUST belong to the organization associated with the token.'
c.action do |_global_options, options, _args|
puts JSON.dump(@client.admin_usergroups_removeTeams(options))
end
end
end
end
end
Expand Down
1 change: 0 additions & 1 deletion bin/commands/admin_users_session.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ class App
g.desc 'Revoke a single session for a user. The user will be forced to login to Slack.'
g.long_desc %( Revoke a single session for a user. The user will be forced to login to Slack. )
g.command 'invalidate' do |c|
c.flag 'team_id', desc: 'ID of the workspace that the session belongs to.'
c.flag 'user_id', desc: 'ID of the user that the session belongs to.'
c.flag 'session_id', desc: 'ID of the session to invalidate.'
c.action do |_global_options, options, _args|
Expand Down
38 changes: 38 additions & 0 deletions bin/commands/agents_sessions.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# frozen_string_literal: true
# This file was auto-generated by lib/tasks/web.rake

module Slack
module Cli
class App
desc 'AgentsSessions methods.'
command 'agents_sessions' do |g|
g.desc 'Rename an agent session.'
g.long_desc %( Rename an agent session. )
g.command 'rename' do |c|
c.flag 'channel_id', desc: 'ID of the channel containing the agent session. Required for public channels.'
c.flag 'title', desc: 'New title for the agent session (1-200 characters). For a session channel, this also renames the channel.'
c.flag 'thread_ts', desc: 'Timestamp of the thread root message the session is scoped to. Required for thread-based sessions in regular channels and DMs. Must be omitted for session channels.'
c.action do |_global_options, options, _args|
puts JSON.dump(@client.agents_sessions_rename(options))
end
end

g.desc "Set an agent session's lifecycle status, creating the session if needed."
g.long_desc %( Set an agent session's lifecycle status, creating the session if needed. )
g.command 'setStatus' do |c|
c.flag 'channel_id', desc: 'ID of the channel containing the agent session. Required for public channels.'
c.flag 'status', desc: 'The lifecycle status to set.'
c.flag 'thread_ts', desc: 'Timestamp of the thread root message the session is scoped to. Required for thread-based sessions in regular channels and DMs. Must be omitted for session channels.'
c.flag 'title', desc: 'Title for the agent session (max 200 characters). Only used when creating a new session; ignored if the session already exists. To rename an existing session, use agents.sessions.rename.'
c.flag 'initiator_user_id', desc: 'The user who initiated the session. Only used when creating a new session; ignored if the session already exists. Must be a member of the channel.'
c.flag 'icon_emoji', desc: "Emoji to use as the agent's icon. Takes priority over icon_url. Remains in effect until you clear it (pass null) or set a new value. Requires the chat:write.customize scope."
c.flag 'icon_url', desc: "URL to an image to use as the agent's icon. Remains in effect until you clear it (pass null) or set a new value. Requires the chat:write.customize scope."
c.flag 'username', desc: 'Display name override for the agent (max 200 characters). Remains in effect until you clear it (pass null) or set a new value. Requires the chat:write.customize scope.'
c.action do |_global_options, options, _args|
puts JSON.dump(@client.agents_sessions_setStatus(options))
end
end
end
end
end
end
21 changes: 21 additions & 0 deletions bin/commands/apps_managed_permissions.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# frozen_string_literal: true
# This file was auto-generated by lib/tasks/web.rake

module Slack
module Cli
class App
desc 'AppsManagedPermissions methods.'
command 'apps_managed_permissions' do |g|
g.desc "Set who can interact with a managed app. Lets the builder who created a managed app on a partner platform configure the app's permissions as themselves, using a user token from the manager app. Permissions can only be set before the app is installed: if the app is already installed, this method makes no change and returns the app's current permissions."
g.long_desc %( Set who can interact with a managed app. Lets the builder who created a managed app on a partner platform configure the app's permissions as themselves, using a user token from the manager app. Permissions can only be set before the app is installed: if the app is already installed, this method makes no change and returns the app's current permissions. )
g.command 'set' do |c|
c.flag 'app_id', desc: 'Encoded ID of the managed app to configure.'
c.flag 'permissions', desc: "Who can interact with the app. Use everyone to allow all members, or app_owner to restrict access to the app's owner."
c.action do |_global_options, options, _args|
puts JSON.dump(@client.apps_managed_permissions_set(options))
end
end
end
end
end
end
2 changes: 1 addition & 1 deletion bin/commands/assistant_threads.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class App
g.long_desc %( Set suggested prompts for the given assistant thread )
g.command 'setSuggestedPrompts' do |c|
c.flag 'channel_id', desc: 'Channel ID containing the assistant thread.'
c.flag 'thread_ts', desc: 'Message timestamp of the thread to set suggested prompts for.'
c.flag 'thread_ts', desc: 'Message timestamp of the thread to set suggested prompts for. If not provided, the prompts will be set for the latest message in the channel.'
c.flag 'prompts', desc: 'Each prompt should be supplied with its title and message attribute.'
c.flag 'title', desc: 'Title for the list of provided prompts. For example: Suggested Prompts, Related Questions.'
c.action do |_global_options, options, _args|
Expand Down
9 changes: 5 additions & 4 deletions bin/commands/chat.rb
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ class App
c.flag 'unfurl_links', desc: 'Pass true to enable unfurling of primarily text-based content.'
c.flag 'unfurl_media', desc: 'Pass false to disable unfurling of media content.'
c.flag 'username', desc: "Set your bot's user name."
c.flag 'unfurl_app_links', desc: 'Pass true to unfurl links from installed apps, or false to prevent app links from unfurling. When omitted, app links follow the unfurl_links setting.'
c.action do |_global_options, options, _args|
puts JSON.dump(@client.chat_postMessage(options))
end
Expand Down Expand Up @@ -144,13 +145,13 @@ class App
g.desc 'Starts a new streaming conversation.'
g.long_desc %( Starts a new streaming conversation. )
g.command 'startStream' do |c|
c.flag 'channel', desc: 'An encoded ID that represents a channel thread or DM.'
c.flag 'channel', desc: 'An encoded ID that represents a channel, thread, or DM.'
c.flag 'chunks', desc: 'Array of streaming chunks.'
c.flag 'markdown_text', desc: 'Accepts message text formatted in markdown. Limit this field to 12,000 characters.'
c.flag 'thread_ts', desc: "Provide another message's ts value to reply to. Streamed messages should always be replies to a user request."
c.flag 'thread_ts', desc: "Provide another message's ts value to reply to. Omit it to stream a top-level message instead of a thread reply; this is only supported in channels where the whole channel is one session, such as Slack Code, and returns invalid_thread_ts elsewhere. Passing '0' is equivalent to omitting it."
c.flag 'recipient_user_id', desc: 'The encoded ID of the user to receive the streaming text. Required when streaming to channels.'
c.flag 'recipient_team_id', desc: 'The encoded ID of the team the user receiving the streaming text belongs to. Required when streaming to channels.'
c.flag 'task_display_mode', desc: "Specifies how tasks are displayed in the message. A timeline displays individual tasks with text in sequential order, plan displays all tasks together, with the first tasks's placement determining the placement of the rest of the tasks, and dense collapses consecutive tool calls into a single summarized task card."
c.flag 'task_display_mode', desc: 'Specifies how tasks are displayed in the message. timeline task updates render as individual task cards interleaved with streamed text. plan task updates render together in a plan block.'
c.flag 'icon_emoji', desc: 'Emoji to use as the icon for this message. Overrides icon_url.'
c.flag 'icon_url', desc: 'Image URL to use as the icon for this message.'
c.flag 'username', desc: "The bot's username to display."
Expand Down Expand Up @@ -178,7 +179,7 @@ class App
g.command 'unfurl' do |c|
c.flag 'channel', desc: 'Channel ID of the message. Both channel and ts must be provided together, or unfurl_id and source must be provided together. Required for public channels.'
c.flag 'ts', desc: 'Timestamp of the message to add unfurl behavior to. Required for public channels.'
c.flag 'unfurls', desc: 'URL-encoded JSON map with keys set to URLs featured in the the message, pointing to their unfurl blocks or message attachments. Required for public channels.'
c.flag 'unfurls', desc: 'URL-encoded JSON map with keys set to URLs featured in the message, pointing to their unfurl blocks or message attachments. Required for public channels.'
c.flag 'user_auth_message', desc: 'Provide a simply-formatted string to send as an ephemeral message to the user as invitation to authenticate further and enable full unfurling behavior. Provides two buttons, Not now or Never ask me again.'
c.flag 'user_auth_required', desc: 'Set to true or 1 to indicate the user must install your Slack app to trigger unfurls for this domain.'
c.flag 'user_auth_url', desc: 'Send users to this custom URL where they will complete authentication in your app to fully trigger unfurling. Value should be properly URL-encoded.'
Expand Down
2 changes: 1 addition & 1 deletion bin/commands/conversations.rb
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ class App
g.command 'invite' do |c|
c.flag 'channel', desc: 'The ID of the public or private channel to invite user(s) to.'
c.flag 'force', desc: 'When set to true and multiple user IDs are provided, continue inviting the valid ones while disregarding invalid IDs. Defaults to false.'
c.flag 'users', desc: 'A comma separated list of user IDs. Up to 100 users may be listed.'
c.flag 'users', desc: 'A comma separated list of user IDs. Up to 1000 users may be listed.'
c.action do |_global_options, options, _args|
puts JSON.dump(@client.conversations_invite(options))
end
Expand Down
4 changes: 4 additions & 0 deletions lib/slack/web/api/endpoints.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
require_relative 'endpoints/admin_workflows_collaborators'
require_relative 'endpoints/admin_workflows_permissions'
require_relative 'endpoints/admin_workflows_triggers_types_permissions'
require_relative 'endpoints/agents_sessions'
require_relative 'endpoints/api'
require_relative 'endpoints/apps'
require_relative 'endpoints/apps_activities'
Expand All @@ -45,6 +46,7 @@
require_relative 'endpoints/apps_datastore'
require_relative 'endpoints/apps_event_authorizations'
require_relative 'endpoints/apps_icon'
require_relative 'endpoints/apps_managed_permissions'
require_relative 'endpoints/apps_manifest'
require_relative 'endpoints/apps_user_connection'
require_relative 'endpoints/assistant_search'
Expand Down Expand Up @@ -151,6 +153,7 @@ module Endpoints
include AdminWorkflowsCollaborators
include AdminWorkflowsPermissions
include AdminWorkflowsTriggersTypesPermissions
include AgentsSessions
include Api
include Apps
include AppsActivities
Expand All @@ -159,6 +162,7 @@ module Endpoints
include AppsDatastore
include AppsEventAuthorizations
include AppsIcon
include AppsManagedPermissions
include AppsManifest
include AppsUserConnection
include AssistantSearch
Expand Down
Loading
Loading