Getting Started
Install and configure Askify in your Slack workspace
Prerequisites#
Before installing Askify, ensure you have:
- Admin access to your Slack workspace
- Node.js 22 or higher installed (for self-hosting)
- PostgreSQL database (we recommend Supabase for easy setup)
Installation#
Askify is a self-hosted Slack bot. Follow these steps to get it running:
1. Clone the Repository
bash
git clone https://github.com/jnahian/askify-bot.git
cd askify-bot
npm install2. Configure Environment Variables
Copy the example environment file and fill in your credentials:
bash
cp .env.example .envYou'll need to configure these variables:
- SLACK_BOT_TOKEN - Bot OAuth token (xoxb-...)
- SLACK_SIGNING_SECRET - Request signing secret
- SLACK_APP_TOKEN - App-level token for Socket Mode (xapp-...)
- DATABASE_URL - PostgreSQL connection string
3. Set Up Database
bash
npm run prisma:migrate
npm run prisma:generate4. Create Slack App
Follow these steps in your Slack workspace:
- Go to api.slack.com/apps and create a new app
- Enable Socket Mode and generate an app-level token
- Add the /askify slash command
- Enable Interactivity
- Add bot token scopes: chat:write, commands, channels:read, users:read, im:write
- Subscribe to bot events: app_home_opened, message.im
- Install to your workspace
5. Run Askify
bash
npm run devFor production deployment, use 'npm run build' followed by 'npm start'. See the Deployment guide for Docker instructions.
First Poll#
Once Askify is running, create your first poll in any Slack channel:
bash
/askifyThis opens the poll creation modal. Configure your poll settings and click Create!
Next Steps#
Now that Askify is installed, explore these guides:
- Learn about the four poll types
- Master all slash commands
- Configure voting settings and scheduling
- Save polls as templates for quick reuse