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 install

2. Configure Environment Variables

Copy the example environment file and fill in your credentials:

bash
cp .env.example .env

You'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:generate

4. Create Slack App

Follow these steps in your Slack workspace:

  1. Go to api.slack.com/apps and create a new app
  2. Enable Socket Mode and generate an app-level token
  3. Add the /askify slash command
  4. Enable Interactivity
  5. Add bot token scopes: chat:write, commands, channels:read, users:read, im:write
  6. Subscribe to bot events: app_home_opened, message.im
  7. Install to your workspace

5. Run Askify

bash
npm run dev

First Poll#

Once Askify is running, create your first poll in any Slack channel:

bash
/askify

This 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