← work
SCB 10X·2024

Customer Support Copilot

An AI copilot that helped CS agents resolve tickets in under 5 minutes, down from 42. Built for Thailand's largest bank in financial services.

roleproduct manager (0→1)
teamcross-functional · ~8 people
stackLangChain · Pinecone · LangFuse · Salesforce
industryfinancial services

88%

faster resolution

< 5 min

avg. ticket time

87%

agent satisfaction

150

agents deployed

the problem was human-shaped

SCB 10X is the innovation arm of Siam Commercial Bank, Thailand's largest financial institution. Their customer support team handled thousands of inquiries daily. Forgotten passwords, cross-bank transfer disputes, policy questions. All manually.

The pain was everywhere:

  • 42-minute average resolution time, and that's not counting tickets that needed days of follow-up across departments.
  • Conversations weren't recorded or summarized. Agents had to write up tickets by hand after each chat, and sometimes they just didn't. Information got lost.
  • Agents kept switching between the chat interface and the bank's knowledge base in Salesforce, trying to find the right policy while customers sat there waiting.

🕰️This was late 2023, about a year after GPT launched. RAG was brand new. There were no best practices, no playbooks for building this stuff in production, and definitely not in Thai.

what we actually built

Not a chatbot, a copilot. That distinction matters. We were in banking, under heavy regulation. AI couldn't talk to customers directly. So instead of replacing agents, we made them faster.

copilot chat interface

auto-generated ticket summary

Due to enterprise confidentiality, actual product screens can't be shared. These interactive mockups were built to demonstrate the experience. Conversations are in Thai (the product's native language) with English translations.

how it works

1

Customer contacts support

Through the bank's chat channel. Business as usual.

2

Agent opens the copilot

Starts the conversation in our interface alongside the bank's existing tools.

3

AI suggests 3 replies in real time

Pulled from the bank's Salesforce knowledge base through a RAG pipeline. Policies, troubleshooting guides, regulatory docs.

4

Human reviews & edits

The agent picks a suggestion, tweaks it if needed, and sends. Human-in-the-loop, always.

5

Auto-generated summary & to-dos

After the conversation, the system creates a ticket summary and next-step list, stored in Salesforce. No more forgotten tickets.

under the hood

The RAG pipeline searched across the bank's entire knowledge base. Everything from password reset guides to cross-bank transfer policies to Thai-specific regulatory edge cases.

LangChain

orchestration & prompt routing

Pinecone

vector DB for semantic search

LangFuse

observability & tracing

Salesforce

knowledge source & output

System architecture diagram

🔒PII was handled through a redaction layer. Sensitive customer data was masked before anything hit the LLM, then re-injected after. Non-negotiable when you're dealing with people's money.

what i actually did

went to the CS office

I didn't just take requirements from the project owner. I went to the CS office and sat with the agents, watched how they juggled tools, where they got stuck, how they handled weird edge cases. Then I mapped all of that out so the engineering team had something real to build from.

shaped the product strategy

The decision to build a copilot instead of a chatbot came from regulation, trust, and common sense. AI in banking needs a human in the loop. I worked with engineers on when to show suggestions, how to route queries, and when the model should just stay quiet.

built the eval framework from scratch

There was no off-the-shelf way to evaluate RAG in late 2023. So we built our own. Automated retrieval tests, LLM evaluation against a golden dataset I put together with the CS leads, and a feedback survey from the agents themselves.

navigated a dual trust problem

Corporate leadership wanted AI but didn't trust AI. I had to build the case for investment while being honest about limitations. The CS team was skeptical about a tool that might replace them. I had to show them it was there to help, not take their jobs.

challenges

no playbook existed

RAG was brand new. Chunking strategies, embedding approaches, retrieval tuning, all figured out through trial and error. Things that are standard practice now were genuinely unknown territory.

the data wasn't ready

The bank's knowledge base wasn't clean or structured for RAG. We spent a lot of time just cleaning and restructuring the data before the system could find anything useful.

Thai is brutal for LLMs

Most models in late 2023 were optimized for English. Thai is non-whitespace-delimited with complex morphology. Getting accurate retrieval and natural-sounding Thai out of the model was way harder than an equivalent English system.

high-stakes regulated environment

Every design choice had to factor in financial regulations, data privacy, and the fact that a bad answer could mess with someone's actual money.

many internal AI tools never make it past pilot.

this one deployed to 150 agents, cut resolution time by 88%, and eliminated forgotten tickets entirely.