Procore's REST API is genuinely well-documented. The company publishes detailed API references, maintains a developer portal, and has a partner program that makes marketplace integrations reasonably straightforward for a developer who knows the platform. The problem is that most construction companies don't have a developer who knows the platform. They have a Procore administrator and a safety manager who use the product, and they need the integration to work without a three-month custom development project.
That constraint shaped how we built our Procore integration. It installs from the Procore App Marketplace in one click, requires no custom code, and configures through a UI that a safety manager can complete without IT involvement. Here's exactly what it does and doesn't do.
What the integration syncs
The integration connects HardHat Pulse safety detection events to three areas of Procore: the Incidents module, the Observations module, and the project-level Daily Log.
In the Incidents module: any detection event confirmed as a recordable incident in HardHat Pulse creates or updates an incident record in Procore. The Procore incident record receives the incident timestamp, the affected worker's role and trade (not full name, for privacy reasons — the full record stays in HardHat Pulse), the zone location, the incident type classification, and the OSHA 300 log reference number. Two-way sync means that if the safety manager adds information to the Procore incident record — injury disposition, medical treatment details — that information flows back into the HardHat Pulse incident record as well.
In the Observations module: zone breach events and PPE non-compliance detections that don't result in injuries are logged as Observations in Procore with a Safety type classification. Each observation includes the timestamp, detection type, zone name, and a link back to the full detection record in HardHat Pulse where the camera frame reference is available. The observation type mapping is configurable — some sites choose to only push high-priority alerts as Observations, others push all detection events. Default configuration pushes alerts at priority level 3 or above (out of 5).
In the Daily Log: a daily safety summary — total alerts, confirmed incidents, zone breach count, PPE compliance rate by shift — posts automatically to the project's Daily Log at 5 PM each day. Site managers report this as one of the most used features because it gives project managers visibility into safety performance without requiring them to log into a separate system.
What the integration doesn't do
The integration does not sync camera footage to Procore. Video data is stored on the edge server and in HardHat Pulse cloud storage; Procore receives references (timestamps and detection IDs) that link to footage accessible through HardHat Pulse. Procore's document storage architecture is not designed for video at the scale of continuous multi-camera construction monitoring, and routing footage through Procore would add unnecessary latency and storage cost.
The integration does not manage worker access permissions from Procore. Procore's Directory module has worker contact information; HardHat Pulse wearable assignment is managed separately in the HardHat Pulse platform. We explored bidirectional worker directory sync but found that the worker data models don't align cleanly enough — Procore contacts are project-level, while HardHat Pulse workers are organization-level with project assignment records. Syncing them requires field mapping decisions that need to be made by a human administrator, not automated.
The integration does not modify Procore's OSHA 300 log module, which doesn't exist in Procore's current API surface. OSHA 300 documentation lives in HardHat Pulse; the Procore Incidents module receives structured incident data in Procore's format but is separate from the 300 log workflow described in the OSHA 300 automation article.
Installation and configuration
Installation: navigate to the Procore App Marketplace, search for HardHat Pulse, click Install. Procore's OAuth2 flow handles authorization; no API keys are exchanged manually. The marketplace installation grants the integration access to Incidents, Observations, and Daily Log in the projects you select during configuration. You can restrict the integration to a specific project subset rather than the entire company.
Configuration: after installation, you'll see the HardHat Pulse integration settings in your Procore account. The three primary configuration decisions are: which project in Procore maps to which site in HardHat Pulse (for companies with multiple active projects), which alert priority levels push to Observations, and what time the daily safety summary posts. The configuration UI walks through each setting; typical setup takes 15-20 minutes per project.
Field mapping: the integration ships with default field mapping between HardHat Pulse event types and Procore classification codes. Custom field mapping is available for companies that have modified Procore's default classification structure — the mapping configuration allows adding or modifying type mappings without code changes.
The Autodesk ACC connector
For companies using Autodesk Construction Cloud rather than Procore, the ACC Data Connector integration handles similar functionality via Autodesk's Forge API. The data model is different — ACC organizes safety data through its Issues module rather than a dedicated Incidents module — but the core workflow is equivalent. Detection events generate Issues with the ACC Safety subtype, and daily summaries post to the project's Field Reports module.
The ACC connector has a more limited bidirectional sync capability than the Procore integration, primarily because the ACC Issues API has fewer write endpoints than Procore's Incidents API. ACC users get full push capability (HardHat Pulse to ACC) but limited pull capability (ACC to HardHat Pulse). That limitation is on Autodesk's API roadmap to expand, and we'll update the connector when the API capabilities allow.
Trimble Connect and Fieldwire
For smaller GCs using Trimble Connect or Fieldwire as their primary project management platform, we offer REST API access with documented webhook configuration for each platform. These are not marketplace-installed integrations; they require a brief technical setup (copying a webhook URL and authentication token into your project management platform's webhook settings). The setup takes about 10 minutes for someone comfortable with software configuration, or 30 minutes for someone doing it for the first time with our setup guide.
Both integrations push detection events and daily summaries in JSON format to your configured webhook endpoint. Trimble Connect and Fieldwire can receive webhook payloads and display them in activity feeds; the display formatting depends on how each platform renders incoming webhook data. We document the payload schema for both platforms so you can customize how the data appears.
When the integration falls short
One limitation we're direct about: integrations built on project management platforms' APIs are constrained by what those APIs expose. Procore, Autodesk, and Fieldwire each have areas of their product that aren't available via API. If a feature you need requires data in a part of the platform that's API-inaccessible, the integration can't reach it.
For companies that need deeper integration than the marketplace connector provides, we document our REST API for custom development. The API covers all safety detection events, zone configurations, worker assignments, incident records, and reporting data. If your technology team wants to build a custom integration into a proprietary project management system, the API has everything they need. We've had two pilot customers use this path to integrate with Oracle Primavera P6, which has no standard marketplace integration available.
Contact contact@hardhatpulse.com with your specific integration requirements before assuming a custom development project is necessary. In most cases the standard connectors cover the use case, or a minor configuration change closes the gap.