Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ontora.com/llms.txt

Use this file to discover all available pages before exploring further.

Ontora’s pipeline is built around three layers:
  1. Conversation layer — voice or chat interviews conducted by an autonomous agent.
  2. Knowledge layer — transcripts processed through chunking, embedding, and entity extraction into Postgres + Neo4j.
  3. Insight layer — synthesis outputs (cartography, roadmap, personas) and a GraphRAG query endpoint over the campaign.

Pipeline

When a campaign completes a conversation, a job pipeline kicks off:
INTERVIEW_COMPLETED
  ├─► CHUNK_DOCUMENT  (sentence-boundary, 1000 chars, 200 overlap)
  │     └─► EMBED_CHUNKS  (text-embedding-3-small → pgvector)
  └─► EXTRACT_ENTITIES_RELATIONS  (gpt-4o-mini → JSON)
        └─► UPSERT_GRAPH  (Neo4j, deduped by stable keys)
              └─► SYNTHESIZE  (cartography + roadmap + personas)
                    └─► webhook: synthesis.completed
Every stage is idempotent and retried up to 3× with exponential backoff.

Multi-tenancy

Every record carries a workspace_id. API keys are workspace-scoped — there is no cross-workspace data access. See Workspaces.

What gets stored

StoreHoldsUsed for
Postgres (pgvector)Documents, chunks, embeddings, jobs, conversationsVector search, transactional state
Neo4jEntities (Person, Topic, Process), relationsGraph traversal during GraphRAG
Object storageRaw transcripts, audioExport endpoints

Three integration surfaces

The same data is exposed through three interfaces, all backed by the same workspace API key:
  • REST API — request/response for programmatic integration
  • MCP server — tool-calling interface for AI agents
  • CLI — terminal and CI-friendly wrapper around the REST API
Pick whichever fits your environment; mix them freely.