POC Walkthrough
POC · Google Gemini Enterprise for Customer Experience

Tilicho Credit Assist

A customer-support AI agent for a digital lender — it answers borrowers' loan questions, acts on their account, stays compliant, and helps human agents. Built from code on Google's Gemini Enterprise for Customer Experience, with the official CXAS SCRAPI toolkit.

Gemini Enterprise for CX Built with CXAS SCRAPI 6/6 golden evals Live on Google Cloud

What this is

use case · demo persona

A borrower chats (or talks) to Tilicho Credit Assist about their loan. The demo signs in as one borrower — Asha R., loan TL-1001, verified by loan ID + last-4 phone. Only the loan back-office is a stand-in; everything else is live Google Cloud, and all data is synthetic.

Demo borrower
Asha R.
Loan IDTL-1001
Verify (phone last-4)4417
ProductPersonal Loan
EMI₹8,980
Outstanding₹1,81,240
Late fee (policy)₹500
What it does · how it works
Looks up loan accountsTool calls to the lender's LMS — getAccountSummary, getPayoffQuote — after verifying the borrower (loan ID + last-4 phone).
Raises requestsFiles tickets for restructuring, complaints or KYC via the LMS createTicket tool, and returns a ticket ID + SLA.
Answers policy questionsPulls from the policy documents & terms-and-conditions stored in the Vertex AI RAG corpus, and quotes the exact figures — not world knowledge.
Stays compliantA guardrail blocks legal / tax / investment advice and guaranteed outcomes, replacing them with a safe reply.
Speaks & listens (in chat)Inside the web chat: 🔊 voice out via Google Chirp-3 HD TTS and 🎤 speech-to-text in via the browser (Chrome/Edge) — a feature of the chat, not a separate telephony channel. CES session memory carries context across turns.
Turns chats into insightsEvery conversation auto-ingests into the native Contact Center AI Insights product (real Google ML sentiment + entities); the dashboard surfaces that analysis alongside keyword call-driver breakdowns.

Guided tour

open each live screen in a new tab
01

Conversational agent — tools, grounding, guardrail & voice

The borrower-facing chat: real tool calls, grounded policy answers, compliance, ₹ formatting, transparency tags — plus 🎤 speak / 🔊 listen in-browser (Google Chirp-3 HD voice) as a feature of the chat.

02

Conversational Insights — analytics

Every conversation auto-ingests into Contact Center AI Insights (real Google ML sentiment + entities); the dashboard surfaces it + keyword call-drivers.

Implementation details

built with CXAS SCRAPI · open by design
Live Google Cloud resources
Project
gcex-pilot-16862 · no. 804472053350
CES region
us
CXAS app (built with SCRAPI)
projects/gcex-pilot-16862/locations/us/apps/tilicho-credit-scrapi
RAG corpus (Vertex AI RAG Engine)
projects/804472053350/locations/us-central1/ragCorpora/6713371708595634176
Backend (Cloud Run)
tilicho-credit-api-804472053350.us-central1.run.app
Deployments (channels)
api-serving (API) · web-widget (WEB_UI)
Published version
versions/6a013d7d-889c-470b-b801-42760c1fdd8d
Knowledge base (RAG) & guardrail
Knowledge base · 4 docs → Vertex AI RAG
loan-terms (fees, 2% foreclosure, ₹500 late fee, prepayment), faq, fair-practices, grievance-redressal (SLAs) — chunked, embedded (text-embedding-005) & retrieved by the policy_kb file-search tool. The agent quotes figures from these, never world knowledge.
Guardrail · compliance (LLM policy)
Inspects the agent's own output; blocks legal/tax/investment advice & guaranteed outcomes, while permitting factual policy, fees, rates, EMIs & SLAs. fail-open; on trip it replies with a safe decline + human-handoff offer.
Tested — golden evals
Golden evals (cxas push-eval / run)
6 / 6 behavioral scenarios pass — account lookup, payoff, grounded late-fee, hardship→restructuring, complaint-with-memory, declines-investment-advice.
The code
Source repo
github.com/tl-experiments/cx-lending-agent
Public · code-first & reproducible. Key files below.
cx-lending-agent/ ├─ agent/ │ ├─ provision_scrapi.py ← CXAS SCRAPI build │ ├─ evals/goldens.yaml 6 golden scenarios │ ├─ evals/tool_tests.yaml tool-level assertions │ └─ scrapi_app/ pulled config (linted) ├─ backend/app.py API + 3 UIs + /tour ├─ data/ policy corpus (RAG) ├─ insights/ BigQuery analytics └─ docs/EVALS.md evals + lint writeup
agent/provision_scrapi.py — the SCRAPI build
from cxas_scrapi import Apps, Agents, Tools, Guardrails

t = Tools(APP_NAME)
t.create_tool("servicing", "Servicing API",
   tool_type="open_api_toolset", payload=…)  # REST tools
t.create_tool("policy-rag", "policy_kb",
   tool_type="file_search_tool", payload=…) # RAG
Guardrails(APP_NAME).create_guardrail("compliance", …)
Agents(APP_NAME).create_agent("Credit Assist",
   agent_id="credit-assist", instruction=FULL)
Screens
CES Agent Studio console
ces-console.png
CES Agent Studio console · app tilicho-credit-scrapi
Borrower chat
chat.png
Conversational agent · tools + grounding + guardrail + voice
Insights dashboard
insights.png
Conversational Insights · call-drivers + sentiment
Native Contact Center AI Insights console
cx-insights.png
Native Contact Center AI Insights · sentiment + Quality AI (console)

Architecture

build once · runs per request
▚ built once · provision_scrapi.py · CXAS SCRAPI
CHANNEL
Web chat🎤 speak (browser speech-to-text) · 🔊 listen (Google Chirp-3 TTS) — in-chat
request
CES RUNTIME · GEMINI ENTERPRISE FOR CX
tool call ▾ · grounded reply ▴
TOOLS & BACKENDS
OpenAPI toolset → Cloud Run LMSactions · getAccountSummary · getPayoffQuote · createTicket
File-search → Vertex AI RAGgrounding · policy_kb corpus (cited)
ANALYTICS · EVERY TURNconversation ▸ BigQuery ▸ Contact Center AI Insights (real Google ML sentiment · entities) ▸ dashboard

One control plane. Every borrower turn flows through the Google-managed CES runtime — Understand → Ground → Act → Guard → Respond — calling our tools (actions) and Vertex RAG (grounding), then tapping every turn into Contact Center AI Insights. Click a stage to see what it does. The build plane (CXAS SCRAPI) configures it all once.

Live agent · Insights  —  Prototype by Tilicho Labs.