
The image below shows the systems involved in the application. If you want to use a single Salesforce user (Integration user) for performing all data operations in Salesforce from Slack, check out Salesforce Slack Starter Kit (Server to Server Integration). The project assumes you want to run the Slack App in the Salesforce user context. We also configure environment variables required for local development, debugging, and testing.

Most of Salesforce and Heroku setup tasks are automated to cut down a number of manual configurations required to set up development environments. The scaffold provides configuration files to host and run the app on Heroku. It contains a Slack App implemented using Bolt SDK (Node.js) and it also setups the needed Salesforce data and metadata for managing users and authentication. The scaffolded app follows the monorepo approach. This project helps you to create an opinionated minimum scaffold for building a Slack Apps that integrates Salesforce data using Bolt SDK (Node.js version) and jsforce. Note that Apex SDK for Slack plans to support above features. Multiple salesforce org connections to a single Slack workspace are not supported.

Current Limitationĭo not use this if you are building the Slack app for AppExchange/Slack App Directory If you decide to build a custom Slack App integrated with Salesforce from scratch, this project can help you get started. If you want to become part of the pilot, contact your technical account manager. Be sure to check back Salesforce developer blog regularly for announcements on future milestones of Salesforce Slack SDK. Before looking into this project, we recommend you look into Apex SDK for Slack (currently in pilot for ISVs).
