1import { MicrosoftLists } from '@ms365/lists'
2import { PowerAutomate } from '@ms365/power-platform'
3import { SharePointDocs } from '@ms365/sharepoint'
4
5/**
6 * NEXA – Next-Gen Administration System
7 * IT System Release Management Infra (IFM-IRC) · PT Bank Negara Indonesia
8 * Author: Bima Adinata Namara — ODP IT 343
9 */
10export const NEXA = {
11 client: 'PT Bank Negara Indonesia (Persero) Tbk',
12 unit: 'IT System Release Management Team',
13 status: 'production' as const,
14
15 problem: {
16 recap: 'Semi-manual Excel recap, prone to human error',
17 repository: 'SharePoint repository not automated, inefficient',
18 monitoring: 'No centralized monitoring dashboard',
19 approval: 'Document approval & signatures still manual',
20 },
21
22 solution: {
23 input: 'Microsoft Lists → Power Automate → Excel + SharePoint',
24 dashboard: 'Real-time monitoring: Approved/Escalate/Hold/Rejected',
25 repository: 'Auto-generated folder structure by Year/Month/Activity',
26 naming: 'Standardized file naming & auto hyperlink',
27 },
28
29 impact: {
30 inputTime: '2–3 min → 1–2 min (12 fields, down from 16)',
31 uploadTime: '3–5 min → ~30 sec per 3 documents',
32 folderCreate: '1 min → 0 sec (fully automatic)',
33 searchTime: '3 min → 0.5 min (dynamic filter)',
34 perCycle: '10 min → 2 min per RCB recap cycle (80% saved)',
35 costSavings: 'Rp 65M/year saved vs vendor low-code platform',
36 devCost: 'Rp 0 — built entirely on existing BNI M365 stack',
37 },
38
39 roadmap: [
40 'Q1 2026: Digital Signature Workflow (Teams Approval)',
41 'Q2–Q3 2026: Power Apps mobile interface + Power BI dashboard',
42 'Q4 2026: Integrasi BMC Remedy (SR Number) & KPI tracking',
43 'Q1–Q2 2027: AI document classification & predictive analytics',
44 ],
45}
46
47/**
48 * Power Automate — Flow 1: Create, Read, Update Data
49 * Trigger: Microsoft Lists item created/modified
50 */
51const flow_RekapRCB = {
52 trigger: 'When an item is created or modified (Microsoft Lists)',
53 steps: [
54 'Init variables → Nama Profile, Composed Tahun, Composed Bulan',
55 'Get file properties (2x) → Notulen, BA PTR attachments',
56 'For each attachment → Get file content',
57 'Create file → SharePoint /RCB Activities/{Bulan}/{Nama Aktivitas}',
58 'Update Excel row → masterData table (Add/Edit Row by Key: ID)',
59 'Switch (3 cases) → DMP | Notulen | BA PTR Default',
60 'Send email notification → status update to stakeholders',
61 ],
62 excelSource: 'Site: bni.sharepoint.com/.../ReleaseControlBoardRCBInfra',
63 excelTable: 'File: Rekap RCB.xlsx · Table: masterData · Key: ID',
64}
65
66/**
67 * Power Automate — Flow 2: Read, Delete Data
68 * Keeps Excel dashboard synced when a row is removed
69 */
70const flow_DeleteExcelRekapRCB = {
71 trigger: 'When an item is deleted (Microsoft Lists)',
72 steps: [
73 'Get files (properties only) → check parent folder file count',
74 'IF length(files) == 0 → Delete now-empty activity folder',
75 'Send HTTP request to SharePoint → DELETE row from masterData',
76 'Method: DELETE · Endpoint: _api/web/GetFolderByServerRelativeUrl',
77 'Header: If-Match: * (force delete, bypass ETag check)',
78 ],
79}
80█