unstale

npm / @slack/web-api

@slack/web-api

What changed in @slack/web-api 7 to 8, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-13.

59 breaking1 security7 deprecations52 new APIs and options3 behavior and defaults2 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.3.0 on npm

@slack/web-api 876 changes

Breaking changes 27

  • Removes Member.is_connector_bot from UsersListResponse because users.list does not return it; the flag is surfaced on bots.info.

    8.1.0release notes

  • Removes arg from UsersListResponse because it is an error-response echo field, not part of a successful users.list body.

    8.1.0release notes

  • The adapter option is removed; provide a custom fetch function instead.

    8.0.0upgrade guiderelease notes

  • The AdapterConfig type is removed; provide a custom fetch function instead.

    8.0.0upgrade guiderelease notes

  • The agent option is removed; configure proxies using Node.js proxy support or a custom fetch function.

    8.0.0upgrade guiderelease notes

  • This option is removed, and the original error is now always attached to WebAPIRequestError.

    8.0.0upgrade guiderelease notes

  • Errors are now Error subclasses, enabling instanceof checks, TypeScript narrowing, and descriptive error names.

    8.0.0upgrade guiderelease notes

  • Error names now identify their respective error classes, so filters based on error.name may need updating.

    8.0.0upgrade guiderelease notes

  • This exported factory function was removed; construct the corresponding error class instead.

    8.0.0release notes

  • The deprecated files.upload method is removed; use filesUploadV2 instead.

    8.0.0upgrade guiderelease notes

  • The default HTTP transport now uses the standard Fetch API, with globalThis.fetch as its default implementation.

    8.0.0release notes

  • This factory function was removed; use new WebAPIHTTPError(...) instead.

    8.0.0release notes

  • Node.js 20 or later is required; support for Node.js 18 is dropped.

    8.0.0upgrade guiderelease notes

  • This factory function was removed; use new WebAPIPlatformError(...) instead.

    8.0.0release notes

  • This factory function was removed; use new WebAPIRateLimitedError(...) instead.

    8.0.0release notes

  • The RequestConfig type is removed; use a fetch wrapper instead.

    8.0.0upgrade guide

  • RequestConfig, an alias for Axios' InternalAxiosRequestConfig, was removed entirely.

    8.0.0release notes

  • This factory function was removed; use new WebAPIRequestError(...) instead.

    8.0.0release notes

  • The requestInterceptor option is removed; wrap fetch to intercept or modify requests.

    8.0.0upgrade guiderelease notes

  • The RequestInterceptor type is removed; wrap fetch to intercept or modify requests.

    8.0.0upgrade guiderelease notes

  • The deprecated rtm.start method is removed; use rtm.connect instead.

    8.0.0upgrade guiderelease notes

  • The tls option is removed; configure TLS through a custom fetch function instead.

    8.0.0upgrade guiderelease notes

  • The TLSOptions export is removed; configure TLS through a custom fetch function instead.

    8.0.0upgrade guiderelease notes

  • headers is now Record<string, string> instead of IncomingHttpHeaders, with values always plain strings.

    8.0.0upgrade guiderelease notes

  • The deprecated workflows.stepCompleted method is removed; no replacement is provided.

    8.0.0upgrade guiderelease notes

  • The deprecated workflows.stepFailed method is removed; no replacement is provided.

    8.0.0upgrade guiderelease notes

  • The deprecated workflows.updateStep method is removed; no replacement is provided.

    8.0.0upgrade guiderelease notes

Security 1

  • API response bodies in debug logs are now redacted recursively into nested objects, preventing tokens from leaking when debug logging is enabled.

    8.0.0release notes

Deprecations 3

  • Deprecates alt_text in files.getUploadURLExternal arguments.

    8.3.0release notes

  • Deprecates alt_text; when passed to files.uploadV2, it is still sent as alt_txt.

    8.3.0release notes

  • The interface is deprecated; use instanceof checks with specific error classes instead.

    8.0.0release notes

