CSE HOMEWORK ·Customer Success Engineer (Mandarin), Retell AI
ⓘ Independent job-application page. Not affiliated with, endorsed by, or operated by Retell AI. Public data as of 30 September 2026.

Homework for my application to Retell AI.

How I would take Mandarin-speaking customers from first call to production on Retell, and the deployment desk I built against the Retell API to do it.

35
disconnection reasons mapped to a fix owner
1
Chinese locale for Mandarin (zh-CN), plus yue-CN
5
docs discrepancies found while building
3
reply scripts: EN, 简体, 繁體
00

Summary

The company

Retell reports $80M ARR with a team of 50, up from $5M at the start of 2025. Customers include CVS/Aetna, American Airlines, Lenovo and Grab (8 SEA countries).

The job

Get Mandarin-speaking enterprise customers live and keep them live: build agents with them, debug the seams (SIP, webhooks, custom LLMs, latency), and turn what breaks into product input.

The work sample

A deployment desk on the Retell API: call triage with bilingual replies, a live webhook inbox with signature checks, a custom-LLM WebSocket probe, and an agent audit.

TakeawayWhy it matters for this seat
Most failures sit at a seam the customer ownsOf the 26 disconnection reasons that are not normal endings, 13 point at the customer's trunk, server, client or data, 6 at carriers or callees, and 4 at Retell. The first reply should already say which side owns the fix.
Chinese coverage is one localeMandarin runs on zh-CN everywhere; Taiwan and Hong Kong customers get Simplified-script output and need Cantonese split out. Expectation-setting starts at the kickoff call.
Greater-China calling is BYO SIPRetell's supported outbound list has no China, Taiwan, Hong Kong or Singapore, so those deployments ride the customer's own trunk. SIP skills decide time to live.
This month moves the groundThe legacy SIP host retired and billing moved to prepaid credits on 30 September; the v2 browser SDK is deprecated on 18 October. Early tickets will come from these.
01

Retell in 2026

A YC W24 voice-agent platform that sells both self-serve and enterprise. The CSE sits where self-serve depth meets enterprise telephony.

SurfaceWhat a customer configuresWhere it breaks
AgentSingle prompt, multi prompt or conversation flow; Retell LLM or a custom LLM over WebSocket; voice, language, speech settings.Prompt length (paid on every turn), language mix, tool calls announced but never made.
TelephonyRetell numbers (Twilio, Telnyx), imported numbers, elastic SIP trunks, CCaaS (Five9, Genesys, Avaya).Trunk auth, country restrictions, transfers, one-way audio.
IntegrationWebhooks (call_started, call_ended, call_analyzed), inbound webhook for routing, function calls, knowledge base.Signature checks, duplicate deliveries, timeouts, the wrong API key.
OperationsConcurrency (20 by default, burst at +$0.10/min for the whole call), batch calling, AI QA, alerting.concurrency_limit_reached on batch launches; bills that jump with long prompts.

Status history, last 6 months: 13 incidents. The two September postmortems name a custom-LLM WebSocket init race (5 Sep) and a half-rolled deploy that put two workers on one call (16 Sep).

02

Competitive map

What a customer evaluating Retell is comparing, and what the CSE has to defend in a deployment.

PlayerPositionPublic priceGap vs Retell
VapiDeveloper orchestration, bring your own providers$0.05/min platform plus pass-through; HIPAA add-on $2,000/monthMore assembly; HIPAA is paid where Retell's BAA is self-serve
Bland AIOwn models, enterprise outbound$0.12 to $0.14/min, call caps on lower tiersCaps and fewer model choices
ElevenLabs AgentsVoice-quality leaderPlan minutes, overage about $0.08/minThinner CCaaS and SIP integrations; Retell resells its voices
SynthflowNo-code, SMB and agenciesEnterprise from $30K/yearLess developer depth
Parloa, PolyAIManaged enterprise contact centre (EU, UK)CustomParloa offers EU data residency, which Retell does not; both are services-heavy
Sierra, DecagonAgent platforms, outcome pricingCustomChat-first or big-enterprise only; voice is one channel
LiveKit Agents, Pipecat, OpenAI RealtimeBuild-it-yourself primitivesToken or open sourceNo hosted QA, flows or telephony operations
Chinese stacks (Volcano Engine, Alibaba, iFlytek)Domestic voice AINot publicStronger mainland compliance and dialects; weaker global telephony for companies calling abroad

