AdvancedLotus Notes / HCL DominoNSF databases and applications

How to Add AI to Lotus Notes and HCL Domino Databases On-Prem

Question
how to add AI to Lotus Notes or HCL Domino databases

Also searched as

  • HCL Domino REST API AI integration
  • search Notes NSF databases with an LLM on-prem
  • Lotus Notes application modernization with private AI

Short answer

Notes and Domino applications hold years of quality records, quotes, approvals and email in NSF databases that no modern tool reads easily. A private AI layer can read them through the Domino REST API, Domino Access Services or DQL on a replica, extract rich text and attachments, honor ACLs and Readers fields, and serve an open-weight model on local GPUs, so nothing leaves the Domino network.

Applies to: Domino 9.x to 14.x servers. The Domino REST API and DQL need a recent server release; older servers use DAS, DXL export or NotesSQL.

Add a private AI layer to Domino applications

  1. 1Inventory databases with the Domino Administrator client or a catalog scan: replica ID, size, last modified, ACL and the forms and views each uses. Retire what nobody opens.
  2. 2Create a read-only replica on a separate Domino server for AI use, so extraction never loads the production server.
  3. 3Choose the access route: Domino REST API or DAS for documents and views, DQL for queries, DXL export for bulk extraction.
  4. 4Extract items from forms, convert rich text to plain text, and pull attachments ($FILE items) to run through text extraction.
  5. 5Record for each document its Readers and Authors fields and the database ACL, and store them as principals on each chunk.
  6. 6Run the incremental job by modified time or replication events, applying deletions as well as updates.
  7. 7Put approved read tools behind an MCP or HTTP server and serve a local open-weight model, with every call logged.

Data access paths

A Notes database (NSF) is a document store, not a relational one. Data lives as items on documents, each document uses a form, views build sorted indexes, and agents hold logic in LotusScript, Java or formulas. There is no table to SELECT from in the usual sense. The data you want is in item names that only the application designers know, so start by exporting a few documents and mapping items to meaning.

The main read paths are the Domino REST API (the current HTTP and JSON interface, with scopes, schemas and query support), Domino Access Services (the older REST interface using /api/data/ paths), the Domino Query Language (DQL) for item-based queries on newer servers, DXL export for XML of documents and design, the Notes C, Java and LotusScript APIs, and NotesSQL for ODBC read access. For an AI layer, REST or DQL on a replica is usually the cleanest.

# Domino Access Services: documents from a view (enable DAS on the server and database)
GET https://domino.corp.local/quality/ncr.nsf/api/data/collections/name/OpenNCRs?start=0&count=100

# DQL: item-based query run against a database (syntax per HCL documentation)
Form = 'NCR' and Status = 'Open' and Created > @dt('2025-01-01')

# DXL export for bulk extraction (LotusScript NotesDXLExporter or Java API) yields XML with items and rich text

Reference architecture

Reference architecture used on every page of this series: (1) a read-only replica or reporting copy of the data, (2) change capture so the index stays current, (3) a retrieval index with the source ACLs stored beside every chunk, (4) a tool server (MCP or plain HTTP) that exposes only approved read actions, (5) an open-weight model served with vLLM or Ollama on local GPUs, (6) an append-only audit log. For Domino, native replication gives you the read-only replica for free: replicate selected databases to a dedicated server and point the extraction job at it.

