We built key modules of Teilor's enterprise CRM platform — a customer support case management system with integrated Mediatel VoIP call center, where incoming calls automatically route to the right customer case through real-time WebRTC telephony embedded directly in the browser.
The challenge
Teilor's growing retail operation needed a unified CRM that could handle everything from customer support tickets to sales orders, product catalogs, and analytics — but the most critical gap was their contact center. Support agents were juggling between a separate phone system and their CRM, manually looking up customers during calls, losing context between interactions, and struggling with no unified view of a customer's communication history. The platform needed a fully integrated VoIP call center embedded in the CRM itself — where an incoming call automatically identifies the customer, opens their case history, tracks call duration and disposition codes, and logs everything in a unified activity timeline alongside emails, comments, and reminders. All of this running in the browser via WebRTC, with agent status management, queue routing, and missed call tracking.
Our solution
We engineered the Cases module and Mediatel VoIP integration as part of Teilor's OPAL CRM platform, built on Quasar 2 with Vue 3 and TypeScript. The Cases module spans 37 components delivering a complete ticket management system — case creation with type, category, reason, and priority classification, spam probability detection, status tracking through resolution, and assignment to agents, stores, or business units. Each case features a rich activity timeline that consolidates emails with attachments, call records with duration, internal comments, scheduled reminders, and system logs into a single chronological view. The Mediatel VoIP integration embeds a full call center workstation in the browser through 22 components and a WebRTC/SIP interop layer. Agents authenticate into the phone system, manage their availability status, and handle inbound and outbound calls — all without leaving the CRM. When a call arrives, the system performs an instant phone-to-case lookup, automatically surfacing the customer's profile and case history before the agent even picks up. Call disposition codes, queue management with language preferences, transfer capabilities, and missed call counters round out the telephony experience. TanStack Vue Query handles all server state with caching and background refetching, Pinia manages complex local state across both modules, and shadcn-vue with Tailwind CSS delivers a polished enterprise interface. The broader CRM platform includes sales order management, a product catalog with variants and attributes, opportunity and lead tracking, workflow automation, invoicing, analytics dashboards powered by ECharts and FusionCharts, an email template builder with GrapesJS, and document management.
Results
- Built 37-component case management system with full ticket lifecycle and activity timeline
- Integrated Mediatel VoIP call center with WebRTC telephony running entirely in the browser
- Engineered automatic phone-to-case routing that surfaces customer history on incoming calls
- Implemented agent workstation with status management, queue routing, and call disposition tracking
- Delivered unified activity timeline consolidating emails, calls, comments, and reminders per case
- Built spam detection, priority classification, and multi-level assignment for support tickets
- Deployed enterprise CRM with sales orders, product catalog, leads, invoicing, and analytics dashboards