U

Integrations

Every external service the platform connects to — what it's used for, which pillars and pages depend on it, the secrets it requires (presence only, never values), and its status. Connected / Configured are tested live where a safe check exists; the rest reflect whether the required secrets are set in this environment.

2
Connected
0
Configured
0
Need attention
20
Not configured

Accounting & AP

QuickBooks Online
Owner: IT Manager
Not configured

Accounting system of record — syncs customers, vendors, bills, invoices, projects & accounts, and posts WIP/true-up journal entries.

Used byCommand Center
SecretsQBO_CLIENT_IDQBO_CLIENT_SECRETQBO_TOKEN_ENCRYPTION_KEYQBO_ENVIRONMENTQBO_REDIRECT_URIQBO_WRITE_ENABLEDQBO_DEFAULT_INVOICE_ITEM

OAuth tokens stored encrypted in qbo_token (per org); sync cursors in sync_state.

Bill.com (BILL v3)
Owner: IT Manager
Not configured

Accounts Payable — bill intake, approval routing, and releasing payments. Being phased onto the native CC AP spine; only money-movement remains Bill.com-unique.

Used byCommand Center
SecretsBILLCOM_DEV_KEYBILLCOM_USERNAMEBILLCOM_PASSWORDBILLCOM_ORG_IDBILLCOM_TOKEN_ENCRYPTION_KEYBILLCOM_API_BASE

Session/OAuth tokens stored encrypted in billcom_connection (status + last sync tracked there).

Files & Email

Teams — Send to Task Tracker
Owner: Michael (bot registration) · Teams admin (app assignment)
Not configured

Microsoft Teams message extension: right-click (⋯) any Teams message → Apps → 'Send to Task Tracker' → it lands in Admin → Task Tracker with the original text, sender, and a link back (the old Slack→Jira message-action pattern). Who can use it = Teams admin app assignment (Michael · Nadia · Devlin).

Used byPlatform
SecretsTEAMS_BOT_APP_IDAZURE_TENANT_ID

Endpoint /api/teams/bot (Bot Framework JWT validated dependency-free; tenant-pinned; v1 needs NO client secret). Setup: docs/teams-task-tracker/SETUP.md. AI-persona replies parked as Task 217a.

SharePoint (Microsoft Graph)
Owner: IT Manager
Not configured

Least-privilege (Sites.Selected) file & Excel-workbook I/O — the live Master WIP / GM dashboard / budget / reforecast / billing workbooks. Per-site grants are managed below.

Used byCommand CenterAnalyze
SecretsSHAREPOINT_TENANT_IDSHAREPOINT_CLIENT_IDSHAREPOINT_CLIENT_SECRET

Site registry + read/write + per-site Azure grant is managed inline below (rolled in from the old SharePoint page). Live status = at least one granted site; use each site's Verify for per-site checks.

Microsoft Graph — Mail (Intake)
Owner: IT Manager
Not configured

Watches the jobs@ mailbox (application permissions) to auto-ingest customer work-order emails, and powers the Admin → Mailbox test reader.

Used byIntakePlatform
SecretsAZURE_TENANT_IDAZURE_CLIENT_IDAZURE_CLIENT_SECRETGRAPH_WEBHOOK_SECRET

Separate Entra app from SharePoint (Mail.Read scope). Webhook signature via GRAPH_WEBHOOK_SECRET.

Microsoft 365 — Licensing
Owner: IT Manager
Not configured

Reads M365 subscribed SKUs & user license assignments for the Admin → Licensing dashboards.

Used byPlatform
SecretsMICROSOFT_TENANT_IDMICROSOFT_CLIENT_IDMICROSOFT_CLIENT_SECRETMICROSOFT_GRAPH_BASE_URL

Payroll & Time

Paylocity (NextGen API)
Owner: Michael (Early Adopter creds; secret expires 7-1-2027)
Not configured

