Krayin CRM is a self-hosted, open-source customer relationship management platform built on Laravel (PHP) and Vue.js, offering end-to-end customer lifecycle management for small to large businesses. It provides modular sales, marketing, support, and analytics tools with extensible architecture, enabling organizations to customize workflows without vendor lock-in. The platform supports multi-tenant SaaS deployments, WhatsApp and VoIP integrations, and AI-driven automation, all while being fully self-hostable on Apache or NGINX with PHP 8.3+.
Built as a Laravel package with a modular design, Krayin CRM leverages the Laravel ecosystem for backend logic and Vue.js for its dynamic admin interface. It supports MySQL 8.0.32+, offers Docker-based deployment, and includes a cloud-hosted option for managed infrastructure. Developers can extend functionality via official extensions like Multi-Tenant SaaS, WhatsApp integration, and VoIP calling, making it suitable for both technical teams and non-technical business users seeking full control over their CRM data and infrastructure.
What You Get
- Modular Sales Management - Track leads, deals, and forecasts with customizable pipelines, stages, and probability-based revenue forecasting.
- Custom Fields & Attributes - Add unlimited custom fields to contacts, products, and deals to adapt the CRM to unique business processes without code.
- Multi-Tenant SaaS Extension - Deploy a single CRM instance serving multiple isolated tenants with separate data, branding, and user access controls.
- WhatsApp CRM Integration - Generate and manage leads directly from WhatsApp messages via official extension, enabling two-way messaging within the CRM interface.
- VoIP CRM Integration - Make and receive calls over broadband using integrated VoIP, with call logging, inbound routing, and call analytics in the CRM dashboard.
- AI-Powered Automation - Automate workflows with AI-driven features including lead scoring, ticket classification, customer intent prediction, and AI chatbot support.
- Email & Campaign Automation - Send personalized email sequences with tracking, A/B testing, and analytics powered by Sendgrid integration.
- Access Control List (ACL) - Define granular user roles and permissions to restrict access to records, modules, and actions based on team responsibilities.
- Product & Inventory Management - Create and manage products/services with pricing, inventory tracking, and integration into lead and deal workflows.
- Activity Management - Log and track all customer interactions including calls, meetings, notes, and tasks with reminders and team assignments.
Common Use Cases
- Running a multi-client SaaS CRM platform - A software vendor uses Krayin’s Multi-Tenant SaaS extension to offer a branded CRM product to multiple small businesses from a single codebase with isolated data.
- Managing high-volume customer support for e-commerce - An online retailer integrates WhatsApp and VoIP to capture and route customer inquiries directly into Krayin CRM, reducing response time and improving satisfaction.
- Automating lead nurturing for B2B sales teams - A SaaS company uses AI-powered sales intelligence and email automation to score leads, prioritize follow-ups, and convert prospects based on behavior.
- Centralizing customer data for educational institutions - IIMA and UNILAVRAS use Krayin CRM to track alumni engagement, program participants, and communication history across departments without third-party tools.
Under The Hood
Architecture
- Modular design based on Webkul packages with PSR-4 autoloading, enabling independent development and reuse of CRM components
- Konekt Concord integrates modular service providers, allowing packages to extend core functionality without code modification
- Repository pattern via prettus/l5-repository decouples data access from controllers, enhancing testability and maintainability
- Dependency injection through Laravel’s service container ensures loose coupling between modules
- Clear separation of concerns with domain-specific packages handling business logic, while the Vue frontend remains API-driven and decoupled
- Leverages Laravel’s native patterns (Factories, Seeders, Sanctum) with minimal boilerplate, promoting scalability through package-based extensibility
Tech Stack
- Laravel 12.x as the foundational framework with Sanctum for API authentication and UI scaffolding
- Modular package architecture using Webkul namespaces and Concord for centralized service provider management
- Vite 5.x with Laravel Vite Plugin for efficient frontend asset bundling, paired with Vue.js for dynamic admin interfaces
- Pest PHP and PHPUnit for testing, supported by Laravel Sail for consistent containerized development environments
- Composer-driven dependency management with custom repositories and autoloading for modular extensions
- StyleCI and Pint enforce consistent code formatting across PHP, JavaScript, and CSS files
Code Quality
- Extensive end-to-end UI tests using Playwright, but lacking unit and integration tests for core business logic
- Consistent naming conventions and type annotations in models, though controllers and services lack strict typing
- Minimal error handling with no custom exceptions or structured logging, relying on default Laravel behavior
- No static analysis or linting tools configured, reducing early detection of code issues
- Test assertions focus on UI visibility rather than data integrity or state validation, indicating shallow test coverage
What Makes It Unique
- Extensible view events system enables deep UI customization without template overrides, supporting plugin-based extensions
- Dynamic Vue component integration via Blade template literals creates a seamless server-client UI architecture
- Unified component library with reusable form controls and shimmer placeholders enforces consistent UX across modules
- Event-driven UI hooks allow third-party packages to inject content into core admin views without modification
- Admin interface combines Blade components and Vue.js in a tightly coupled yet encapsulated way, avoiding traditional SPA complexity
- Custom form and layout directives act as a domain-specific language for admin UI development, unique in the Laravel ecosystem