Tools: a Technical Literature Dashboard with Power Automate Power Apps LDX hub StructFlow Building

Tools: a Technical Literature Dashboard with Power Automate Power Apps LDX hub StructFlow Building

Overview

Background

System Architecture: 5 Layers

Flow Design: Two Flows for Two Purposes

① TechLit_Pipeline_UPDATE (always-on)

② TechLit_BulkUpdate (manual trigger)

StructFlow Extraction Schema: 8 Fields

Power Apps: 4 Screens for Different Use Cases

HTML Dashboard: Standalone Strategic View

Results

StructFlow Extraction Accuracy

Power Automate Automation

Technology Domain Visibility

Relevance Scoring

Lessons Learned

1. Lock down SharePoint column types before you start

2. Design the StructFlow schema from your decision criteria

3. Separate Power Apps and HTML dashboard by purpose

4. Control FieldMajor normalization via the prompt

Next Steps Verification Case Report #006 — 2026.05.18 | Time spent: ~3 days We built TechLit Viewer — an end-to-end technical literature management system that uses LDX hub StructFlow to extract structured data from documents, Power Automate to keep everything updated, and both Power Apps and a standalone HTML dashboard for visualization. Many customers express a need to continuously collect and evaluate technical literature across diverse fields. The old approach — storing PDFs and patent documents in folders — made it nearly impossible to answer questions like "which technologies are at which maturity level?" or "which documents are most relevant to our business?" We set out to verify whether a practical technical literature management system could be built within a no-code/low-code stack by combining LDX hub StructFlow for AI extraction with Microsoft 365 tools for storage, automation, and display. What we're testing: Can StructFlow turn unstructured technical documents (PDFs, patents, reports) into structured data that integrates cleanly with SharePoint, Power Automate, and Power Apps? Fires automatically when a SharePoint list item is updated. Detects new document registrations or changes to existing records, sends the file to StructFlow, and immediately writes the extracted results back. Day-to-day document additions are fully automated via this flow. A manual-trigger flow for bulk processing all 18 documents. Used after schema changes, prompt revisions, or for initial data loading. Iterates through all items with a foreach loop, waits for StructFlow polling to complete, and writes results back to the list. Key design insight: The update trigger excels at immediacy but isn't suited for full reprocessing. The manual trigger handles bulk operations well but requires operator action. Using both flows together covers both daily operations and administrative tasks. Schema design started from the question: "what do we want to decide?" — not "what can we extract?" About TRL (Technology Readiness Level): Originally developed by NASA and adopted by EU Horizon programs. Levels 1–3 = basic research, 4–6 = demonstration, 7–9 = operational/production. Quantifying maturity makes it easy to distinguish research-stage from production-ready technologies at a glance. Alongside Power Apps, we built a standalone HTML dashboard (techlit_dashboard.html) that runs entirely in the browser — no Power Apps dependency. This makes it easy to share with executives or external stakeholders. The dashboard includes 4 charts (technology domain distribution, TRL distribution, year-over-year trend, document type breakdown) plus a searchable full-document table. Passing StructFlow's structured data to Chart.js generates all analysis charts automatically. 15 of 18 documents (83%) had all fields extracted correctly. The remaining 3 showed mixed-language inconsistencies in FieldMajor (English vs. Japanese) — no impact on usability, but a clear prompt improvement opportunity. Average processing time per document: ~67 seconds (including StructFlow polling). Full run of all 18 documents: ~20 minutes. Both scheduled and trigger-based execution confirmed stable. Environmental Science was the largest category (6 documents), followed by Materials Science (4). TRL distribution: basic research (1–3) was highest at 8 documents; operational stage (7–9) had 3. For the first time, we had a quantitative picture of the entire portfolio. 15 of 18 documents scored RelevanceScore = High. By embedding our business context (translation & localization) into the StructFlow system prompt, we achieved automatic screening aligned with our actual evaluation criteria. Biggest insight: from "searching" to "discovering" Technical documents that could previously only be searched by filename can now be filtered across TRL, technology domain, and relevance simultaneously. Being able to instantly narrow down to "TRL ≥ 4 AND Materials Science AND High relevance" fundamentally changes the speed of technology strategy decisions. Column types (hyperlink vs. single line of text) can't be changed after the fact. Confirm the format Power Automate will write, then finalize column design before building. Don't start from "what can we extract?" — start from "what do we need to decide?" Including evaluation-axis fields like TRL and RelevanceScore from the beginning dramatically increases dashboard value. Power Apps suits day-to-day search and update operations; the HTML dashboard suits sharing and presentations. Using two UIs on the same data source expands both the audience and the use cases. Mixed English/Japanese values like "Materials Science" and "材料科学" split aggregations. Adding an explicit instruction to the StructFlow system prompt ("always output technology domains in English") prevents this drift. Kawamura International is a translation and localization company documenting its AI process experiments in public. StructFlow, RefineLoop, RenderOCR — and whatever comes next. Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to ? It will become hidden in your post, but will still be visible via the comment's permalink. as well , this person and/or