Payroll + Time & Labor. NextGen API manages JOB CODES (Admin → Paylocity: add/push, deactivate finished jobs so no more time books to them, fix descriptions, migrate wrong codes) — keeping the time-clock job list current as projects open/close each month.

Used byPlatformCommand Center
SecretsPAYLOCITY_CLIENT_IDPAYLOCITY_CLIENT_SECRETPAYLOCITY_COMPANY_IDPAYLOCITY_BASE_URL

Prod company 359408 · sandbox VALIAPI1 (dc1demogwext). Job codes are immutable (rename = create+deactivate); PUT is full-replacement (client does read-merge-write). T&L cost centers are API-read-only — Omari question open on job-code↔cost-center mirroring. WebLink creds parked (employee/HR endpoints).

NextGen Client ID

Production. Same value as the PAYLOCITY_CLIENT_ID env var. Reveal/set: owners only (Michael · Devlin · Nadia).

NextGen Client Secret

Production; expires 7-1-2027 — rotate the env var and this together. Reveal/set: owners only (Michael · Devlin · Nadia).

WebLink Client ID

Parked — employee/HR endpoints, not used yet. Reveal/set: owners only (Michael · Devlin · Nadia).

WebLink Client Secret

Parked; expires 7-1-2027. Reveal/set: owners only (Michael · Devlin · Nadia).

SwipeClock (TWP)
Owner: IT Manager
Not configured

Payroll time & attendance — pulls timecards/punches and writes back edits via the TimeWorksPlus REST API. Temporary bridge until Paylocity.

Used byCommand CenterSafety
SecretsSWIPECLOCK_API_SECRETSWIPECLOCK_SITE_IDSWIPECLOCK_RUNNER

Gated by swipeclockConfigured(). Live status = timecard punches synced. Legacy Playwright/WorkforceHub bridge kept dormant as fallback.

Field & Production

RouteTracker (Clearspan)
Owner: Michael (token) · Maria (runs the bookmarklet)
Not configured

Clearspan's Salesforce RouteTracker — live invoice Approval Status / payment Status / Chatter into AR Watch via Maria's session-riding bookmarklet (Task 203a). Server-to-server Salesforce API access is the nice-to-have, blocked on Clearspan IT.

Used byCommand Center
SecretsSITETRACKER_INGEST_TOKEN

Bookmarklet install one-liner: lib/routetracker/bookmarklet.install.txt. The token is a shared bearer secret scoped to POST /api/ar/routetracker-ingest only (upserts tracked Clearspan invoices; nothing else).

Ingest token

Same value as the SITETRACKER_INGEST_TOKEN Vercel env var (which is write-only) — rotate BOTH together. Reveal/set: owners only (Michael · Devlin · Nadia).

the field system
Owner: IT Manager
Not configured

Field WBS + production reporting — work packages/orders/items, production reports, labor pricing, and invoice tie-out. Short-term front-end; eventually replaced.

Used byCommand CenterAnalyze
SecretsVITRUVI_API_KEYVITRUVI_API_BASE_URLVITRUVI_AUTH_HEADERVITRUVI_AUTH_PREFIXVITRUVI_WRITE_ENABLEDNEXT_PUBLIC_VITRUVI_WEB_URL

Bearer-token REST API. Write-back (VITRUVI_WRITE_ENABLED) gates WBS create/edit. Live status = the field system data mirrored locally.

RouteTracker
Owner: IT Manager
Not configured

Clearspan field-service / dispatch data (work orders, technician assignment). Scraped/pulled for the Intake → Clearspan pipeline.

Used byIntake
SecretsSITETRACKER_INSTANCE_URLSITETRACKER_CLIENT_IDSITETRACKER_CLIENT_SECRET

Gated by isRouteTrackerConfigured() (instance URL + client id + secret).

Expenses & Cards

Expensify
Owner: IT Manager
Not configured

Corporate-card (Amex) expense feed + receipts via the Expensify Integration Server — workspace/policy list and combined report export.

