Use this checklist before launching Growstack CRM in production or after upgrading to a new version.
Pre-Launch
Infrastructure
- PHP 8.2+ with required extensions
- Database backup completed
- SSL/HTTPS configured
- Cron job configured:
* * * * * php artisan schedule:run - Queue worker running (if using queued notifications)
- File permissions set (storage, bootstrap/cache writable)
Deployment
-
php artisan migrate --forcecompleted - CRM seeders run (Module, LeadSource, Pipeline, Permissions, Notifications)
-
php artisan crm:migrate-legacy-datarun (upgrades only) -
npm run buildcompleted -
php artisan optimize:clearrun -
.env—APP_NAME=CRM - Logo and favicon uploaded in Settings → General
- Demo data removed from production (
CrmDemoSeedernot run on prod)
CRM Core Features
Contacts & Accounts
- Create contact manually
- Edit contact details
- Create account and link contacts
- Contact 360° view loads related records
- Log activity (note, call) on contact — appears in timeline
Leads
- Create lead from admin
- Submit contact form on frontend → lead appears in admin
- Submit service inquiry → lead created
- Submit quote request → contact and lead linked
- Filter leads by status and source
- Assign lead to sales rep → notification sent
Lead Conversion
- Convert lead → contact created with correct data
- Convert lead → deal created in default pipeline
- Lead status changes to "Converted"
- Converted lead links visible on lead show page
Deals & Pipeline
- Create deal manually
- Pipeline Board (Kanban) loads with stage columns
- Drag deal between stages — stage updates
- Move deal to Won — status and metrics update
- Move deal to Lost — status updates
- Deal won notification sent to team
Dashboard & Reports
- CRM dashboard loads at
/admin/crm - KPI widgets show correct counts
- Pipeline funnel chart renders
- Lead sources chart renders
- Reports page loads at
/admin/crm/reports - CSV export downloads correctly
Permissions & Roles
- Admin role has all CRM permissions
- Sales Manager can view/edit but not delete
- Sales Rep sees only own records (if configured)
- User without CRM permissions cannot access
/admin/crm - CRM menu hidden when module disabled
API & Integrations
- Create Sanctum API token
-
GET /api/crm/contactsreturns data with token -
POST /api/crm/leadscreates lead -
POST /api/crm/leads/{id}/convertconverts lead -
POST /api/public/leadscreates lead (no auth) - Rate limiting works on public endpoint (10/min)
- Inbound webhook creates lead (
POST /api/public/webhooks/leads) - Outbound webhook fires on deal won (if
CRM_WEBHOOK_URLset) - CSV import contacts works
- CSV export contacts/leads/deals works
Module Integration
- Quote linked to contact on Contact 360° view
- Ticket linked to contact on Contact 360° view
- Appointment linked to contact on Contact 360° view
- Order linked to contact (if e-commerce enabled)
-
php artisan crm:migrate-legacy-datalinks existing data (upgrades)
Client Portal
- Public homepage shows CRM landing (not e-commerce widgets)
-
/loginand/registerwork - Client dashboard shows only enabled modules
- Disabled module routes return 404 (e.g.,
/productswhen products disabled) - Client can view tickets, appointments, quotes
Notifications & Scheduler
-
lead_assignednotification delivered -
deal_stage_changednotification delivered -
deal_wonnotification delivered -
php artisan crm:send-activity-remindersruns without errors - Activity due notification sent for overdue tasks
Module Toggle
- Disable CRM module → menu hidden, routes return 404
- Re-enable CRM module → menu and routes restored
- Re-enable CMS module (e.g., Blog) → blog accessible again
Launch Day
- Deploy code to production
- Run migrations
- Run legacy data migration (if upgrading)
- Clear all caches
- Verify admin login → CRM dashboard
- Verify contact form → lead creation
- Smoke test 3 API endpoints
- Monitor error logs for 48 hours
Post-Launch
- Gather team feedback on Kanban and Contact 360°
- Review lead capture sources in reports
- Plan v2.1: email integration, duplicate merge, advanced reports
Related Documentation
Last updated: June 2026
← All GrowStack – CRM Software for Sales, Customer Management & Business Growth documentation