Case study Meridian Console
One agent, three support platforms, and a balance in a fourth
An owners-association manager handling several thousand Dubai units ran email tickets in Freshdesk, chat in Freshchat, calls in Maqsam, and the financial record in Mollak. Each platform held its own notion of who an agent was.
Services Operations console engineering & multi-platform integration
Category Support operations console
Client Meridian AMS
Stack Next.js · Supabase · Freshdesk · Maqsam · Mollak
Meridian Console
The problem
Four systems, and no way to see one person or one unit.
An agent taking a call about an unpaid invoice had the caller in one tab, the ticket history in another, and the balance in a third.
✓No single view of one agent’s workload across three channels ✓No single view of one unit’s full history ✓Collection performance exported and rebuilt by hand ✓Figures describing the past by the time they existed ✓Vendor status and priority codes that did not agree ✓Owner contact details spread across systems
What it was costing
✓Agents navigating four logins for one conversation ✓Reporting that was an export-and-rebuild exercise ✓Dashboards and reports disagreeing on the same number ✓No way to reach a unit, owner or tenant from one search
Our approach
A console on top, with each platform still the record
Freshdesk stays the record for tickets and Mollak for the financials. The console binds them through one internal agent identity.
✓An agent identity map binding Freshdesk, Freshchat and Maqsam IDs ✓Tickets normalised through a Supabase edge function into one vocabulary ✓Call records carrying sentiment, timings, bilingual summaries and transcripts ✓Property modelled the way Mollak does: group to building to unit to owner ✓Financial metrics computed as a Postgres stored procedure ✓An AI assistant over a read-only MCP server, writes refused at the transport
Core capabilities
What it does now
Roughly fifty thousand lines of TypeScript across twenty-one modules, adopted with no migration.
✓Calls, chats and tickets on a single agent screen ✓Cross-entity search resolving a name, Mollak ID, contract number or email ✓Dashboard and reports reading the same stored calculation ✓Staged reminder engine across WhatsApp, SMS and email ✓Asynchronous report queue with status and download links ✓Role and permission system enforced in the database