DSAT (Customer Dissatisfaction) Operations system. Creates Notion databases and computes backlog burn-down forecast.
npm run forecastOutputs: Setup complete date, Backlog zero date, SLA sustainable date.
# Set your Notion integration token and parent page ID
$env:NOTION_TOKEN = "ntn_your_token"
$env:NOTION_PARENT_PAGE_ID = "your-page-id"
# Optional: custom start date (defaults to today)
$env:START_DATE = "2026-03-02"
npm run setupGetting the parent page ID:
- Create a page in Notion (e.g. "DSAT Operations")
- Open the page → ⋮ menu → Connections → Add your integration
- Copy the page ID from the URL:
notion.so/workspace/PAGE_ID?v=...
npm run seedAdds 8 sample DSAT rows to the Intake database for visualization.
npm run add-forecast-tableAdds a day-by-day Forecast Schedule table to the Capacity + Forecast page (Date, Business day?, Arrivals, Capacity, Processed, Running backlog). If the page isn't found automatically, set NOTION_CAPACITY_FORECAST_PAGE_ID with the page ID from the Capacity + Forecast page URL.
| Database / Page | Description |
|---|---|
| DSAT Taxonomy | 9 root-cause categories with definitions |
| DSAT Intake | One row per DSAT; Status, Root cause, SLA due, SLA met? |
| DSAT Execution Plan | Setup tasks + milestones with forecast dates |
| Capacity + Forecast | Key dates and assumptions |
├── PROJECT_REFERENCE.md # Assessment requirements (single source of truth)
├── NOTION_MCP_INSTRUCTIONS.md # How to use Notion MCP for manual setup
├── SUMMARY_TEMPLATE.md # 400-word summary template
├── scripts/
│ ├── forecast.js # Backlog burn-down calculator
│ └── notion-setup.js # Creates Notion databases via API
└── package.json
The project is configured for Notion MCP (.cursor/mcp.json). See NOTION_MCP_INSTRUCTIONS.md for prompts to create or modify the system via MCP tools.
- Run
npm run setup(or create via Notion MCP) - Share Notion page with "anyone with the link"
- Complete
SUMMARY_TEMPLATE.md(assumptions, cadence, two improvements) - Submit the Notion link