# Procore integrations: observations and incidents

> Create an observation item, create an incident and create an injury in Procore, and start a workflow when Procore sends “Resource created”.

**Canonical page:** https://tray.ai/connectors/procore-integrations/
**Categories:** Operations
**Connects through:** HTTP Connector

## Overview

Procore is construction management software that general contractors, owners and specialty contractors use to run projects, from drawings and daily logs to safety, budgets and change orders. Tray.ai connects to Procore through the HTTP Connector, so your workflows can call the Procore API alongside the rest of your stack.

## Use cases

### Observations

Read, create, and update observations in Procore from any Tray.ai workflow. The Procore API covers calls such as list observation items and create an observation item.

- List observation items
- Create an observation item
- Update an observation item

### Incidents

Read, create, update, and delete incidents in Procore from any Tray.ai workflow. The Procore API covers calls such as list incidents and create an incident.

- List incidents
- Create an incident
- Update an incident

### Injuries

Read, create, update, and delete injuries in Procore from any Tray.ai workflow. The Procore API covers calls such as list injuries and create an injury.

- List injuries
- Create an injury
- Update an injury

### Near misses

Read, create, update, and delete near misses in Procore from any Tray.ai workflow. The Procore API covers calls such as list near misses and create a near miss.

- List near misses
- Create a near miss
- Update a near miss

### Webhooks

Read, create, update, and delete webhooks in Procore from any Tray.ai workflow. The Procore API covers calls such as create a hook and list hooks.

- Create a hook
- List hooks
- Edit a hook

### Procore events

Start a Tray.ai workflow the moment something happens in Procore. Procore sends events such as resource created and resource updated to a Tray.ai webhook trigger.

- Resource created
- Resource updated
- Resource deleted

## Challenges Tray.ai solves

### Keeping Procore credentials out of logs

A raw API call usually means pasting a key or token into the request, where it ends up in step inputs, logs, and screenshots.

**How Tray.ai helps:** Store Procore credentials once as a Tray.ai authentication and reference them from the HTTP Connector. Tray.ai masks authentication values in logs, so the secret never shows up in a step's input or output.

### Going from the Procore API docs to a working call

Translating an example request from API docs into a workflow step means copying the method, URL, headers, and body by hand.

**How Tray.ai helps:** Paste a cURL example from the Procore API docs into the HTTP Connector and Tray.ai fills in the method, URL, headers, and body for you.

### Handling files and non-JSON responses

Not every API answers in JSON. Some return XML, files, or binary data, or expect a multipart upload.

**How Tray.ai helps:** The HTTP Connector parses JSON and XML responses, returns files you can pass to the next step, and sends multipart form data for uploads.

## Frequently asked questions

### Does Tray.ai connect to Procore?

Yes. Tray.ai connects to Procore through the HTTP Connector, which calls the Procore API directly. Any call the Procore API documents can run as a step in a Tray.ai workflow.

### How does Tray.ai authenticate with Procore?

The Procore API uses OAuth 2.0. You save it once as a Tray.ai authentication, and the HTTP Connector adds it to every request.

### Can I get a dedicated Procore connector?

Procore runs through the HTTP Connector rather than a dedicated connector. If your team wants one, the Tray.ai connector SDK can build a dedicated Procore connector from the Procore API.

## Learn more

- Intelligent Integration: https://tray.ai/platform/intelligent-ipaas/
- Merlin Agent Builder: https://tray.ai/platform/merlin-agent-builder/
- Agent Gateway for MCP: https://tray.ai/platform/agent-gateway/
- Book a demo: https://tray.ai/contact/
