Platform
Persistent memory
for voice AI agents
Two API calls. Sub-200ms latency. Your voice agents remember every caller, every conversation, every detail — across every call.
<200ms
Retrieval latency
Voice-grade speed
99%
Retrieval accuracy
Hybrid search + re-ranking
2
API calls to integrate
Sync + Context
0
Infrastructure to manage
Fully managed API
Core Capabilities
Built for voice AI from the ground up
Every feature designed for the unique requirements of real-time voice conversations.
Intelligent fact extraction
Extracts atomic facts from call transcripts. Names, preferences, issues, and commitments — filler and greetings automatically discarded.
Contradiction detection
When a caller updates their info ("actually, my new address is..."), memory updates intelligently. Always current, never cluttered.
Hybrid search
Semantic + keyword matching with re-ranking for 99% retrieval accuracy. Finds the right memories even with vague queries.
Per-caller isolation
Every phone number or caller ID gets a completely isolated memory space. No data leaks between callers. Ever.
Voice-grade latency
Sub-200ms retrieval designed for real-time voice. Memory loads before the AI even starts speaking. No awkward pauses.
Multi-format ingestion
Send call transcripts, JSON messages, audio files, or PDFs. Automatic transcription and fact extraction from any format.
Real-time webhooks
Get notified when memories change. Trigger CRM updates, analytics events, or follow-up workflows automatically.
Data portability
Export all memories as JSON or CSV anytime. Your data, no lock-in, full portability. GDPR-friendly by design.
Integration
Two endpoints. Five minutes to integrate.
Works with Vapi, Retell AI, Bland AI, Twilio, ElevenLabs, or any custom voice stack. No infrastructure to provision.
After call → Save memories
When a call ends, send the transcript. Orthanc extracts facts (name, preferences, issues, commitments), deduplicates, and stores. Returns immediately.
// After call ends — sync the transcript
await fetch('/api/sync', {
method: 'POST',
headers: { 'Authorization': 'Bearer sk_...' },
body: JSON.stringify({
userId: callerPhone, // +1234567890
messages: callTranscript
})
})Before call → Retrieve context
When a call starts, fetch the caller's memories. Inject into the AI system prompt. Your voice agent now has full context. Sub-200ms.
// Incoming call — get caller context
const { memories } = await fetch('/api/context', {
method: 'POST',
headers: { 'Authorization': 'Bearer sk_...' },
body: JSON.stringify({
userId: callerPhone,
messages: [{ role: 'user',
content: 'incoming call' }]
})
}).then(r => r.json())
// → "Sarah Johnson, last called Jan 15
// about billing dispute, refund processed"Compatibility
Works with your existing stack
Orthanc is platform-agnostic. It works with any voice AI platform that exposes call transcripts or webhooks.
Vapi
Add persistent memory to Vapi voice agents via function calling or post-call webhooks.
Retell AI
Integrate with Retell's webhook system to store and retrieve memories per caller.
Bland AI
Give cold calling agents memory of previous conversations and prospect details.
Twilio Flex
Enrich call center AI with persistent customer context from every interaction.
ElevenLabs
Add memory to ElevenLabs conversational AI for personalized voice experiences.
Custom stacks
Any voice system that produces transcripts. WebSocket, REST, or webhook integration.