Where Retell wins a Mandarin deal: a company headquartered in Greater China calling customers across SEA, the US and LatAm, needing global telephony, CCaaS hooks and a self-serve BAA, with a Mandarin-speaking engineer on its side of the call.

03

The Mandarin book of business

Retell names growth with enterprise customers in China. The deployments behind that land in four markets, each with its own traps.

MarketScript and speechTelephonyWhat I set up at kickoff
Mainland HQ, calling abroadSimplified; MandarinDestination country rules apply; the team works in Beijing timeAsync handover notes in 简体, a shared glossary, and an overlap window agreed on day one
TaiwanTraditional; Taiwan Mandarin vocabulary+886 is off the supported outbound list: BYO SIPSay up front that transcripts and summaries come back in Simplified under zh-CN; plan a conversion step
Hong Kong, MacauTraditional; Cantonese firstBYO SIPA separate yue-CN agent (Platform or MiniMax voice), routed by number or menu
Singapore, MalaysiaSimplified; Mandarin mixed with English and MalaySingapore is BYO SIP; Malaysia has Retell numbersMultilingual zh-CN plus en-US on an ASR that code-switches (Deepgram or Soniox); test code-switched scripts

Sources: docs language support, multilingual agents ("will mix them up frequently" on Cantonese and Mandarin), international calling.

★

Findings from building the desk

Small gaps I hit while coding against the public docs and API. Each one is the kind of thing that turns into a customer ticket.

FindingEvidenceSuggested fix
The List Calls page points to a get-call path that returns 404The note on List Calls says to fetch transcripts with GET /v1/get-call/{call_id}. That route answers 404 "Cannot GET"; /v2/get-call/{call_id} is the live one.Change the note to /v2.
Two pages disagree on v2/list-callsList Calls says "there is no v2/list-calls". The API overview uses POST /v2/list-calls as its example, and that route still answers (401 without a key).Point the overview example at /v3/list-calls.
The disconnection table and the API enum differDebug call disconnection documents network_blocked; the OpenAPI enum has no such value. The enum has manual_stopped; the table does not.Sync both. Typed SDK users will not see network_blocked.
Speech providers: three on one page, four on anotherThe ASR provider page names Azure, Deepgram and Soniox; the language-support page adds an AssemblyAI column.Add AssemblyAI to the provider page.
Compliance lists differThe homepage lists ISO 27001 alongside HIPAA, SOC 2 Type II and GDPR; the docs compliance page lists HIPAA, GDPR and SOC 2 only.Align the two, since security reviews quote both.

Try it: the desk's Custom LLM tab grades a WebSocket server against the protocol (a correct reference server and one with three classic bugs are built in), and the Webhooks tab shows a signature pass and a failure end to end with no Retell account.

04

The JD duties, and my plan for each