The extraction job converts each document to a record: form, item values, rich text as plain text, attachments extracted, the modified time and the access control metadata. Rich text can include embedded objects, doclinks and images, which need handling rules. The vector index stores chunks with their principals, and the tool server returns the document URL (notes:// or a web link) so users can open the original. Air-gapped: the replica server, extraction job, index and model sit in the same closed network, with updates arriving by hash-verified transfer.

Permissions: ACLs and Readers fields

Domino security has layers. The database ACL assigns levels from No Access up through Reader, Author, Editor, Designer and Manager, with roles. Documents can also have Readers fields, which restrict who can see the document even if the ACL would allow it, and Authors fields, which limit editing. An extraction account with Manager rights sees everything, which is exactly why a naive index leaks.

Capture the effective reader list for every document: the Readers items if present, otherwise the ACL entries that can read. Store these on each chunk, expand groups from the Domino Directory at question time and filter retrieval. Encrypted fields and encrypted documents cannot be read without the key, so exclude them explicitly. Test with a user who is not on a document's Readers field and prove that it never appears in an answer.

Sizing, rollout, write-back and limits

Domino estates vary widely. A shop with 200 databases, 1 million documents and 600,000 attachments yields a few million chunks, a modest index. Many users are occasional, so a single GPU serving a 7B to 14B model often supports a pilot; scale with concurrency. The extraction of rich text and attachments is the long job.

Phase one: cited search and Q&A over a few databases. Phase two: summaries and drafts, for example summarizing a long approval history. Phase three: approved actions, such as creating a document or advancing a status, through the Domino REST API or an agent, with a named approver. Limits: poorly structured rich text yields poor answers, lost design knowledge slows mapping, HCL has been adding its own AI features to recent Domino releases and may be enough for email-centric needs, and a database nobody uses should be archived rather than indexed.

Try it here, free

Lotus Notes and HCL Domino AI Assistant Sizing and Value Calculator

Open full tool

Estimate GPU count, token volume, index size and payback for a private AI assistant on Lotus Domino from users, usage and time saved.

Common pitfalls

  • !Extracting as a Manager account and ignoring Readers fields. This is the classic Notes data leak.
  • !Hitting the production server with bulk reads. Use a dedicated replica.
  • !Dropping attachments. Many quality and engineering records live only in $FILE items.
  • !Treating rich text as plain. Tables, embedded objects and doclinks need conversion rules.
  • !Not handling deletions and replication conflicts. Stale or duplicate documents confuse answers.
  • !Indexing encrypted documents you cannot read. Exclude and report them.

How an ERP-grounded AI assistant handles this

DataRay was built for sources like this: chat across databases, file stores and documents on-prem, with visible sources and read-only access. For Domino, Netray writes the extraction, the Readers-aware index and the tool server with your Notes administrators, then serves the model on your hardware. If you need only email search, HCL's own capabilities may suffice.

Frequently asked questions

Which interface should we use to read NSF data?

Prefer the Domino REST API or DAS for documents and DQL for queries, run against a dedicated replica. Use DXL for bulk export and NotesSQL only when ODBC is a hard requirement.

How are Readers fields handled?

Capture each document's Readers items and the database ACL, store the resulting principals on its chunks, expand groups at question time and filter before retrieval. Never index as an all-seeing account without keeping this metadata.

Can attachments be searched?

Yes. Pull $FILE items, run text extraction and OCR for scans, and index them with the parent document's access metadata. This is often the most valuable content in quality and engineering databases.

Do we need to migrate off Domino first?

No. Reading through supported interfaces on a replica works against the current system, and the same extracted data helps if you migrate later.

What if nobody understands the old application?

Start with the forms and views, export sample documents and map item names to meaning with the last users. If a database has no active users and no retention duty, archive it and leave it out of the index.

Related

CIO briefing

Adding AI to a Legacy ERP Without Replacing It

Yes, for most legacy ERPs still running in production. If the system exposes its data in any queryable form - ODBC, an API, a scheduled export, or even a read replica of the database - a grounded AI layer can sit alongside it, answering questions and automating workflows without touching core code, buying years of runway before a forced migration.

CIO briefing

Is Your ERP Data Ready for AI? A Readiness Checklist

Most ERP data is ready enough to start a scoped AI pilot immediately; full data-quality remediation is not a prerequisite. A handful of specific gaps - duplicate item or customer masters, inconsistent units of measure, missing descriptions, and orphaned records - will visibly degrade AI answers and are worth checking before the pilot, not after.

CIO briefing

On-Prem vs Cloud ERP AI for Regulated Manufacturers

For ITAR, CMMC, and export-controlled manufacturers, the deciding question is not on-prem versus cloud in general but whether controlled unclassified information (CUI) or export-controlled technical data ever leaves your boundary to reach an AI model. An on-prem or private-VPC-deployed AI layer keeps that data inside your control boundary; a vendor's shared cloud AI service usually does not, regardless of how the core ERP itself is hosted.

Advanced

How to add a private AI layer to Infor LX / BPCS on-prem

BPCS and Infor LX run on IBM i with their data in Db2 for i, in files that carry short coded names by module. A private AI layer reads those files through read-only SQL views over a replica, indexes documents and attachments separately, exposes approved queries through a tool server, and serves an open-weight model on local GPUs. Writes, if any, go through the supported transaction programs with human approval.

Advanced

How to add a private AI layer to Infor System21 on-prem

System21 runs on IBM i with its business data in Db2 for i. The practical private AI pattern is a read-only replica or extract, SQL views that give files readable names, a retrieval index over documents, a tool server of approved queries, and a locally served open-weight model. User visibility is carried over from System21 security and company set-up, and writes only go through its supported entry points after approval.

Advanced

How to add a private AI layer to Infor EAM on-prem

On-prem Infor EAM stores its data in an Oracle or SQL Server schema whose tables use the R5 prefix, and it exposes web services for supported access. A private AI layer reads equipment, work order and parts data through read-only views on a reporting copy, indexes failure notes and manuals for retrieval, mirrors EAM organisation security, and serves an open-weight model locally. Work orders created or changed by the assistant go through EAM's web services after a person approves.

AI for ERP

A Private LLM Grounded on Your ERP Data

How a private LLM answers questions on your ERP data: RAG plus text-to-SQL, role-based permissions inherited from the ERP, and where each fits.

AI for ERP

AI Agents for ERP, Running On-Prem

A practical guide to on-prem AI agents for ERP: what they can safely automate, where human approval belongs, and how to design the guardrails.

Stuck on Lotus Notes / HCL Domino?

Talk to engineers who work inside Lotus Notes / HCL Domino every week, and who build private AI that answers these questions from your own ERP data.