AI Support Agent for a Sri Lankan Telecom Operator
Designed and built the staff console for a trilingual AI support agent at a Colombo telecom operator: a dashboard of containment and satisfaction, every conversation with its tool calls and guardrail events, a live monitor where team leads take over a chat, and a handoff queue that makes sure no customer passed to a person is lost.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, all conversations, conversation detail, live monitor and handoffs. Every one of the 28 demo conversations opens its own transcript with the tool calls, citations and guardrail events inline.
Outage check, line diagnostics, bill view and explanation, eligible plans, plan change, technician booking, goodwill credit, complaint logging and handoff. Every call shows its input, duration, result and the verification level at the time.
General, billing, technical, Sinhala-speaking, Tamil-speaking, vulnerability and complaints, each with waiting count and agents online. Waiting time turns amber after 5 minutes and red after 10.
Chats in Sinhala, Tamil and English, in native script and romanised, with 16 handoffs across waiting, with an agent, callback and failed, 4 active outages and 5 QA reviews.
Randiya's contact centre took about 38,000 contacts a day, over half of them the same five questions about outages, higher bills, slow internet, plan changes and technician visits. The old chatbot was an English-only menu tree that could not see the account and ended most chats with "please call the hotline". Customers writing in Sinhala, Tamil or romanised "Singlish" got nowhere, agents made every customer repeat themselves, and complaints raised in chat were never logged as complaints.
Pahana answers in the customer's language from approved knowledge, checks outages, tests the line, explains bills, changes plans and books technicians through tools that each require the right level of verification. It says plainly that it is an AI, recognises complaints and vulnerable customers, and hands off to a person with a full summary. The staff console shows every answer, tool call and guardrail event, and lets team leads step in live.
A telecom support agent touches accounts, bills and complaints in three languages, under data protection and telecom regulation. Every answer has to be grounded, every action authorised, and every customer who needs a person has to reach one.
Sinhala and Tamil are Sri Lanka's official languages and English is the link language, and many customers type romanised text with no standard spelling. Policy wording such as credits, contract terms and complaint handling may only come from approved translations, or the chat goes to a person who speaks the language.
Showing a bill or changing a plan needs a one-time code to the registered number, plus a knowledge check for plan changes and technician bookings. Because SIM swap fraud defeats SMS codes, a SIM change in the last 72 hours blocks verification and routes the chat to a person.
A language model can offer a refund nobody approved. Pahana may only apply goodwill credits Randiya's credit policy allows, such as a pro-rata credit for a confirmed outage over 24 hours capped at LKR 1,500 per bill, and must only quote prices from the published plan catalogue.
TRCSL generally expects customers to complain to their operator first, so every complaint Pahana recognises needs a reference number and the escalation route. Signs of bereavement, illness, hardship or distress route to the vulnerability team, and a risk to life shows helpline numbers and escalates at once.
Mapped 10 roles, from the customer and support agents to QA reviewers, the vulnerability team, knowledge managers, the AI product owner and the data protection officer, and 37 screens: 6 customer chat screens and 31 staff screens. Defined the data model for conversations, messages, tool calls, confirmations, handoffs, complaints, care cases, guardrail events, knowledge and versioned agent releases, and wrote down the rules the design follows: Sri Lanka's PDPA, TRCSL complaint handling, official languages, step-up verification and Randiya's credit policy.
Built the staff console's 5 key screens on a production dashboard kit: the dashboard with KPIs, conversations by hour against the weekday average, top topics, needs attention and active outages; all conversations with filters and a quick view; the conversation detail with transcript, tool call inspector and customer context; the live monitor with take over, whisper note and hand off now; and the handoff queue with re-route, retry and callback. All actions run on local state.
The customer chat in the Randiya app and website, a language model such as Anthropic Claude with a translation fallback, vector search over approved knowledge, and integrations with billing and CRM, the outage feed, line diagnostics, the SMS gateway, the helpdesk and field service. Staff auth by role, an append-only audit log, the remaining staff screens for review, care, complaints, knowledge, guardrails, releases, analytics and data requests, and a decision with counsel on where the model may run under the PDPA's limits on transfers abroad.
The transcript shows each tool call as a row with its input, duration and result, and each guardrail event as an amber note, such as a refund promise above the credit policy that was blocked and rewritten. Knowledge citations sit under every answer, so a reviewer sees why Pahana said what it said.
The dashboard lists risk-to-life escalations first, then care cases waiting for a specialist, guardrail breaches, failed knowledge syncs and answer gaps. The live monitor sorts conversations with vulnerability signals, negative sentiment and waiting customers above the rest.
Every handoff carries Pahana's summary of the issue, what was tried and what the customer wants, plus the customer context it saw. Failed handoffs get their own tab with a retry, so a customer passed to a person is never quietly dropped.
Mobile numbers show as 07X XXX 4821 and NIC numbers stay masked. Revealing customer details needs a reason and is a logged action, and whisper notes and internal notes are never sent to the customer.

Designed and built a clickable cloud contact centre for a Panama City health insurer's member services line: an AI voice agent that says it is automated, verifies callers and handles claim status and card replacement, an agent desktop with live transcript, suggested answers, secure card payments and AI call summaries, and review tools for every AI-handled call.

Designed and built a clickable feedback and NPS platform for a national airline based at Addis Ababa Bole: event-triggered surveys in six languages, translated and tagged comments, detractor follow-up cases with SLAs and goodwill limits, and alerts when a score drops or a topic spikes at a route or station.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab