Before you create your Slack app bundle, make sure that you set up your SFDX project.
Your SFDX project looks like this.
project
|_myslackapp
|_config
|_ project-scratch-def.json
|_force-app/main/default/
|_ classes/
|_ createMyRecord.cls
|_ createMyRecord.cls-meta.xml
|_ permissionsets/
|_ SlackPerms.permissionset-meta.xml
|_ slackapps/
|_ MySlackApp.slackapp
|_ MySlackApp.slackapp-meta.xml
|_ viewdefinitions/
|_ my_message.view
|_ my_message.view-meta.xml
|_package.json
|_sfdx-project.json
A Slack app bundle in the force-app/main/default/ directory includes:
- Apex classes containing command logic in
classes/- Action handlers
- Event handlers (for
onclickand other events) - Shortcut handlers
- Slash command handlers
- Data providers
- Permission set in
permissionsets/ - SlackApp metadata in
slackapps/ - ViewDefinition metadata in
viewdefinitions/