
This is a Slack Agent template built with Bolt for JavaScript (TypeScript) and the Nitro server framework.
Before getting started, make sure you have a development workspace where you have permissions to install apps. You can use a developer sandbox or create a workspace
git clone https://github.com/vercel-partner-solutions/slack-agent-template && cd slack-agent-template && pnpm install
manifest.json into the text box that says "Paste your manifest code here" (JSON tab) and click NextSLACK_BOT_TOKENSLACK_SIGNING_SECRETAI_GATEWAY_API_KEY to your .env file. You can get one hereNGROK_AUTH_TOKEN to your .env file. You can get one hereslack app linkupdate the manifest source to remote select yesLocal when prompted.slack/config.json and update your manifest source to local{"manifest": {"source": "local"},"project_id": "<project-id-added-by-slack-cli>"}
slack run. If prompted, select the workspace you'd like to grant access toyes if asked "Update app settings with changes to the local manifest?"SLACK_BOT_TOKENSLACK_SIGNING_SECRETrequest_url and url fields use https://<your-app-domain>/api/slack/eventsmanifest.jsonmanifest.json is a configuration for Slack apps. With a manifest, you can create an app with a pre-defined configuration, or adjust the configuration of an existing app.
/server/app.ts/app.ts is the entry point of the application. This file is kept minimal and primarily serves to route inbound requests.
/server/listenersEvery incoming request is routed to a "listener". Inside this directory, we group each listener based on the Slack Platform feature used, so /listeners/shortcuts handles incoming Shortcuts requests, /listeners/views handles View submissions and so on.
/serverThis is your nitro server directory. Inside you have an api folder that contains a events.post.ts file. This matches the request URL's defined in your manifest.json file. Nitro uses file based routing for incoming requests. You can learn more about this here.