Used byCommand Center
SecretsEXPENSIFY_PARTNER_USER_IDEXPENSIFY_PARTNER_USER_SECRETEXPENSIFY_API_BASE

partnerUserID/Secret ride every request (no session step). Probe = read-only policyList.

Fleet & Assets

Samsara
Owner: IT Manager
Not configured

Fleet telematics / GPS — vehicle & asset live location for the Asset Management map and Safety.

Used byAsset MgmtSafety
SecretsSAMSARA_API_TOKENSAMSARA_API_BASESAMSARA_API_URL

Gated by samsaraConfigured(). Live status = authenticated Samsara API ping (samsaraPing).

Fleetio
Owner: IT Manager
Not configured

Vehicle & equipment asset register (system of record) — synced into the Asset Mgmt asset roster.

Used byAsset Mgmt
SecretsFLEETIO_API_KEYFLEETIO_ACCOUNT_TOKENFLEETIO_API_BASE

Safety & Compliance

KPA Flex
Owner: IT Manager
Not configured

Safety & compliance forms — incident/concern responses tied to job-closure compliance.

Used bySafety
PagesSafety
SecretsKPA_API_TOKEN

Gated by kpaConfigured(). Live status = authenticated KPA account.info call.

AI

Anthropic (Claude API)
Owner: IT Manager
Not configured

LLM for email/PDF parsing (Intake), variance commentary, recruitment scoring, and other AI-assisted reads across the platform.

Used byIntakeCommand CenterRecruitmentAnalyze
SecretsANTHROPIC_API_KEYANTHROPIC_MODELSCORING_MODELSCORING_AI_ENABLED

Live status = API key authenticated against the Anthropic models endpoint (no token cost).

Core Infrastructure

Supabase (Postgres + Auth + Storage)
Owner: IT Manager
Not configured

Primary database (Drizzle), platform Auth/SSO identity, and file storage (receipts). The app cannot run without it.

Used byPlatformCommand CenterIntakeAnalyzeSafetyAsset MgmtRecruitment
PagesEntire platform
SecretsDATABASE_URLNEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYINTAKE_SUPABASE_URLINTAKE_SUPABASE_SERVICE_ROLE_KEYASSET_MGMT_SUPABASE_URLRECRUITMENT_SUPABASE_URLSAFETY_SUPABASE_URL

Several pillars use their own Supabase project (intake/asset-mgmt/recruitment/safety) in addition to the main DB.

Inngest
Owner: IT Manager
Connected

Background job queue — async QBO/Bill.com sync, expense approvals, per-diem, and scheduled crons.

Used byPlatformCommand Center
PagesInngest function registry
SecretsNone required

Served at /api/inngest. Keys are managed in the Inngest dashboard / Vercel; no required app env var.

Resend
Owner: IT Manager
Not configured

Transactional email — approval/rejection notices, AP/AR alerts, per-diem reminders.

Used byCommand CenterPlatform
PagesNotification emails
SecretsRESEND_API_KEY
Render (async worker)
Owner: IT Manager
Not configured

Off-loads heavy Intake document/PDF processing to a separate worker service.

Used byIntake
SecretsRENDER_WORKER_URLRENDER_WORKER_SECRET

No-ops when unset (local dev); fire-and-forget async hand-off.

DevOps & Platform

GitHub
Owner: IT Manager
Not configured

Source/commit history for the Admin → Changelog, plus dispatch hooks for async payroll pulls.

Used byPlatform
SecretsGITHUB_TOKENGITHUB_REPOGITHUB_DISPATCH_TOKEN

Optional — the Changelog degrades gracefully without it.

Vercel
Owner: IT Manager
Connected

Hosting/CI-CD — every push to main deploys prod. Deploy history feeds the Admin → Changelog.

Used byPlatform
SecretsVERCEL_API_TOKENVERCEL_PROJECT_IDVERCEL_TEAM_IDCRON_SECRET

Runtime platform; the deploy-history API is optional (token-gated, degrades gracefully).