SuperBot for Slack is a powerful Slack bot that integrates with SuperAgent AI. It's developed using TypeScript and can be easily deployed using AWS Lambda functions or any other containerized environment using Docker.
Follow these step-by-step instructions to deploy SuperBot for Slack:
-
Clone the Repository:
git clone https://github.com/superagent-ai/slack-bot
-
Set Up Environment Variables: Copy the
.env.example
file and rename it to.env
. Fill in the following environment variables:SUPERAGENT_AGENT_ID
orSUPERAGENT_WORKFLOW_ID
: ID of your SuperAgent AI agent or workflow.SUPERAGENT_API_BASE_URL
: Base URL for the SuperAgent API.SUPERAGENT_API_KEY
: Superagent API Key.SLACK_SIGNING_SECRET
: Signing secret of your Slack app.SLACK_BOT_TOKEN
: Bot token of your Slack app.
- Create a workflow on the Superagent workflows page.
- Add your Workflow ID as
SUPERAGENT_WORKFLOW_ID
in .env - Create a new API key on the Superagent API Keys page and
- Add the API Key as
SUPERAGENT_API_KEY
in .env
- Create a Slack app on the Slack API page -->
From App Manifest
--> Select your Workspace --> Copy the manifest.yaml and paste it to Slack's code editor - Go to
Basic Information
-> Copy & Add the secret asSLACK_SIGNING_SECRET
to.env
--> ClickInstall To Workspace
button - Go to
OAuth & Permissions
--> Copy theBot User OAuth Token
and add it asSLACK_BOT_TOKEN
in .env - OPTIONAL: Go Back to Slack --> Click on your Profile picture --> Profile --> Click on 3 dots (in the right panel) --> Copy member ID
& add it as
SLACK_ADMIN_MEMBER_ID
in .env
-
Deployment:
You will need to add the environment variables in the Vercel or Railway dashboard after deploying. (See Step 3)
Want to deploy another platform? Build and deploy the Docker image using the following command:
docker build -t superagent-slack-bot . docker run -p 8000:8000 superagent-slack-bot
-
Setting Up Slack Events:
- After successful deployment, copy the
/events
endpoint URL. - Enable events in Slack's
Event Subscriptions
. - Subscribe to
app_mention
events and set the Request URL to the Lambda URL. - Create a new slash command
/help
and set the Request URL to the Lambda URL ending with/commands
.
- After successful deployment, copy the