JD dutyHow I would do itDetailed in
Support technical onboarding and deploymentKickoff checklist per market (§03): language and script, telephony path, webhook and signature, concurrency for launch day, data storage setting, BAA if health data.§03, §07
Help customers launch and scale AI voice agentsStaged launch: 20 test calls, then 5% of traffic, then full. Watch e2e p90, error reasons and sentiment per stage in the call list.§07
Build trusted relationships with customer engineering teamsWork in their language and their channel (WeChat, Lark, LINE or Slack), send written recaps in 简体 or 繁體 after every call, and answer with evidence.§06
Build AI voice agents alongside customersPair on prompts and flows; keep prompts short (billed and slower above 4,000 tokens); one agent per language where accuracy matters.§03
Design conversation flows and deployment strategiesConversation flow for regulated scripts (collections, health), single prompt for open Q&A; transfers with a staffed fallback.§05
Debug APIs, webhooks, SIP, telephony, auth, integrations, latencyReason code first, then the per-component latency, then logs or PCAP. The desk automates the first two.★, §05
Work directly in customer codebasesWebhook handlers (raw-body verification), custom-LLM servers (response_id, ping_pong, text frames), E.164 normalisation in their CRM sync.§05
Identify product gaps; translate needs into improvementsOne structured note per gap with affected accounts and call IDs. First candidates: a Traditional-script output option and a zh-TW locale.§03, §06
Help customers launch new use cases; expand adoptionAfter a stable inbound launch: outbound reminders via batch calling, AI QA on 100% of calls, then SMS follow-ups.§07
05

The first five tickets I expect

Built from the docs, the status history and recurring community threads.

TicketWhat I check, in orderLikely cause and fixEscalate?
"Our Taiwan agent writes transcripts in Simplified and sounds mainland" (我們的客服記錄都是簡體字)Agent language, voice provider, a sample transcriptzh-CN is the only Mandarin locale. Convert script downstream, choose a voice that suits Taiwan callers, set expectations.Product note with affected accounts
Outbound to +886 or +65 fails on the customer's own trunkdisconnection_reason, destination country list, trunk logs for the SIP responseDestination not enabled, or trunk credentials (telephony_provider_permission_denied).Only if the country list needs a change
Inbound went dead on 30 SeptemberTrunk origination targetStill pointing at the retired legacy SIP host; move it to sip.retellai.com.No
"Webhook signature always fails"Raw body vs parsed, which key, timestamp ageBody re-serialised before verifying, or a key without the webhook badge.No
"The agent goes silent after the greeting" on a custom LLMdisconnection_reason, then a probe of the WebSocket URLcontent_complete sent as a string, wrong response_id, or no /{call_id} route.No; pair in their code
06

Escalation standard

One packet to engineering

call_id, agent_id and version, direction and numbers, start time in UTC, disconnection_reason, e2e and component latency, public_log_url, twilio_call_sid when present, customer impact (how many calls, since when), what was already tried. The desk fills it from a call.

One reply to the customer

What happened, who owns the fix, the next step and when they hear back. Written in the customer's script:

简体: 通话 call_… 未接通,原因是号码格式运营商无法识别。请使用完整的 E.164 格式,例如 +8613812345678。

繁體: 通話 call_… 未接通,原因是號碼格式電信業者無法識別。請使用完整的 E.164 格式,例如 +886912345678。

07

First 30 / 60 / 90 days

WindowWorkMeasure
Days 1 to 30Shadow deployments; take the Mandarin queue; build a zh glossary and reply library in 简体 and 繁體; audit every Mandarin account's agents and numbers.First response within one PT or Asia business day; every escalation packet complete
Days 31 to 60Own two enterprise launches end to end; write kickoff checklists per market; file the Traditional-script and zh-TW product notes with account evidence.Time from kickoff to first production call; error-reason share under 2% at launch
Days 61 to 90Expand launched accounts into a second use case (outbound reminders, AI QA); publish Mandarin docs for the top ticket classes.Minutes growth per account; repeat-ticket rate on documented classes
08

Method & sources

Built from the public job posting (2026), Retell's docs, OpenAPI spec, pricing and status pages, the retell-sdk source, and the public community forum, all read on 30 September 2026. API route behaviour was checked with an invalid key only. The demo is my own tool, built for this application; it reads a Retell account only when its owner pastes a key, and sample mode uses synthetic data.

Docs: disconnection reasons · latency · custom LLM

Webhooks: secure the webhook · retell-sdk

Languages: language support · multilingual

Company: about · Grab partnership · status

Pricing: retellai.com/pricing · concurrency

Demo: retell-cse.leverlabs.workers.dev

Independent homework for the Retell AI Customer Success Engineer (Mandarin) role · 2026 · edwardtay.com