Overview
This quick start guide will help you get WhatsApp WAHA Dashboard up and running in your local development environment. You’ll set up your database, connect to WAHA, and create your first campaign.This guide assumes you have basic familiarity with Node.js and command-line tools. For detailed installation instructions, see the Installation Guide.
Prerequisites
Before starting, ensure you have:Node.js 18+
Download from nodejs.org
pnpm
Install with
npm install -g pnpmMongoDB
Local instance or MongoDB Atlas account
WAHA Server
WhatsApp HTTP API server running
Quick Setup
1
Clone and Install
Clone the repository and install dependencies:
2
Configure Environment
Create a
.env file in the root directory with the following configuration:How to get these credentials
How to get these credentials
- DATABASE_URL: Get from MongoDB Atlas or use local MongoDB
- WAHA_API_KEY: Set in your WAHA server configuration
- BETTER_AUTH_SECRET: Generate with
openssl rand -base64 32 - MAILGUN credentials: Sign up at mailgun.com
3
Initialize Database
Generate the Prisma client and push the schema to your database:
This will create all necessary tables in your MongoDB database based on the Prisma schema.
4
Start Development Server
5
Create Your Admin Account
- Open http://localhost:3000/auth
- Click Sign Up and create an account
- Use the email address you configured as
ADMIN_EMAIL - Complete the registration form
The first user with the admin email will automatically receive ADMIN privileges. All other users start as GUEST and require approval.
6
Connect WhatsApp
- Log in to your dashboard
- Navigate to the WhatsApp connection section
- Click Connect WhatsApp
- Scan the QR code with your WhatsApp mobile app:
- Open WhatsApp → Settings → Linked Devices → Link a Device
- Wait for the connection to establish
Verify Your Setup
After completing the setup, verify everything is working:Check Database Connection
Check Database Connection
Run Prisma Studio to view your database:You should see your user account in the database at http://localhost:5555
Verify WhatsApp Connection
Verify WhatsApp Connection
In the dashboard, check that:
- Your session shows as CONNECTED
- Your WhatsApp groups are visible
- Session information displays correctly
Test Notifications
Test Notifications
If configured, you should receive:
- Admin notification when new users register
- Email confirmation for password changes
Create Your First Campaign
Now that everything is set up, create your first message campaign:1
Navigate to Campaign Creation
From the dashboard, click Create Campaign or Schedule Message
2
Select Target Group
Choose a WhatsApp group from your connected groups
3
Compose Message
Write your message. You can use placeholders like
{days_left} for dynamic content4
Schedule Delivery
Set the date and time for message delivery, including timezone
5
Submit Campaign
Review and submit your campaign. It will automatically send at the scheduled time!
Next Steps
Setup Message Scheduler
Deploy the background scheduler for automatic message delivery
User Management
Learn how to manage user registrations and permissions
Campaign Features
Explore advanced campaign management features
Deploy to Production
Deploy your application to Vercel
Troubleshooting
Port 3000 is already in use
Port 3000 is already in use
If port 3000 is occupied, you can change it:Remember to update
BETTER_AUTH_URL in your .env file.Prisma Client errors
Prisma Client errors
If you see Prisma Client errors, regenerate the client:
WhatsApp won't connect
WhatsApp won't connect
Common solutions:
- Verify WAHA server is running
- Check WAHA_API_URL and WAHA_API_KEY are correct
- Ensure your phone has internet connection
- Try restarting the WAHA server
Database connection failed
Database connection failed
- Verify your MongoDB instance is running
- Check DATABASE_URL format is correct
- For MongoDB Atlas, ensure your IP is whitelisted
- Test connection with
pnpm db:push
Getting Help
If you encounter issues:- Check the GitHub Issues
- Review the Installation Guide for detailed setup
- Join our community discussions
- Contact the maintainer @jevil25