Code Block

Copy

// TechLit Viewer — System Overview [1] INPUT Source files (PDF / patents / reports) └─ Stored in SharePoint document library. 18 documents total. [2] AI EXTRACTION LDX hub StructFlow └─ Auto-extracts 8 fields: Title / DocType / Authors / Year / FieldMajor / TRL / RelevanceScore / Summary [3] DATA LAYER SharePoint Lists (TechLit_Master / TechLit_Metrics) └─ Power Automate writes; Power Apps + HTML dashboard reads. [4] AUTOMATION Power Automate (2 flows) └─ ① Auto-extract on item update (TechLit_Pipeline_UPDATE) ② Manual bulk processing (TechLit_BulkUpdate) [5] DISPLAY Power Apps (TechLit_Viewer) + HTML dashboard └─ 4-screen Power Apps + standalone HTML dashboard CODE_BLOCK: // TechLit Viewer — System Overview [1] INPUT Source files (PDF / patents / reports) └─ Stored in SharePoint document library. 18 documents total. [2] AI EXTRACTION LDX hub StructFlow └─ Auto-extracts 8 fields: Title / DocType / Authors / Year / FieldMajor / TRL / RelevanceScore / Summary [3] DATA LAYER SharePoint Lists (TechLit_Master / TechLit_Metrics) └─ Power Automate writes; Power Apps + HTML dashboard reads. [4] AUTOMATION Power Automate (2 flows) └─ ① Auto-extract on item update (TechLit_Pipeline_UPDATE) ② Manual bulk processing (TechLit_BulkUpdate) [5] DISPLAY Power Apps (TechLit_Viewer) + HTML dashboard └─ 4-screen Power Apps + standalone HTML dashboard CODE_BLOCK: // TechLit Viewer — System Overview [1] INPUT Source files (PDF / patents / reports) └─ Stored in SharePoint document library. 18 documents total. [2] AI EXTRACTION LDX hub StructFlow └─ Auto-extracts 8 fields: Title / DocType / Authors / Year / FieldMajor / TRL / RelevanceScore / Summary [3] DATA LAYER SharePoint Lists (TechLit_Master / TechLit_Metrics) └─ Power Automate writes; Power Apps + HTML dashboard reads. [4] AUTOMATION Power Automate (2 flows) └─ ① Auto-extract on item update (TechLit_Pipeline_UPDATE) ② Manual bulk processing (TechLit_BulkUpdate) [5] DISPLAY Power Apps (TechLit_Viewer) + HTML dashboard └─ 4-screen Power Apps + standalone HTML dashboard CODE_BLOCK: // StructFlow extraction results stored directly as a data array const data = [ { id: 17, title: 'Immobilized Photocatalyst Paper', docType: 'patent', authors: '[Author name masked]', year: 2002, fieldMajor: 'Chemistry', trl: 4, relevance: 'high', url: '' // SourceFileUrl — will become a live link once populated }, // ... 18 documents total ]; CODE_BLOCK: // StructFlow extraction results stored directly as a data array const data = [ { id: 17, title: 'Immobilized Photocatalyst Paper', docType: 'patent', authors: '[Author name masked]', year: 2002, fieldMajor: 'Chemistry', trl: 4, relevance: 'high', url: '' // SourceFileUrl — will become a live link once populated }, // ... 18 documents total ]; CODE_BLOCK: // StructFlow extraction results stored directly as a data array const data = [ { id: 17, title: 'Immobilized Photocatalyst Paper', docType: 'patent', authors: '[Author name masked]', year: 2002, fieldMajor: 'Chemistry', trl: 4, relevance: 'high', url: '' // SourceFileUrl — will become a live link once populated }, // ... 18 documents total ];