1 · All related documentation (paths + brief)
| Path | What it is |
|---|---|
html/EPM_VRO_SDK_DEPLOY_FROM_SCRATCH.html | This page — catalog + deploy cycle |
html/PRACTICAL_SECOPS_VRO_FROM_SCRATCH.html | Practical SecOps/VRO lab (SIR+VR+TI+CTD, scanner→close) |
html/modules/SECOPS.html | Deep SecOps module / CIS drills |
modules/SECOPS.md | Markdown source for SecOps module |
html/PRACTICAL_FLOW_DESIGNER_FROM_SCRATCH.html | Flow Designer labs incl. VR-style triage |
html/PRACTICAL_AI_SERVICENOW_FROM_SCRATCH.html | AI agents path (read-only tools on SecOps/HR) |
html/SDK_WINDOWS_FULL_CYCLE_CAN_CANNOT.html | Windows SDK install→auth→commands→CAN/CANNOT→VR objects |
html/SDK_CURSOR_FULL_DOCUMENTATION.html | All 12 CLI commands + flags (4.12.2) |
html/16_SDK_FULL_DEV_ADMIN_FROM_SCRATCH.html | SDK master study path |
html/11_SDK_CURSOR_CLAUDE.html | Studio / Cursor companion |
MadarTechAcademy/content/lessons/mod-secops.html | Academy SecOps lesson |
2 · Fluent created for EPM VRO (paths)
| Fluent file | Objects |
|---|---|
servicenow-ai-workspace/epm-vro-sdk/ | SDK project root (scope x_786686_epm_vro) |
…/src/fluent/tables.now.ts | 5 tables: vuln, vi, campaign, defer, audit |
…/src/fluent/roles.now.ts | analyst · manager · admin |
…/src/fluent/acls.now.ts | CRUD ACLs per table |
…/src/fluent/script-includes.now.ts | EpmVroUtils numbering + audit |
…/src/fluent/business-rules.now.ts | VI/defer number + audit BRs |
…/src/fluent/properties.now.ts | auto_assign_high · default_risk_approver |
…/src/fluent/menu.now.ts | App menu + 5 modules |
…/src/fluent/flows/vi-high-priority-triage.now.ts | Flow: high/critical VI triage |
…/src/fluent/flows/deferral-approval.now.ts | Flow: risk deferral Ask for Approval |
…/src/fluent/flows/vi-remediation-verify.now.ts | Flow: awaiting_verify stamp |
…/src/fluent/flows/campaign-activate.now.ts | Flow: campaign active → bulk VI remediate |
servicenow-ai-workspace/hr-leave-sdk/ | Separate Fluent app (HR Leave) — reference for Flow() style |
3 · Description cycle (objects)
1vuln
→
2VI
→
3triage flow
→
4campaign
→
5verify
→
6close
|
altdeferral
4 · Deploy process (Windows PowerShell) — from scratch to end
0Prereq: Node 20+, SDK auth alias
DEVELOPMENT1
cd C:\SVCProject\HR_Leave_App\servicenow-ai-workspace\epm-vro-sdk2
npm ci (or npm install)3
npx @servicenow/sdk auth --list → DEVELOPMENT points at instance4
npx @servicenow/sdk build5
npx @servicenow/sdk install --auth DEVELOPMENT6Proof: query app + open VI list URLs above
cd C:\SVCProject\HR_Leave_App\servicenow-ai-workspace\epm-vro-sdk
npx @servicenow/sdk auth --list
npx @servicenow/sdk build
if ($LASTEXITCODE -ne 0) { throw "build failed" }
npx @servicenow/sdk install --auth DEVELOPMENT --async false
npx @servicenow/sdk query sys_app -q "scope=x_786686_epm_vro" -f name,scope,version --auth DEVELOPMENT
npx @servicenow/sdk query sys_hub_flow -q "nameLIKEEPM" -f name,active --auth DEVELOPMENTDeployed on https://dev398980.service-now.com: app EPM VRO · scope x_786686_epm_vro ·
5 tables · 4/4 flows activated (High Priority Triage, Deferral Approval, Awaiting Verify, Campaign Activate).
App form: sys_app.
✓ Pin @servicenow/sdk@4.12.2 per project
✓ Use TemplateValue({...}) on updateRecord values
✓ Commit keys.ts after first successful build
✗ Recreate sn_vul_* dictionary in Fluent
✗ install -r on shared prod without change ticket