
App Directory Cabinet
v0.1.0Always-current SaaS inventory tracking every app, owner, user count, annual cost, renewal date, and SSO status across your organization. A workflow agent refreshes the inventory weekly; an analyst agent flags underused apps and upcoming renewals before they become surprises. Keep Okta and your finance system; replace the stale spreadsheet nobody trusts.
App Directory Cabinet
agents
App Analyst
.agents/app-analyst/
Monthly Cost & Renewal Review
0 9 1 * *
App Workflow Agent
.agents/app-workflow/
Weekly Inventory Refresh
0 8 * * 1
2
Agents
2
Jobs
1
Depts
1
Pages
Runs cost and utilization analysis on the SaaS inventory — identifies underused apps, flags upcoming renewals requiring a decision, and surfaces consolidation opportunities across duplicate-category spend.
Orchestrates the weekly SaaS inventory refresh — pulls app data from Okta, Entra, and finance feeds; reconciles changes; detects new shadow-IT apps; and keeps the directory current.
App Directory Cabinet
A living, always-current inventory of every SaaS application your organization pays for — who owns it, how many people use it, what it costs annually, when the renewal lands, whether SSO is enforced, and whether the utilization justifies the spend. No more renewal surprises. No more paying for apps nobody logs into. Every artifact is a file.
Keep Okta, Entra, and your finance system as the systems of record. Replace the stale spreadsheet nobody trusts, the renewal calendar nobody updates, and the shadow-IT apps nobody tracks.
The team
- [[.agents/app-workflow]] — App Workflow Agent (lead). Orchestrates the weekly inventory refresh: pulls app data from Okta, Entra, and finance feeds; reconciles changes; flags new shadow-IT apps; updates the directory.
- [[.agents/app-analyst]] — App Analyst. Runs the cost and utilization analysis: identifies underused apps (low login rate vs. license count), upcoming renewals requiring a decision, and duplicate-category spend worth consolidating.
Recurring rhythm
| Cadence | Job | Owner | Output |
|---|---|---|---|
| Weekly (Mon 08:00) | [[.jobs/weekly-inventory-refresh]] | App Workflow | Updated data/apps.csv, change log in /reports/ |
| Monthly (1st 09:00) | [[.jobs/monthly-cost-review]] | App Analyst | Cost & renewal report in /reports/monthly-cost-review.md |
How to run the demo
- Open the [[directory]] — the full SaaS app directory: every app with owner, user count, annual cost, renewal date, SSO status, and utilization percentage. Includes spend summary and underused-apps callout.
- Browse
data/apps.csv— the raw inventory the agents maintain. - Open
/reports/monthly-cost-review.md— the monthly spend and renewal analysis.
Connectors
Required: Okta or Microsoft Entra (app catalog, SSO assignments, login activity), Finance system or procurement tool (contract cost, renewal dates). Recommended: HRIS (headcount for per-seat cost calculations), Google Workspace (Drive + Gmail app usage data), BetterCloud or Torii (SaaS management signals), Stripe or expense tools (shadow-IT detection via card charges).
$ git clone --filter=blob:none --sparse https://github.com/hilash/cabinets.git && cd cabinets && git sparse-checkout set app-directory