production
Not configuredNo procore_connections row for this environment. Run scripts/seed-procore-connections.mjs against the target DB once Key Vault has the client id + secret.
Read-only operator view of the Custom App Client Credentials grant per environment, plus recent sync activity from the extractor. Secrets (client_secret_enc) stay in the DB; this page never surfaces them.
No procore_connections row for this environment. Run scripts/seed-procore-connections.mjs against the target DB once Key Vault has the client id + secret.
No procore_connections row for this environment. Run scripts/seed-procore-connections.mjs against the target DB once Key Vault has the client id + secret.
Hits the runtime sanity probe at /api/v1/integrations/procore/sanity-test, which mints a fresh Client Credentials access token and exercises three read-only endpoints (/companies, /projects first page, /me). Posts run inside this tenant's RLS scope so the production connection row is what gets exercised.
POST /api/v1/integrations/procore/sanity-testNo docs/procore-reference/field-audit-*.md report committed yet. The extractor writes one after a successful schema-comparison run.
procore_sync_log for this tenant. Either the extractor hasn't been run yet or the connection has been failing before a row could be opened.BUILD_BLOCKERS.md ## 1. Procore Custom App not authorising Client Credentials grant
**Status**: blocked, operator input required (Procore-side config).
### What the operator needs to do (Procore UI)
1. Sign into Procore as a Company admin.
2. Open Company tools → App Management (or the Developer Portal at
developers.procore.com).
3. Find the Custom App **"IDC Project Sync"**.
4. Verify:
- Latest app version is promoted to **Production**.
- **Service Account Authentication (Data Connector Component)** is
enabled on the app version.
- The app is **installed** on the company id recorded in this
tenant's connection row.
- The matching Service Account user exists.
5. After any change wait ~5–10 minutes (Procore permission cache).
6. Re-run `corepack pnpm extractor:sanity` — Test 1 should pass.
(Source file `BUILD_BLOCKERS.md` was not readable at runtime;
showing the embedded fallback.)