Projects, RFIs and submittals are all readable and writable from one connection, so the gap between noticing something on site and it existing as a tracked, numbered record closes to a single sentence.
A connection to the Procore construction management API covering projects, RFIs and submittals, with documents and budget on the same footing. Inputs are validated before a request goes out, and every answer comes back as clean JSON.
- The project list for the authenticated client, filterable, and the details of any single project
- RFIs listed for a project, read individually, and created without opening the web interface
- Submittals listed, read and created the same way
- Documents, budget and cost covered by the same server
- Procore's error responses handled explicitly — unauthorized, forbidden, not found and rate-limited each surface as themselves rather than as a generic failure
Node.js 18 or newer, and a Procore Developer account with an OAuth2 client registered for the client-credentials flow. The client id, client secret and API base URL go in a .env file, and the client's scopes have to cover the modules you intend to use — RFIs, submittals, documents, budget.
