AI-Powered Analysis of Notes app Designs
Use AI chat to explore and understand your Notes applications code.
- Ask AI questions about your Notes designs
- Understand complex Notes apps instantly
- No Notes developer skills required
- Export full Notes app code to DXL text
- Store the exports in your AI or vector DB
- Works with Power Automate
Technical details
Overview
We built a tool that exports Notes/Domino design elements (forms, views, agents, etc.) to DXL from one or many databases. Some apps produce 100+ MB of pure DXL text. You can’t push that into a single OpenAI prompt and expect quality. So we index the DXL into a vector database and connect an OpenAI chat agent on top. You ask questions; the agent retrieves only the relevant DXL chunks and answers.
What to expect
Super helpful for exploring legacy designs.
Not magic: answers are good, not perfect.
You don’t need to be a hardcore Domino dev, but some Notes design knowledge helps you ask the right questions.
Ask focused questions. Examples:
“List all fields on
DisbursementRequest
with kind (editable/computed) and default formulas.”“Explain
querysave
flow and whensubmitAction
becomes 2.”“Which subforms can load and under what conditions?”
“Extract all
@UserRoles
checks.”
Bottom line
All Notes design code is in the DXL. With vectors + retrieval, the AI can surface what you need—fast. It won’t be perfect, but it’s practical, scalable, and already very useful for understanding and migrating Domino applications.
- Domino Server: IBM HCL Domino version 10 or higher
- Operating System: Windows Server 2012 or higher
- Notes Client: Version 9 or higher (required for configuration)
- PowerShell: PnP PowerShell must be installed (used for uploading export files to SharePoint)
- Azure App Registration: Required for authenticating and uploading ASPX export files to SharePoint Online
What is DXL?
Domino XML (DXL) is the XML export format for HCL/IBM Notes & Domino design and data. It’s machine-readable, lossless, and perfect for analysis.
What it captures
Design elements: forms, views, agents, subforms, script libraries, ACL, icons
Code & logic: LotusScript, @Formula, event handlers (
onload
,querysave
, etc.)Metadata: names, replica IDs, note IDs, roles, timestamps, item types
Why it’s useful
Standard XML → easy to parse, index, diff, and version
Full fidelity → no screenshots or guesswork
Great input for AI/LLMs and static analysis tools
Tiny DXL examples
Form header
<form name="DisbursementRequest" xmlns="http://www.lotus.com/dxl" version="12.0">
<noteinfo unid="CC4BCB..." />
Event with LotusScript
<code event="querysave"><lotusscript>
Sub Querysave(Source As NotesUIDocument, Continue As Variant)
Continue = True
End Sub
</lotusscript></code>
Computed subform include
<subformref><code event="value"><formula>
@If(RequestStatus="Submitted"; "sf_DisbursementSummary_View"; "sf_DisbursementSummary")
</formula></code></subformref>
@Formula field
<field type="text" kind="computed" name="Include_AP">
<code event="defaultvalue"><formula>
@If(cs_payment_type="Acquisitions";"N"; (cs_total!=0);"Y";"N")
</formula></code>
</field>
What we do with DXL (AI workflow)
Export Domino designs to DXL (NDDM or native Designer tools).
Chunk & index per element (form/agent/view) + metadata (db, path, replica ID).
Embed each chunk (vector DB) and store the raw DXL alongside.
Ask natural-language questions; retrieve relevant DXL; let the model read the exact code/logic.
Answer with summaries, field lists, workflow maps, risk flags, and migration hints.
Why OpenAI handles DXL so well
XML-savvy: LLMs parse tag/attribute structure reliably and can ignore markup noise.
Multi-language code skills: Understands LotusScript and @Formula patterns, control flow, and edge cases.
Reasoning over rules: Can trace approval logic, field dependencies, and role checks across elements.
Summarization & mapping: Turns complex forms/agents into clear bullet points, and suggests mappings (e.g., to SQL/SharePoint).
RAG-friendly: With retrieval, it answers from your DXL, not guesswork.
Sample prompts (copy/paste)
“List all fields on the
DisbursementRequest
form with their kind (editable/computed) and default formulas.”“Explain the querysave logic and when
submitAction="2"
is set.”“Which subforms can this form load and under what conditions?”
“Extract all roles referenced in
@UserRoles
checks.”“Suggest a SQL schema for these fields; note enums and calculated columns.”
Practical tips
Export per design element; keep chunks ~5–15 KB to stay under model limits.
Keep original DXL attached; store cleaned text for embeddings.
Include metadata keys:
Database
,DesignType
,DesignName
,Path
,UNID
.For long formulas, store a pretty-printed copy (helps AI readability).
Want me to turn this into a polished web section (hero + bullets) with your branding tone?
Support and Consultancy
Exporting Notes DXL information to text format is the easy part — our NDDM tooling handles that automatically.
The real challenge starts afterwards: loading and using this data in an AI environment.
There are many possible setups. Clients can use Microsoft PowerApps and Azure AI Agents, or third-party cloud services such as Make.com, MongoDB, Pinecone, and OpenAI chat agents.
Each approach has its own technical requirements and benefits.
We have extensive experience with these technologies and will advise and assist clients in getting their DXL data fully operational in the chosen AI platform.