Use Cases
Memory for every
voice AI use case
Your callers shouldn't have to repeat themselves. See how Orthanc gives voice AI agents persistent memory across every industry and every call.
AI Receptionists
The Problem
Your AI receptionist answers the phone, but every call starts from zero. Returning patients, repeat clients, ongoing cases — it treats them all like strangers.
The Solution
Orthanc remembers every caller across every call. Past appointments, preferences, open issues — your AI receptionist greets returning callers like a real receptionist would.
"I already told you my appointment was moved to Friday."
// After each call — sync the transcript
await orthanc.sync({
userId: callerPhone,
messages: callTranscript
});
// Next call from same number
const { memories } = await orthanc.context({
userId: callerPhone,
messages: [{ role: 'user', content: 'incoming call' }]
});
// → "Returning patient. Last visit: Jan 15.
// Appointment rescheduled to Friday 10am.
// Insurance: Aetna. Prefers morning slots."Outbound Sales
The Problem
Your AI sales agent calls a prospect three times. Each time, it re-introduces itself, asks the same questions, and loses all credibility. Prospects hang up.
The Solution
Orthanc stores everything from every call — objections, interest level, budget, timeline. Your AI picks up exactly where it left off, building real rapport across multiple touches.
"Didn't I already tell you our budget last week?"
// After discovery call
await orthanc.sync({
userId: prospectPhone,
messages: discoveryCallTranscript
});
// Follow-up call — AI remembers everything
const { memories } = await orthanc.context({
userId: prospectPhone,
messages: [{ role: 'user', content: 'follow-up call' }]
});
// → "Prospect: Mark, VP Engineering at Acme.
// Budget: $50K. Timeline: Q2. Objection: security.
// Asked for SOC2 cert last call."Customer Support
The Problem
A customer calls back about the same issue for the third time. They have to explain everything from scratch. Again. They're frustrated before the conversation even starts.
The Solution
Orthanc gives your support AI the full history — past tickets, resolutions, promises made, and account details. Callers feel heard from the first word.
"This is the third time I'm calling about this."
// Customer calls back about shipping issue
const { memories } = await orthanc.context({
userId: customerPhone,
messages: [{ role: 'user',
content: 'calling about my order' }]
});
// → "Order #7823, placed Jan 10. Delayed shipment.
// Last call: Jan 15, promised delivery by Jan 20.
// Customer frustrated — this is 3rd call."Healthcare & Telehealth
The Problem
A patient calls back and the AI has no record of their previous visit, medications, or care instructions. Time is wasted. Context is lost. Care quality drops.
The Solution
Orthanc maintains patient context across every interaction — medications, allergies, care instructions, appointment history — all retrieved in under 200ms when the patient calls.
"The AI didn't know I'm allergic to penicillin."
// Patient calls for follow-up
const { memories } = await orthanc.context({
userId: patientPhone,
messages: [{ role: 'user',
content: 'calling about my prescription' }]
});
// → "Patient: Maria Rodriguez. Last visit: Jan 8.
// Prescribed: Amoxicillin 500mg, 10 days.
// Allergies: Penicillin (mild), Sulfa.
// Follow-up scheduled: Jan 22."Call Centers
The Problem
Your call center handles thousands of calls a day. Agents — human or AI — waste the first two minutes of every call re-establishing context that already exists from previous interactions.
The Solution
Orthanc provides instant caller context before the agent even says hello. Previous interactions, open issues, account status — all loaded in milliseconds.
"Can you pull up my account? I called yesterday about this."
// Incoming call — instant context
const { memories } = await orthanc.context({
userId: callerPhone,
messages: [{ role: 'user', content: 'incoming' }]
});
// Agent screen pops with:
// "Returning caller: James Wilson
// Account: Pro tier, since 2024
// Open ticket: #4521 (billing discrepancy)
// Last contact: Jan 12, promised callback"Legal Intake
The Problem
Your firm uses AI for client intake calls. When clients call back about their case, the AI has no memory of the previous conversation, case details, or what was discussed.
The Solution
Orthanc maintains full case continuity. Previous consultations, case status, document requests, next steps — all instantly available when the client calls back.
"I already gave you all this information last week."
// Client follow-up call
const { memories } = await orthanc.context({
userId: clientPhone,
messages: [{ role: 'user',
content: 'calling about my case' }]
});
// → "Client: Robert Kim. Case: Personal injury.
// Intake call: Jan 5. Attorney: Sarah Chen.
// Docs requested: medical records, police report.
// Status: waiting on medical records."Debt Collection
The Problem
Collection calls span weeks or months. Each call needs context from all previous attempts — payment promises, disputes, hardship claims. Without it, debtors lose trust and hang up.
The Solution
Orthanc tracks the entire collection journey. Payment commitments, dispute reasons, arrangement terms — your AI picks up every call with full history.
"I already told you I set up a payment plan."
// Collection follow-up call
const { memories } = await orthanc.context({
userId: debtorPhone,
messages: [{ role: 'user',
content: 'returning call about account' }]
});
// → "Account #8834. Balance: $2,340.
// Last contact: Jan 10 — agreed to $200/mo plan.
// First payment due: Feb 1. No payment received.
// Previous dispute: billing error (resolved Jan 5)"Insurance Claims
The Problem
Claimants call multiple times throughout a claim process. Each time, the AI asks them to re-explain the damage, the timeline, and their claim number. It feels broken.
The Solution
Orthanc remembers every detail from every interaction — claim status, adjuster info, documents submitted, last update. Your AI handles follow-ups like a real claims agent.
"I've explained this water damage three times now."
// Claimant calls for status update
const { memories } = await orthanc.context({
userId: claimantPhone,
messages: [{ role: 'user',
content: 'checking on my claim' }]
});
// → "Claim #4521, filed Jan 3. Water leak damage.
// Adjuster: Mike. Contractor quote submitted Jan 12.
// Waiting on approval. Last call: Jan 15."