Procore
Procore is a cloud-based construction management platform that connects project teams, field crews, and office staff across the project lifecycle. Its REST API exposes company and project data, including projects, users, vendors, RFIs, submittals, prime contract change orders, budgets, documents, punch list items, and timecard entries. This connector uses OAuth 2.0 to read from and write to the Procore API.
Power end-to-end data operations for your Procore API with Nexla. Our bi-directional Procore connector is purpose-built for Procore, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Procore or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Procore workflows fast, secure, and fully governed.
Features
Type: API
- Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
- Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
- API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
- Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Prerequisites
Before creating a Procore credential, you need to register an application in the Procore Developer Portal and complete the OAuth 2.0 authorization code flow to obtain a Client ID, Client Secret, and refresh token. Procore authenticates API requests with an OAuth 2.0 Bearer access token; the refresh token allows Nexla to mint new access tokens as they expire.
To obtain your Procore credentials, follow these steps:
-
Sign in to the Procore Developer Portal with your Procore account. If you do not have developer access, request it from your company's Procore administrator.
-
Create a new application (App) in the Developer Portal. This registers your integration with Procore and generates the OAuth credentials used to authenticate.
-
In the application's OAuth configuration, note the generated Client ID and Client Secret. The Client Secret is shown to authorized users of the app and must be kept confidential.
-
Configure an OAuth Redirect URI for the application. This is the callback URL used during the authorization code exchange and must match the value sent in the authorization request.
-
Complete the OAuth 2.0 authorization code flow against
https://login.procore.com/oauthto obtain an authorization code, then exchange it for an access token and refresh token. Store the refresh token, as it is required to configure your Nexla credential.
Procore uses separate authentication keys and tokens for production and sandbox environments. Access and refresh tokens are not shared across environments, so use credentials that match the Procore environment you intend to connect to. For complete details on OAuth flows, endpoints, and token management, see the Procore OAuth 2.0 documentation.
Authenticate
Credentials required
3-legged OAuth2 authorization_code workflow via login.procore.com for an access/refresh token, used as a Bearer token against api.procore.com.
| Field | Required | Secret | Description |
|---|---|---|---|
| Client ID | Yes | No | OAuth2 Client ID for the Procore App created in the Procore Developer Portal (developers.procore.com). |
| Client Secret | Yes | Yes | OAuth2 Client Secret paired with the Client ID, used during the authorization_code token exchange with login.procore.com. |
| Refresh Token | Yes | Yes | OAuth2 refresh token obtained after completing the authorization_code flow, used to mint new access tokens. |
Create a credential in Nexla
-
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
Enter your OAuth2 Client ID in the corresponding field. This value identifies the Procore App you registered in the Developer Portal.
-
Enter your OAuth2 Client Secret in the corresponding field. This value is paired with the Client ID during the token exchange and must be kept confidential.
-
Enter your OAuth2 Refresh Token in the corresponding field. Nexla uses this token to obtain new access tokens for authenticating requests to the Procore API.
If your Client Secret or Refresh Token is compromised, revoke the affected credentials in the Procore Developer Portal and complete the authorization flow again to generate replacements. For detailed information about Procore authentication and available endpoints, see the Procore API documentation.
-
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.
Use as a data source
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Procore connector tile, then select the credential that will be used to connect to Procore, and click Next; or, create a new Procore credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Procore endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Manual configuration
Procore data sources can also be manually configured to ingest data from any valid Procore API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Procore data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Use as a destination
Click the + icon on the Nexset that will be sent to the Procore destination, and select the Send to Destination option from the menu. Select the Procore connector from the list of available destination connectors, then select the credential that will be used to connect to Procore, and click Next; or, create a new Procore credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Procore endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Manual configuration
Procore destinations can also be manually configured to send data to any valid Procore API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
Procore APIs typically expect JSON format for most write operations. For update operations, include the ID of the object to be updated as required by the target endpoint.
Save & activate
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Procore endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the Procore endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.