orgAuthorize option when initializing App. If you used this option previously, you must use authorize instead for both single workspace installs and org wide app installs. See the migration guide to learn more! (#730) - thanks @stevengillInstallationStore.fetchOrgInstallation() or InstallationStore.storeOrgInstallation(). If you used these previously, you must use InstallationStore.fetchInstallation() and InstallationStore.storeInstallation() instead. See the migration guide to learn more! (#730) - thanks @stevengillApp, use the socketMode: true option to choose connecting to Slack without an HTTP server (:wave: goodbye managing ngrok). In order to use Socket Mode, you must first enable it for your app’s configuration (https://api.slack.com/apps → Your App → Socket Mode).
SocketModeReceiver class. This receiver allows your app to receive events from Slack over a WebSocket connection.App, conditionally check for when you’re not in production (e.g. process.NODE_ENV !== '``production``' ) to set developerMode: ```true`. Developer Mode currently enables debug logging, enables SocketMode, adds a custom failure handler for OAuth, and outputs the body of every incoming request. (#714, #742) - thanks @stevengillHTTPReceiver is the new default receiver for App. This will allow Bolt for JavaScript apps to more easily work with other popular web frameworks (Hapi.js, Koa, etc). (#670, #753) - thanks @aoberoi
ExpressReceiver is still available to use for those of you that have usecases which aren’t covered by HTTPReceiver.requestListener property to selectively send it requests. This property follows the exact function signature as the first argument to Node’s built-in http.createServer(), so it’s very flexible. It will throw an HTTPReceiverDeferredRequestError, with a req and res property if it was not able to handle a given request.app.start() . This method now takes TLS options as its second parameter (after the port). The simplest example of starting an HTTP server is app.start(3000, { key: MY_TLS_KEY, cert: MY_TLS_CERT }). (#234, #658) - thanks @aoberoiFetched April 3, 2026