Skip to documentation

Intake

Bulk import & onboarding

The fastest path from "empty workspace" to "grounded answers" is getting your existing material in. eli.ai supports multi-file bulk import that fans every document into the same ingestion pipeline a single save uses, and a guided first-run welcome flow that walks a new workspace through import, extraction, and its first question.

Multi-file import

Import onboarding pipeline

Each imported file flows through the standard ingestion pipeline.

Rendering diagram

Downloads

Concepts

  • Import onboarding
  • Capabilities
  • Import

Keywords

  • .md · .markdown · .txt
  • File.text() → JSON
  • ≤1000 text files
  • ≤5 MiB each
  • saveDocument() per file
  • embedChunks() (worker)
  • searchable + graphed
  • sync: chunk + FTS + wikilinks + co-occurrence
  • extractDocument() (worker)
  • choose/drop
Source and generation provenance

Status: current

Generated at: 2026-08-12T23:39:22.646Z

Source hash: daa9e5adc6f90fa2343d5f7393271de381af1c623b32b435c7e11c965e8a7fa3

Metadata payload hash: 81f48408593b80e758f680f4c6a2e8625734244f1141caf6e4916af0ac4cf6f4

Canonical appearance

src/app/(docs)/docs/capabilities/import-onboarding/page.tsx:30 route /docs/capabilities/import-onboarding

All appearances

  • canonicalsrc/app/(docs)/docs/capabilities/import-onboarding/page.tsx:30 route /docs/capabilities/import-onboarding

No mirrored appearances.

Generation versions

App: eli-ai 0.1.0

Mermaid: 11.16.0 · Mermaid CLI: 11.16.0

Node: v26.3.1 · Yarn: 4.17.1

Renderer config hash: 68c10966fe84406ee626034d58bfabd555df9f65f691204b7c46db24038da101

Renderer theme hash: c80287a78d80ad63d27bd5ca348b2ef9a7e2f44da289e436be6484ea28a1b033

Adapter versions: diagramGenerator=2, drawioFlowchart=1, drawioGantt=1, drawioSequence=1, drawioState=1

Full sidecar JSON: import-onboarding-pipeline-daa9e5ad.json

Choose or drop up to 1,000 .md, .markdown, or .txt files (5 MiB UTF-8 maximum each). The browser reads them with File.text() and posts JSON; each becomes a document through saveDocument() — the exact entry point the editor uses — so import is never a second-class path. The synchronous phase (chunking, Postgres FTS, wikilink resolution, deterministic co-occurrence edges) runs on save; the expensive phases (embeddings, LLM extraction) are enqueued to the worker, so a large import returns quickly and the graph fills in progressively.

  • Per-file isolation.One malformed file fails on its own row; the rest of the batch still imports. Each file's status is reported back individually.
  • Progressive readiness. Documents are searchable via FTS the moment they save; vector recall and the typed graph light up as the worker drains the queue.
  • Same guardrails. Imported content counts against workspace limits and flows through the same tenancy and provenance rules — nothing about bulk import bypasses row-level security.

Binary files use their own endpoint

This JSON path stays text-only. Single PDF, DOCX, PPTX, and XLSX files upload through POST /api/w/{id}/import/binary (multipart, 25 MB cap): the installed extractors (unpdf, mammoth, officeparser, turndown) convert the blob to markdown on the same normalization path connectors use, then it flows through importMany like any text import. A corrupt or unsupported file is refused with a named extraction failed reason — never silently decoded. ZIP expansion and attachment shadow chunks remain out of scope.

Review extracted identities

Interview transcripts import as ordinary text. Because short speaker labels can create ambiguous entity identities, inspect the duplicate-candidate inbox after extraction and merge only with source evidence. The importer does not maintain a separate speaker disambiguation queue.

First-run get-started

After sign-up (or any signed-in visit to /open with zero workspaces), eli.ai sends you to /get-started: name your personal workspace, optionally multi-select industry demo packs (each seeded as its own workspace with full docs), then continue — into the first selected demo, or into personal /welcome if you skipped demos.

The guided welcome flow

A brand-new personal workspace is not empty and inert — the welcome checklist gives it a spine. It orients a new user around the loop that makes eli.ai useful and hands off to the right surface at each step.

  1. Bring in material

    The welcome screen leads straight to bulk import (or the editor for a first note), so the workspace has content to reason over within minutes.
  2. Watch the graph build

    As extraction runs, the flow points at the entity graph forming — entities, relations, and provenance — so the value of ingestion is visible, not abstract.
  3. Tune the ontology (optional)

    If the domain needs its own vocabulary, the flow links to ontology authoring before extraction has processed everything, so new types apply broadly.
  4. Ask the first grounded question

    Finally it drops the user into chat with a suggested question, producing an answer with clickable [Sn] citations — the payoff that closes the onboarding loop.

Beneath the checklist, a capability tour walks the eight platform systems one at a time — name, what it does, and live links into every surface it owns — driven by the same registry the sidebar navigation uses, so the tour can never drift from the product. Progress resumes where you stopped, and the whole welcome page stays reachable afterward via Getting started in the sidebar.

Seeded, not blank

Every workspace starts with a default ontology and a working retrieval pipeline, so the very first import is immediately searchable and graphed. Onboarding is about direction, not setup — there is no configuration you must complete before the product works.

Related