Overview
This guide will get Team Inbox deployed and operational in about 30 minutes. We’ll use Railway for the simplest deployment experience.- WhatsApp Business API credentials ready (or follow WhatsApp Setup first)
- GitHub account
- Credit card for Railway (charges after free tier)
Deployment Steps
Step 1: Fork the Repository
Go to GitHub Repository
https://github.com/shadowpint/whatsapp-team-inbox-uiClick Fork
Create Fork
Step 2: Deploy to Railway
Sign up for Railway
Create New Project
Select Your Fork
whatsapp-team-inbox repository you just forkedWait for Build
Step 3: Add PostgreSQL Database
Add Database Service
Wait for Provisioning
Copy Database URL
Step 4: Configure Environment Variables
Open Backend Service
Go to Variables Tab
Add Required Variables
Essential Variables
How to generate VAPID keys
How to generate VAPID keys
How to generate JWT_SECRET
How to generate JWT_SECRET
How to get WhatsApp credentials
How to get WhatsApp credentials
- Phone Number ID (from Meta Business Suite)
- Access Token (from App Dashboard)
- Business Account ID (from App Dashboard)
- Webhook Verify Token (create your own random string)
Step 5: Deploy Frontend
Add Frontend Service
Configure Build
- Build Command:
cd web && npm install && npm run build - Start Command:
cd web && npm start
Add Frontend Environment Variables
Step 6: Run Database Migrations
Access Backend Service Shell
Run Prisma Migration
Verify Success
Step 7: Create Admin User
Generate Password Hash
Create User in Database
Step 8: Configure WhatsApp Webhook
Get Your Backend URL
https://your-backend.railway.appGo to Meta App Dashboard
Add Webhook
- Callback URL:
https://your-backend.railway.app/api/webhook/whatsapp - Verify Token: (the same
WHATSAPP_WEBHOOK_VERIFY_TOKENyou set earlier) - Click “Verify and Save”
Subscribe to Messages
- ✅ messages
- ✅ message_status
Step 9: Test Your Deployment
Open Frontend URL
Log In
Send Test Message
Verify Message Appears
Reply from Inbox
Confirm Receipt
Quick Deployment Checklist
✅ Repository forked
✅ Repository forked
✅ Railway project created
✅ Railway project created
✅ PostgreSQL provisioned
✅ PostgreSQL provisioned
✅ Environment variables configured
✅ Environment variables configured
✅ Database migrated
✅ Database migrated
✅ Admin user created
✅ Admin user created
✅ WhatsApp webhook configured
✅ WhatsApp webhook configured
✅ Test message sent and received
✅ Test message sent and received
Common Deployment Issues
Issue: “Database connection failed”
Solution:- Verify
DATABASE_URLis correctly set - Check PostgreSQL service is running in Railway
- Ensure no typos in connection string
Issue: “WhatsApp webhook verification failed”
Solution:- Verify
WHATSAPP_WEBHOOK_VERIFY_TOKENmatches in both:- Railway environment variables
- Meta App Dashboard webhook settings
- Check backend service is accessible (visit backend URL in browser)
Issue: “Messages not appearing in inbox”
Solution:- Check WhatsApp webhook is subscribed to “messages” field
- Verify backend logs in Railway (look for webhook events)
- Ensure
WHATSAPP_PHONE_NUMBER_IDis correct - Check WebSocket connection (open browser dev tools → Network)
Issue: “Can’t log in”
Solution:- Verify admin user was created in database
- Check password hash was generated correctly
- Ensure
JWT_SECRETis set in backend environment - Try creating user again with fresh password hash
Issue: “Push notifications not working”
Solution:- Verify VAPID keys are correctly set
- Check service worker is registered (browser dev tools → Application → Service Workers)
- Ensure HTTPS is enabled (Railway provides this automatically)
- Test notification permission in browser settings
Next Steps
First Setup Guide
Invite Team Members
User Guide
Troubleshooting
Alternative Deployment Options
This guide used Railway for simplicity. For other deployment options:Deploy to AWS
Deploy to DigitalOcean
Self-Hosted
Get Help
- Community Support: GitHub Discussions
- Professional Deployment: Contact us for paid deployment service
- FAQ: Common Questions