DGG Demand Tracker — Maintenance

Admin-only: every data source this app depends on, and what needs a manual refresh
← Back to Tracker
Quick reference for the admin — not the whole team.

Most of this app updates itself: Salesforce and ClickUp are read live over their APIs, and the site redeploys automatically whenever code is pushed. A couple of data sources have no API at all, though — they arrive as files from other teams, so refreshing them is a manual, occasional step. This page lists everything in one place, live status where it's available, and the exact command for the manual ones.

Live status

Reflects this app's own current configuration and data, checked just now.

Salesforce
Loading…
ClickUp
Loading…
Supabase
Loading…
Budget data
Loading…
Developer cost data
Loading…

How everything connects

Solid green = live, automatic. Dashed amber = a manual step by a person, somewhere in the chain.

Live API (OAuth token) Live API (API key) sends emails (API key) git push to main hosts & auto-deploys download as CSV download as CSV reads live daily, automatic Salesforce DGG demand report ClickUp delivery time tracking Mandrill notification emails GitHub source repo Netlify hosting & auto-deploy NTT Data day-rate sheet SharePoint Excel file npm run import-dev-costs PPM Budget export OneDrive CSV npm run import-budget GitHub Actions daily snapshot cron Supabase auth + database DGG Demand Tracker
Automatic — no one needs to do anything Manual — a person has to run a step

Connectors & manual actions

ConnectorModeWhat to do, and when
Salesforce
DGG demand report
Automatic Live OAuth connection, refreshes itself. Only touch it if it's ever disconnected (token revoked/rotated) — sign in as admin and click "Connect to Salesforce" on the main app. Rare.
ClickUp
delivery time tracking
Automatic Live API read via CLICKUP_API_KEY. Nothing to do unless the key itself is rotated (update it in Netlify env vars).
Mandrill
notification & alert emails
Automatic Live API send via MANDRILL_API_KEY/MANDRILL_FROM. Nothing to do unless the key rotates or the sending domain's verification lapses. Separate from Supabase's own magic-link sign-in email, which has its own SMTP setup in the Supabase dashboard — not covered by this row.
Netlify
hosting
Automatic Every push to main on GitHub redeploys the site. Nothing to do.
Supabase
auth & database
Automatic Live reads/writes for sign-in, notifications, snapshots, access requests. Nothing routine — a brand-new optional feature occasionally needs a one-time SQL migration (see DEPLOY.md when adding one).
NTT Data day-rate sheet
powers ClickUp real cost
Manual Whenever NTT Data sends a refreshed sheet:
  1. Open the file: Developer day-rate sheet ↗
  2. File → Save As / Download a copy → CSV
  3. Run: SUPABASE_URL=… SUPABASE_SERVICE_ROLE_KEY=… npm run import-dev-costs /path/to/export.csv
PPM Budget export
powers the Budget tab
Manual Local dev reads the CSV straight off disk — nothing to do there. For the hosted site, whenever there's a fresh export:
  1. Get the new CSV export from Finance/PPM.
  2. Run: SUPABASE_URL=… SUPABASE_SERVICE_ROLE_KEY=… npm run import-budget /path/to/export.csv