Skip to main content
Connic

Ground agents in
current knowledge.

Connic chunks, embeds, and indexes uploads and synced sources into ranked passages that agents retrieve by meaning at run time.

Read the retrieval docs
How do we roll back a failed release?
runbooks.release3 ranked passages
  • deployment-rollbackscore 0.91

    Reactivate a previous successful deployment from the Deployments tab...

    [deployment-rollback, p. 14]
  • failed-build-responsescore 0.84

    A candidate that fails its deploy gate never replaces the active version...

    [failed-build-response, p. 7]
  • release-checklistscore 0.71

    Verify the active deployment after traffic moves, then retain the previous version...

    [release-checklist, p. 3]
Current context

Index changing knowledge at its source

Put documents, images, and the systems your team already maintains through one semantic indexing path. Agents query the indexed passages at run time instead of carrying an old copy inside the prompt.

Source content
Uploads or scheduled, read-only sources
Searchable passages
Chunked, embedded, and ranked by meaning
Retrieval is environment-scoped. Staging and production can index different content even inside the same project.
Ingestion pipeline

Track asynchronous ingestion from upload to index

Every upload returns to an ingestion job first, so the dashboard and API can show queued, processing, retrying, completed, or failed state.

  1. 1

    Accept

    Text, Markdown, data files, PDFs, and common image formats

  2. 2

    Extract

    Text parsing, PDF pages, or image vision extraction

  3. 3

    Index

    Asynchronous jobs chunk and embed the content

  4. 4

    Query

    Return passages after indexing completes

  • Text and data files

    Upload TXT, Markdown, CSV, JSON, JSONL, YAML, and log files.

  • PDF documents

    Extract and chunk PDFs while preserving page numbers in retrieval results.

  • Images

    Run PNG, JPG, JPEG, GIF, and WebP files through vision extraction before embedding.

Model-facing contract

Expose one retrieval task with a fixed boundary

Keep namespace routing and search parameters in code. Give the model a typed question input and a stable passage-and-citation response.

tools/release_knowledge.py
from connic.tools import retrieval_query

async def search_release_runbooks(question: str) -> list[dict]:
    """Find approved release runbook passages."""
    result = await retrieval_query(
        query=question,
        namespace="runbooks.release",
        min_score=0.35,
        max_results=3,
    )

    matches = []
    for item in result.get("results", []):
        matches.append({
            "passage": item["content"],
            "citation": {
                "entry_id": item["entry_id"],
                "namespace": item["namespace"],
                "page_number": item.get("page_number"),
            },
        })
    return matches
search_release_runbooks response
  • deployment-rollbackscore 0.91

    Reactivate a previous successful deployment from the Deployments tab...

    Citation: [runbooks.release/deployment-rollback, p. 14]
  • failed-build-responsescore 0.84

    A candidate that fails its deploy gate never replaces the active version...

    Citation: [runbooks.release/failed-build-response, p. 7]
  • release-checklistscore 0.71

    Verify the active deployment after traffic moves, then retain the previous version...

    Citation: [runbooks.release/release-checklist, p. 3]
agents/release-operator.yaml
version: "1.0"

name: release-operator
type: llm
model: connic/gpt-5.6-terra
system_prompt: |
  Answer release questions only from search_release_runbooks.
  Cite the entry ID and page number returned with each passage.

tools:
  - release_knowledge.search_release_runbooks

retrieval:
  namespaces:
    runbooks.release:
      prevent_write: true
      prevent_delete: true
  • Purpose-specific function

    The model sees search_release_runbooks(question), not storage primitives.

  • Fixed search scope

    The wrapper owns runbooks.release, a 0.35 score floor, and a three-result limit.

  • Read-only access

    Agent YAML restricts retrieval to one namespace and prevents writes and deletes.

  • Stable citations

    Each passage carries entry ID, namespace, and page number in a fixed response shape.

  • Testable behavior

    Mock the wrapper and assert both the tool call and citation before deployment.

Keep it current

Sync sources and keep retrieval scope in code

Read-only sources and purpose-specific tools use the same environment-scoped retrieval. Raw primitives remain implementation blocks behind the contract you expose.

Read-only sources
  • Notion
    15 minutes → weekly
  • Confluence
    15 minutes → weekly
  • Superhuman Docs (Coda)
    15 minutes → weekly
  • Website Crawler
    12 hours → weekly

Each scheduled run reprocesses changed content. Deletion behavior can remove source content from retrieval or retain its last synced version.

Implementation blocks
  • retrieval_query

    Call from a purpose-specific read wrapper with fixed search scope.

  • retrieval_store

    Use inside a controlled ingestion tool when an agent is allowed to write.

  • retrieval_delete

    Keep deletion behind a narrow maintenance or operator function.

  • retrieval_list_namespaces

    Use for scoped discovery in administrative tooling.

Connect the source your team maintains.

Scope its content, choose a namespace, and set the refresh schedule.

Browse retrieval sources

Frequently Asked Questions

Use retrieval for unstructured text that should be found by meaning and ranked by relevance, such as documentation, policies, notes, and FAQs. Use the database for structured records that need exact field filters, counts, or updates. Agents often use both.

Uploads are asynchronous. Text or a file is accepted into an ingestion job, then parsed or extracted, chunked, embedded, and indexed in the background. Query and metadata-filter delete operations only see entries whose ingestion jobs have completed.

Text uploads support TXT, Markdown, CSV, JSON, JSONL, YAML, and log files. PDF uploads preserve page numbers in results. PNG, JPG, JPEG, GIF, and WebP images use vision extraction before embedding.

Namespaces are dot-separated paths up to 10 levels deep. Querying a parent such as policies also searches child namespaces such as policies.hr.leave. Entry IDs are unique within a namespace. The retrieval_list_namespaces primitive can support scoped discovery inside an administrative tool.

Current read-only retrieval sources include Notion, Confluence, Superhuman Docs (Coda), and the Website Crawler. API-backed sources can run from every 15 minutes through weekly; website crawls run from every 12 hours through weekly. Each run only reprocesses changed content.

No. Retrieval is scoped to the active environment, so staging and production can carry different entries, namespaces, ingestion jobs, and synced-source content. REST requests identify the target with environment_id. Project access uses retrieval.view and retrieval.manage permissions.