Ask Ralti uses provider function tools to discover sheet schemas, page through records, retrieve owned mailbox content, follow relationships, and calculate supported aggregates. Responses cite the canonical sources actually retrieved. The model never receives a database credential or an arbitrary-SQL tool. Generation stages a draft; the normal action flow validates and commits changes.
Two search paths, one authorization boundary#
Ralti indexes active records and synced email for keyword and semantic search. Results are filtered against current permissions and canonical source data before they reach the user.
Indexing updates as source content changes. Deleted and stale content is excluded; semantic-search outages fall back to keyword search. OPENAI_API_KEY enables semantic indexing; ATLAS_SEMANTIC_SEARCH=false disables semantic work while preserving keyword search.
| Task | Coverage rule |
|---|---|
| Count or sum records | query_records aggregates supported stored fields in SQL |
| Search by relevance | Ranked candidates are bounded; they are not an exhaustive count |
| Review mail history | Follow chronological pages and continuation cursors |
| Read lengthy conversations | Follow body/truncation markers and subsequent pages |
| Search formulas or rollup totals | Exact aggregate tool does not support derived-field aggregates |
Chat can access the caller’s own connected mailboxes in the active workspace. Saved agents require a current explicit owner grant with filters and limits. Sources are checked again before replaying saved context, calling the provider, returning answers, and applying proposals. Revocation can make an older sourced answer unavailable.
GET /api/search/status reports scoped keyword readiness and index counts without returning mail contents. Use it to distinguish incomplete indexing from missing permissions or unsynced source material.