Your Dojobux CRM is now a fully multi-tenant SaaS platform with complete data isolation, business management, and tenant-aware email sending.
Automatic tenant detection from impersonation, subdomain, user session, or primary business
All entities filtered by business_id - each tenant sees only their own data
Optional business-specific SendGrid API keys via SenderProfile entity
super_admin, business_owner, manager, staff roles with proper permissions
Master tenant with branding, quotas, settings
Per-business email configs + optional SendGrid keys
Added: business_id, user_role, business_access, current_business_id
Added business_id to: Lead, Campaign, Task, CallLog, Note, Deal, SupportTicket, Automation, EmailTemplate, CampaignEmail
Central console for managing all businesses
4-step wizard with auto-seeding
Backfill existing data with business_id
Interactive testing suite
Architecture documentation
This page!
Dropdown to switch between businesses
Tenant resolution, impersonation, role checks
Uses getTenantContext(), filters by business_id
Tenant-filtered queries & creates
All mutations include business_id
Tenant-filtered callbacks & tasks
Tenant-filtered campaigns & creates
Tenant-filtered + SendGrid API key field
Tenant-filtered email history
Passes sender_profile_id for tenant email keys
Now checks SenderProfile for business-specific SendGrid API keys
Shows BusinessSelector on marketing pages
2
New Entities
12
Entities Updated
6
New Pages
10+
Pages Updated
Go to Super Admin → Create Business and set up "Dojobux CRM" as your master tenant
Use the Migration Helper to backfill all existing leads, campaigns, tasks, etc. with the master business_id
Use the Validation Dashboard to verify tenant isolation and data integrity
Create a second business to verify data isolation and multi-tenancy features
In Marketing Settings → Sender Profiles, add business-specific SendGrid API keys for complete email isolation
Your single-tenant CRM is now a powerful multi-tenant SaaS platform. Each business gets complete data isolation, custom branding, and independent email configurations.