New APIs and options 43

  • Adds support for apps.user.connection.bulkUpdate.

    8.3.0release notes

  • Adds support for apps.user.connection.requestAuth.

    8.3.0release notes

  • Adds the canvases.getContent method.

    8.3.0release notes

  • Adds the code_channels app manifest feature to manifest types.

    8.3.0release notes

  • Adds the code_channels:manage bot scope to manifest types.

    8.3.0release notes

  • Adds alt_txt to files.getUploadURLExternal arguments.

    8.3.0release notes

  • Adds alt_txt to files.uploadV2 arguments so image alt text is saved.

    8.3.0release notes

  • Adds the optional include_slackbot_availability argument to team.info.

    8.3.0release notes

  • Adds team.slackbot_availability to the team.info response.

    8.3.0release notes

  • Adds the user_connection event to the app manifest types.

    8.3.0release notes

  • Adds the user_connection_status_requested event to the app manifest types.

    8.3.0release notes

  • Adds the auth_hosts field to the user_connections app manifest feature.

    8.3.0release notes

  • Adds the is_enabled field to the user_connections app manifest feature.

    8.3.0release notes

  • Adds a method for archiving Slack Code conversations.

    8.2.0release notes

  • Adds a method for creating Slack Code conversations.

    8.2.0release notes

  • Adds a method for getting a canvas in Slack Code conversations.

    8.2.0release notes

  • Adds a method for listing views in Slack Code conversations.

    8.2.0release notes

  • Adds a method for removing a view from Slack Code conversations.

    8.2.0release notes

  • Adds a method for setting canvas content in Slack Code conversations.

    8.2.0release notes

  • Adds a method for setting commands in Slack Code conversations.

    8.2.0release notes

  • Adds a method for setting Slack Code conversation properties.

    8.2.0release notes

  • Adds a method for setting a view in Slack Code conversations.

    8.2.0release notes

  • Adds support for the admin.users.getExpiration method.

    8.1.0release notes

  • Adds the agent_session response property to message-bearing responses.

    8.1.0release notes

  • Adds the agents.sessions.rename method.

    8.1.0release notes

  • Adds the agents.sessions.setStatus method.

    8.1.0release notes

  • Adds the blocks.validate method.

    8.1.0release notes

  • Adds connector and workflow flags to BotsInfoResponse.

    8.1.0release notes

  • Adds session_status to the chat.stopStream arguments.

    8.1.0release notes

  • Adds grouping, sort, and filter fields to ListView response types.

    8.1.0release notes

  • App manifest types now include the agent_view feature.

    7.19.0, 8.0.0release notesrelease notes

  • App manifest types now include this recent agent event.

    7.19.0, 8.0.0release notesrelease notes

  • App manifest types now include this recent agent event.

    7.19.0, 8.0.0release notesrelease notes

  • App manifest types now include this recent agent event.

    8.0.0release notes

  • App manifest types now include the assistant_view feature.

    7.19.0, 8.0.0release notesrelease notes

  • App manifest types now support optional OAuth scopes for bots.

    8.0.0release notes

  • WebClientOptions accepts a fetch function for custom HTTP transport behavior; without one, the SDK uses globalThis.fetch.

    8.0.0upgrade guiderelease notes

  • A new exported type is available for custom fetch implementations.

    8.0.0release notes

  • A new exported type is available for custom fetch implementations.

    8.0.0release notes

  • A new exported type is available for custom fetch implementations.

    8.0.0release notes

  • A new exported type is available for custom fetch implementations.

    8.0.0release notes

  • App manifest types now include event metadata_subscriptions.

    7.19.0, 8.0.0release notesrelease notes

  • App manifest types now support optional OAuth scopes for users.

    7.19.0, 8.0.0release notesrelease notes

Behavior and default changes 1

  • Request errors populate the standard Error.cause property with the underlying network error; original remains for backward compatibility.

    8.0.0upgrade guide

Fixes and other changes 1

  • Reverts internal packages requiring ESM loading to support backward compatibility.

    8.1.1release notes

@slack/web-api 748 changes

