> ## Documentation Index
> Fetch the complete documentation index at: https://docs.withampersand.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Procore

## What's supported

### Supported actions

This connector supports:

* [Read Actions](/read-actions), including full historic backfill. Incremental reading is supported for the objects listed below. For all other objects, a full read of the Procore instance will be done per scheduled read.
* [Write Actions](/write-actions).
* [Proxy Actions](/proxy-actions), using the base URL `https://api.procore.com`.

### Notes

* During installation, you must provide your Procore company ID. You can find your company ID in the Procore URL after login. For example, in `https://procore.com/4283186/company/home/thumbnail`, the company ID is `4283186`.
* Use the Procore Sandbox connector when you want to test against `https://sandbox.procore.com`.

### Supported objects

The Procore connector supports reading from and writing to the following objects:

#### Read objects

* [action\_plans/plan\_types](https://developers.procore.com/reference/rest/v1/action-plans) (supports incremental read)
* [action\_plans/verification\_methods](https://developers.procore.com/reference/rest/v1/action-plans) (supports incremental read)
* [app\_configurations](https://developers.procore.com/reference/rest/v1/app-configurations)
* [bid\_packages](https://developers.procore.com/reference/rest/v1/bid-packages)
* [change\_order/statuses](https://developers.procore.com/reference/rest/v1/change-order-statuses)
* [change\_order\_change\_reasons](https://developers.procore.com/reference/rest/v1/change-order-change-reasons)
* [change\_types](https://developers.procore.com/reference/rest/v1/change-types)
* [checklist/alternative\_response\_sets](https://developers.procore.com/reference/rest/v1/checklists)
* [checklist/item/response\_sets](https://developers.procore.com/reference/rest/v1/checklists) (supports incremental read)
* [checklist/list\_templates](https://developers.procore.com/reference/rest/v1/checklists) (supports incremental read)
* [checklist/responses](https://developers.procore.com/reference/rest/v1/checklists)
* [company/projects](https://developers.procore.com/reference/rest/v1/projects) (supports incremental read)
* [configurable\_field\_sets](https://developers.procore.com/reference/rest/v1/configurable-field-sets)
* [contributing\_behaviors](https://developers.procore.com/reference/rest/v1/incident-filter-options) (supports incremental read)
* [contributing\_conditions](https://developers.procore.com/reference/rest/v1/incident-filter-options) (supports incremental read)
* [currency\_configuration/exchange\_rates](https://developers.procore.com/reference/rest/v1/currency-configuration)
* [custom-fields](https://developers.procore.com/reference/rest/v1/configurable-field-sets)
* [custom\_field\_definitions](https://developers.procore.com/reference/rest/project-fields?version=2.0#list-project-fields)
* [custom\_field\_metadata](https://developers.procore.com/reference/rest/project-fields?version=2.0#list-project-fields)
* [custom\_fields\_sections](https://developers.procore.com/reference/rest/v1/custom-fields-sections)
* [departments](https://developers.procore.com/reference/rest/v1/departments)
* [distribution\_groups](https://developers.procore.com/reference/rest/v1/distribution-groups)
* [equipment\_register](https://developers.procore.com/reference/rest/v2/equipment-register)
* [estimating/bid\_board\_projects](https://developers.procore.com/reference/rest/v2/estimating)
* [estimating/catalogs](https://developers.procore.com/reference/rest/v2/estimating)
* [form\_templates](https://developers.procore.com/reference/rest/v1/form-templates) (supports incremental read)
* [generic\_tools](https://developers.procore.com/reference/rest/v1/correspondences?version=1.0#list-generic-tools)
* [generic\_tools/default\_types](https://developers.procore.com/reference/rest/v1/correspondences?version=1.0#list-generic-tools)
* [gps\_positions](https://developers.procore.com/reference/rest/v1/locations) (supports incremental read)
* [groups](https://developers.procore.com/reference/rest/v1/groups)
* [hazards](https://developers.procore.com/reference/rest/v1/incident-filter-options) (supports incremental read)
* [incidents/action\_types](https://developers.procore.com/reference/rest/v1/incident-picker-options) (supports incremental read)
* [incidents/affliction\_types](https://developers.procore.com/reference/rest/v1/affliction-types) (supports incremental read)
* [incidents/body\_parts](https://developers.procore.com/reference/rest/v1/incident-picker-options)
* [incidents/environmental\_types](https://developers.procore.com/reference/rest/v1/incident-picker-options)
* [incidents/harm\_sources](https://developers.procore.com/reference/rest/v1/harm-sources) (supports incremental read)
* [incidents/injury\_filing\_types](https://developers.procore.com/reference/rest/v1/incident-picker-options)
* [incidents/severity\_levels](https://developers.procore.com/reference/rest/v1/incident-picker-options)
* [incidents/statuses](https://developers.procore.com/reference/rest/v1/incident-picker-options)
* [incidents/work\_activities](https://developers.procore.com/reference/rest/v1/work-activities) (supports incremental read)
* [inspection\_types](https://developers.procore.com/reference/rest/v1/inspection-types)
* [insurances](https://developers.procore.com/reference/rest/v1/company-vendor-insurances)
* [meeting\_templates](https://developers.procore.com/reference/rest/v1/meeting-templates)
* [notification-profiles](https://developers.procore.com/reference/rest/v1/notification-profiles)
* [observation\_types](https://developers.procore.com/reference/rest/v1/observations)
* [offices](https://developers.procore.com/reference/rest/v1/company-offices)
* [operations](https://developers.procore.com/reference/rest/v2/operations)
* [people](https://developers.procore.com/reference/rest/v1/project-users)
* [people/inactive](https://developers.procore.com/reference/rest/v1/project-users)
* [pdf\_template\_configs](https://developers.procore.com/reference/rest/v1/pdf-template-configs)
* [payments/beneficiaries](https://developers.procore.com/reference/rest/v1/payments)
* [payments/early\_pay\_programs](https://developers.procore.com/reference/rest/v1/early-pay-programs)
* [payments/projects](https://developers.procore.com/reference/rest/v1/payments)
* [permission\_templates](https://developers.procore.com/reference/rest/v1/permission-templates)
* [project\_bid\_types](https://developers.procore.com/reference/rest/v1/project-bid-types)
* [project\_owner\_types](https://developers.procore.com/reference/rest/v1/project-owner-types)
* [project\_regions](https://developers.procore.com/reference/rest/v1/project-regions)
* [project\_stages](https://developers.procore.com/reference/rest/v1/project-stages)
* [project\_templates](https://developers.procore.com/reference/rest/v1/project-templates)
* [project\_types](https://developers.procore.com/reference/rest/v1/project-types)
* [projects](https://developers.procore.com/reference/rest/v1/projects) (supports incremental read)
* [programs](https://developers.procore.com/reference/rest/v1/programs)
* [recycle\_bin/action\_plans/plan\_template\_item\_assignees](https://developers.procore.com/reference/rest/v1/action-plans) (supports incremental read)
* [recycle\_bin/action\_plans/plan\_template\_items](https://developers.procore.com/reference/rest/v1/action-plans) (supports incremental read)
* [recycle\_bin/action\_plans/plan\_template\_references](https://developers.procore.com/reference/rest/v1/action-plans) (supports incremental read)
* [recycle\_bin/action\_plans/plan\_template\_sections](https://developers.procore.com/reference/rest/v1/action-plans) (supports incremental read)
* [recycle\_bin/action\_plans/plan\_template\_test\_record\_requests](https://developers.procore.com/reference/rest/v1/action-plans) (supports incremental read)
* [recycle\_bin/action\_plans/plan\_templates](https://developers.procore.com/reference/rest/v1/action-plans) (supports incremental read)
* [recycle\_bin/checklist/list\_templates](https://developers.procore.com/reference/rest/v1/checklists)
* [roles](https://developers.procore.com/reference/rest/v2/roles)
* [schedule/resources](https://developers.procore.com/reference/rest/v1/schedule/resources)
* [settings/permissions](https://developers.procore.com/reference/rest/v1/configurable-field-sets)
* [submittal\_statuses](https://developers.procore.com/reference/rest/v1/submittal-statuses)
* [submittal\_types](https://developers.procore.com/reference/rest/v1/submittal-types)
* [tags](https://developers.procore.com/reference/rest/v1/tags)
* [tax\_codes](https://developers.procore.com/reference/rest/v1/tax-codes)
* [tax\_types](https://developers.procore.com/reference/rest/v1/tax-types)
* [timecard\_time\_types](https://developers.procore.com/reference/rest/v1/timecard-time-types)
* [timesheets/filters/crews](https://developers.procore.com/reference/rest/v1/timesheets)
* [trades](https://developers.procore.com/reference/rest/v1/trades) (supports incremental read)
* [uom\_categories](https://developers.procore.com/reference/rest/v1/uom-categories)
* [uoms](https://developers.procore.com/reference/rest/v1/uoms)
* [users](https://developers.procore.com/reference/rest/v1/company-users) (supports incremental read)
* [users/inactive](https://developers.procore.com/reference/rest/v1/company-users)
* [vendors](https://developers.procore.com/reference/rest/v1/company-vendors) (supports incremental read)
* [vendors/inactive](https://developers.procore.com/reference/rest/v1/company-vendors)
* [webhooks/hooks](https://developers.procore.com/documentation/webhooks)
* [work\_classifications](https://developers.procore.com/reference/rest/v1/work-classifications)
* [workflow\_instances](https://developers.procore.com/reference/rest/v1/workflow-instances?version=1.0)
* [workflows/bulk\_replace\_requests](https://developers.procore.com/reference/rest/v2/workflows)
* [workflows/tools](https://developers.procore.com/reference/rest/v1/correspondences?version=1.0#list-generic-tools)

#### Write objects

* [action\_plans/plan\_types](https://developers.procore.com/reference/rest/v1/action-plans)
* [action\_plans/verification\_methods](https://developers.procore.com/reference/rest/v1/action-plans)
* [app\_configurations](https://developers.procore.com/reference/rest/v1/app-configurations)
* [bim\_levels](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [bim\_levels/batch](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [bim\_mint\_tokens](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [bim\_model\_revision\_plans](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [bim\_model\_revision\_plans/batch](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [bim\_model\_revision\_viewpoints/batch](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [bim\_model\_revisions](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [bim\_models](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [bim\_plans](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [bim\_plans/batch](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [bim\_view\_folders](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [bim\_viewpoints](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [bim\_viewpoints/batch](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [budget\_view\_snapshots](https://developers.procore.com/reference/rest/v1/budget-views?version=1.0)
* [change\_order\_change\_reasons](https://developers.procore.com/reference/rest/v1/change-order-change-reasons)
* [checklist/item/response\_sets](https://developers.procore.com/reference/rest/v1/checklists)
* [checklist/list\_templates](https://developers.procore.com/reference/rest/v1/checklists)
* [checklist/responses](https://developers.procore.com/reference/rest/v1/checklists)
* [company/projects](https://developers.procore.com/reference/rest/v1/projects)
* [configurable\_field\_sets](https://developers.procore.com/reference/rest/v1/configurable-field-sets)
* [contributing\_behaviors](https://developers.procore.com/reference/rest/v1/incident-filter-options)
* [contributing\_conditions](https://developers.procore.com/reference/rest/v1/incident-filter-options)
* [contexts](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [contexts/get\_or\_create](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [coordination\_issues](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [coordination\_issues/bulk\_delete](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [currency\_configuration](https://developers.procore.com/reference/rest/v1/currency-configuration)
* [currency\_configuration/exchange\_rates](https://developers.procore.com/reference/rest/v1/currency-configuration)
* [custom-fields](https://developers.procore.com/reference/rest/v1/configurable-field-sets)
* [custom\_field\_metadata](https://developers.procore.com/reference/rest/project-fields?version=2.0#list-project-fields)
* [custom\_fields\_sections](https://developers.procore.com/reference/rest/v1/custom-fields-sections)
* [departments](https://developers.procore.com/reference/rest/v1/departments)
* [equipment\_register](https://developers.procore.com/reference/rest/v2/equipment-register)
* [equipment\_register/associate](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [equipment\_register\_categories](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [equipment\_register\_makes](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [equipment\_register\_models](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [equipment\_register/statuses](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [equipment\_register\_types](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [estimating/catalogs](https://developers.procore.com/reference/rest/v2/estimating)
* [files](https://developers.procore.com/reference/rest/v1/project-folders-and-files)
* [form\_templates](https://developers.procore.com/reference/rest/v1/form-templates)
* [generic\_tools](https://developers.procore.com/reference/rest/v1/correspondences?version=1.0#list-generic-tools)
* [gps\_positions](https://developers.procore.com/reference/rest/v1/locations)
* [groups](https://developers.procore.com/reference/rest/v1/groups)
* [hazards](https://developers.procore.com/reference/rest/v1/incident-filter-options)
* [incidents/action\_types](https://developers.procore.com/reference/rest/v1/incident-picker-options)
* [incidents/affliction\_types](https://developers.procore.com/reference/rest/v1/affliction-types)
* [incidents/harm\_sources](https://developers.procore.com/reference/rest/v1/harm-sources)
* [incidents/work\_activities](https://developers.procore.com/reference/rest/v1/work-activities)
* [inspection\_types](https://developers.procore.com/reference/rest/v1/inspection-types)
* [installation\_requests](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [insurances](https://developers.procore.com/reference/rest/v1/company-vendor-insurances)
* [job-titles](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [meeting\_categories](https://developers.procore.com/reference/rest/v1/meeting-categories)
* [nested\_bim\_view\_folders](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [nested\_bim\_view\_folders/batch](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [observations/items](https://developers.procore.com/reference/rest/v1/observations)
* [offices](https://developers.procore.com/reference/rest/v1/company-offices)
* [people](https://developers.procore.com/reference/rest/v1/project-users)
* [pdf\_template\_configs](https://developers.procore.com/reference/rest/v1/pdf-template-configs)
* [permission\_templates](https://developers.procore.com/reference/rest/v1/permission-templates)
* [payments/early\_pay\_programs](https://developers.procore.com/reference/rest/v1/early-pay-programs)
* [programs](https://developers.procore.com/reference/rest/v1/programs)
* [project\_bid\_types](https://developers.procore.com/reference/rest/v1/project-bid-types)
* [project\_owner\_types](https://developers.procore.com/reference/rest/v1/project-owner-types)
* [project\_regions](https://developers.procore.com/reference/rest/v1/project-regions)
* [project\_stages](https://developers.procore.com/reference/rest/v1/project-stages)
* [project\_types](https://developers.procore.com/reference/rest/v1/project-types)
* [projects](https://developers.procore.com/reference/rest/v1/projects)
* [punch\_item\_types](https://developers.procore.com/reference/rest/v1/punch-item-types)
* [punch\_items](https://developers.procore.com/reference/rest/v1/punch-items)
* [recycle\_bin/action\_plans/plan\_template\_item\_assignees](https://developers.procore.com/reference/rest/v1/action-plans)
* [recycle\_bin/action\_plans/plan\_template\_items](https://developers.procore.com/reference/rest/v1/action-plans)
* [recycle\_bin/action\_plans/plan\_template\_references](https://developers.procore.com/reference/rest/v1/action-plans)
* [recycle\_bin/action\_plans/plan\_template\_sections](https://developers.procore.com/reference/rest/v1/action-plans)
* [recycle\_bin/action\_plans/plan\_template\_test\_record\_requests](https://developers.procore.com/reference/rest/v1/action-plans)
* [recycle\_bin/action\_plans/plan\_templates](https://developers.procore.com/reference/rest/v1/action-plans)
* [recycle\_bin/action\_plans/plan\_template\_references/bulk\_create](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [rounding\_configuration](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [roles](https://developers.procore.com/reference/rest/v2/roles)
* [support\_pins](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [tags](https://developers.procore.com/reference/rest/v1/tags)
* [tax\_codes](https://developers.procore.com/reference/rest/v1/tax-codes)
* [tax\_types](https://developers.procore.com/reference/rest/v1/tax-types)
* [timecard\_entries](https://developers.procore.com/reference/rest/v1/timecard-entries)
* [timesheets/timesheet\_to\_budget\_configuration](https://developers.procore.com/reference/rest/docs/rest-api-overview)
* [trades](https://developers.procore.com/reference/rest/v1/trades)
* [uoms](https://developers.procore.com/reference/rest/v1/uoms)
* [uploads](https://developers.procore.com/reference/rest/document-uploads?version=2.0)
* [users](https://developers.procore.com/reference/rest/v1/company-users)
* [vendors](https://developers.procore.com/reference/rest/v1/company-vendors)
* [webhooks/hooks](https://developers.procore.com/documentation/webhooks)
* [work\_classifications](https://developers.procore.com/reference/rest/v1/work-classifications)
* [workflows/bulk\_replace\_requests](https://developers.procore.com/reference/rest/v2/workflows)

### Example integration

For an example manifest file of a Procore integration, visit our [samples repo on GitHub](https://github.com/amp-labs/samples/blob/main/procore/amp.yaml).

## Before you get started

To integrate Procore with Ampersand, you will need a [Procore developer account](https://developers.procore.com/).

Once your account is created, you'll need to create an app in Procore, configure the Ampersand redirect URI within the app, and obtain the following credentials from your app:

* Client ID
* Client Secret

You will then use these credentials to connect your application to Ampersand.

### Creating a Procore app

Here's how you can sign up for a Procore account:

1. Sign in to the [Procore developer portal](https://developers.procore.com/).
2. Create a new OAuth 2.0 application.
3. Add the Ampersand redirect URL: `https://api.withampersand.com/callbacks/v1/oauth`.
4. Save the app and copy the Client ID and Client Secret.

### Add your Procore app info to Ampersand

1. Log in to your [Ampersand Dashboard](https://dashboard.withampersand.com).

2. Choose the project where you want to integrate Procore.

   <img src="https://mintcdn.com/ampersand-24eb5c1a/CkzFg-K1u4gYx3ZD/images/provider-guides/dd47b7a-Ampersand.png?fit=max&auto=format&n=CkzFg-K1u4gYx3ZD&q=85&s=d580aa00cc421fe14cfbab79c2e0812f" alt="Ampersand Project" width="2244" height="442" data-path="images/provider-guides/dd47b7a-Ampersand.png" />

3. Navigate to the **Provider Apps** section.

4. Select *Procore* from the **Provider** list.

5. Enter the **Client ID** and **Client Secret** obtained from Procore into the respective fields in Ampersand.

   <img src="https://mintcdn.com/ampersand-24eb5c1a/K6OUGMoHOxbCFy6I/images/provider-guides/procore-amp.gif?s=cb8c8d703ad4afcf61694383ad873262" alt="Dashboard" width="1200" height="1240" data-path="images/provider-guides/procore-amp.gif" />

6. Click **Save Changes**.

## Using the connector

To start integrating with Procore:

* Create a manifest file using the [example](https://github.com/amp-labs/samples/blob/main/procore/amp.yaml).
* Deploy it using the [amp CLI](/cli/overview).
* If you are using [Read Actions](/read-actions) or [Write Actions](/write-actions), create a [destination](/destinations).
* Embed the [InstallIntegration](/embeddable-ui-components#install-integration) UI component. The UI component prompts the customer for their Procore authorization and company ID (the numeric segment in their Procore URL, for example `4283186` in `https://procore.com/4283186/company/home/thumbnail`).
* Start using the connector.
  * If your integration has [Read Actions](/read-actions), you'll start getting webhook messages.
  * If your integration has [Write Actions](/write-actions), you can start making API calls to our Write API.
  * If your integration has [Proxy Actions](/proxy-actions), you can start making Proxy API calls.