Breaking changes 32

  • TypeScript arguments must provide exactly one of request_id and app_id, and exactly one of enterprise_id and team_id; the latter pair requires one value.

    7.0.0upgrade guide

  • TypeScript arguments for component_type, min_log_level, sort_direction, and source now accept only documented values.

    7.0.0upgrade guideupgrade guide

  • TypeScript arguments no longer allow both request_id and app_id, or both enterprise_id and team_id; one of enterprise_id or team_id is required.

    7.0.0upgrade guide

  • TypeScript entity_type and policy_name arguments are restricted to USER and email_password, respectively.

    7.0.0upgrade guideupgrade guide

  • The argument must be the exact array ['im', 'mpim', 'call'], rather than an arbitrary string array.

    7.0.0upgrade guideupgrade guide

  • TypeScript arguments require nonempty channel_ids, team_ids, and user_ids; org_wide and team_id must follow mutually exclusive constraints.

    7.0.0upgrade guideupgrade guide

  • function_ids must be nonempty, and visibility is restricted to the documented enumeration.

    7.0.0upgrade guideupgrade guide

  • entity_ids and user_ids must be nonempty; sort_dir accepts only asc or desc.

    7.0.0upgrade guideupgrade guide

  • team_discoverability and discoverability accept only documented values, and channel_ids must be nonempty.

    7.0.0upgrade guideupgrade guide

  • channel_ids and user_ids must each contain at least one ID.

    7.0.0upgrade guideupgrade guide

  • team_id and include_deactivated_user_workspaces now have interdependent TypeScript constraints: provide team_id without a true flag, or set the flag true and omit team_id.

    7.0.0upgrade guideupgrade guide

  • TypeScript arguments must provide both team_id and user_id, or neither.

    7.0.0upgrade guideupgrade guide

  • collaborator_ids and workflow_ids must each contain at least one ID.

    7.0.0upgrade guideupgrade guide

  • sort_dir, sort, and source now accept only their listed values rather than arbitrary strings.

    7.0.0upgrade guideupgrade guide

  • Arguments are now required; pass an empty object when there are no arguments to provide.

    7.0.0upgrade guideupgrade guide

  • The manifest argument is now modeled as a detailed object instead of a string.

    7.0.0upgrade guideupgrade guide

  • Arguments are now required; pass an empty object when there are no arguments to provide.

    7.0.0upgrade guideupgrade guide

  • type accepts only link; link is required for bookmarks.add and remains optional for bookmarks.edit.

    7.0.0upgrade guideupgrade guide

  • Message-posting APIs require text, attachments, or blocks; text can be omitted with attachments or blocks. Additional constraints apply to as_user, username, icon_emoji, icon_url, reply_broadcast, and thread_ts.

    7.0.0upgrade guideupgrade guide

  • TypeScript arguments must specify exactly one of channel_id and invite_id.

    7.0.0upgrade guideupgrade guide

  • TypeScript arguments must specify exactly one of emails and user_ids.

    7.0.0upgrade guideupgrade guide

  • TypeScript arguments must specify exactly one of channel and users.

    7.0.0upgrade guideupgrade guide

  • File arguments now require content or file; thread_ts requires a channel argument; files arrays must be nonempty; remote file APIs require exactly one of file and external_id.

    7.0.0upgrade guideupgrade guide

  • The minimum supported and tested Node.js version is now 18.

    7.0.0upgrade guideupgrade guiderelease notes

  • channel and timestamp are required, and file and file_comment are no longer supported arguments.

    7.0.0upgrade guideupgrade guide

  • Arguments must provide channel and timestamp together, or a file ID, or a file_comment ID.

    7.0.0upgrade guideupgrade guide

  • Arguments must provide channel and timestamp together, or a file ID, or a file_comment ID.

    7.0.0upgrade guideupgrade guide

  • Arguments require channel and timestamp together, or a file ID, or a file_comment ID.

    7.0.0upgrade guideupgrade guide

  • Arguments require channel and timestamp together, or a file ID, or a file_comment ID.

    7.0.0upgrade guideupgrade guide

  • change_type now accepts only added, removed, enabled, disabled, or updated rather than arbitrary strings.

    7.0.0upgrade guideupgrade guide

  • Arguments now accept either external_id or view_id, but not both.

    7.0.0upgrade guideupgrade guide

  • TypeScript method arguments no longer accept arbitrary or undocumented properties, and many methods enforce stricter argument combinations.

    7.0.0upgrade guideupgrade guiderelease notes

Deprecations 4

New APIs and options 9

  • Added assistant_thread_started as a recent agent event.

    7.19.0release notes

  • Added bot_optional as an optional OAuth scope.

    7.19.0release notes

  • Adds a public read-only ts getter, allowing developers to fall back to chat.update when a stream expires server-side.

    7.17.0release notes

  • Adds highlight_type to files.completeUploadExternal and filesUploadV2 for optimistic rendering.

    7.16.0release notes

  • Adds the icon_emoji, icon_url, and username authorship arguments, allowing customization of the status message’s icon and displayed username.

    7.15.2release notes

  • Adds the icon_emoji, icon_url, and username authorship arguments, allowing customization of the stream message’s icon and displayed username.

    7.15.2release notes

  • Adds support for the apps.user.connection.update API method.

    7.15.0release notes

  • Supports overriding the token when using fileUploadV2.

    7.0.0release notes

  • All views APIs accept either trigger_id or interactivity_pointer.

    7.0.0upgrade guideupgrade guide

Behavior and default changes 2

  • The thread_ts parameter is now optional when calling assistant.threads.setSuggestedPrompts.

    7.18.0release notes

  • Invocations no longer emit a warning about lack of fallback text.

    7.0.0release notes

Fixes and other changes 1

  • Characters outside the Latin-1 range are URI-encoded in the user-agent header, preventing errors when process.title contains non-ASCII characters.

    7.15.1release notes