Skip to content

Procore

Hardline uses Procore OAuth client credentials for automated Procore access. Procore recommends Developer Managed Service Accounts (DMSA) for data-connection style apps because they use the OAuth 2.0 client credentials flow for system-to-system access.

Provider docs:

  • A Procore company admin who can install and configure the app.
  • A Procore developer app with DMSA or service-account access.
  • The app’s client ID and client secret.
  • Project permissions for the Procore tools you want Hardline to use.

Use Client credentials in Hardline.

Hardline sends the Procore client ID and client secret to Procore’s token endpoint, receives a short-lived access token, and uses that token for Procore API calls. Hardline does not ask users to paste their personal Procore password.

  1. Sign in to the Procore Developer Portal.
  2. Create or open the app your organization will use for Hardline.
  3. Configure the app for the OAuth client credentials flow with a Developer Managed Service Account.
  4. Copy the client ID.
  5. Copy the client secret. Store it securely because it will not be safe to expose later.
  6. Copy the app’s 36-character App Version ID. You will need it to install the app in Procore.

When creating or editing the app in the Procore Developer Portal, open Data Connector Components, choose Service Account Authentication, and configure the following permissions. These are the complete non-None permission selections required by the app. Leave tools not listed below set to None.

ToolPermission
AdminAdmin
Change EventsAdmin
CommitmentsAdmin
Coordination IssuesStandard
Daily LogAdmin
DirectoryRead-Only
DrawingsStandard
IncidentsAdmin
InspectionsAdmin
MeetingsAdmin
ObservationsAdmin
PhotosStandard
Prime ContractAdmin
Punch ListAdmin
RFIsAdmin
SubmittalsStandard
T&M TicketsStandard
TasksAdmin

The complete required Project Level Permissions configuration

ToolPermission
AdminAdmin
Custom Project ToolsStandard
DirectoryRead-Only

The complete required Company Level Permissions configuration

Procore installs a data connection app at the company level. You then choose the projects the app is permitted to access. Complete these steps as a Procore company administrator.

  1. In Procore, open the company that Hardline should access.
  2. Open the Company Admin tool. Under Company Settings, select App Management.

The Procore Apps menu with App Management selected

  1. On the App Management page, click Install App, then select Install Custom App.

The Install App menu with Install Custom App selected

  1. Enter the app’s 36-character App Version ID, click Install, and confirm the installation.
  2. Review the app’s Data Connector Components before approving access. Confirm the project- and company-level permissions match the required permissions above.
  3. Select only the projects Hardline should access and finish the installation.
  4. If you need to add a project later, return to Company Admin > App Management, locate the app, and click View.
  5. Open the Permissions tab, select one or more projects from the permitted-projects list, and click Add.

The app can run only in permitted projects. Its DMSA receives the project-level permissions defined by the app, so review the permission list carefully and keep access limited to the projects and tools your team needs.

  1. Open Hardline.
  2. Go to Settings > Integrations.
  3. Select Procore.
  4. Click Add credentials.
  5. Choose Client credentials.
  6. Use the token URL and API base URL for the Procore environment you are connecting:
EnvironmentToken URLAPI base URL
Productionhttps://login.procore.com/oauth/tokenhttps://api.procore.com
Developer sandboxhttps://login-sandbox.procore.com/oauth/tokenhttps://sandbox.procore.com

Procore’s sandbox environment uses separate credentials, app installs, company IDs, and project IDs. Confirm the client ID and client secret come from the same environment as the API base URL.

  1. Paste the token URL into Token URL.
  2. Paste the Procore client ID into Client ID.
  3. Paste the Procore client secret into Client secret.
  4. Paste the matching API URL into API base URL.
  5. Optionally enter the Procore company ID in Default company ID. Leave it blank to let Hardline discover the company from Procore.
  6. Click Connect.
  7. Click Test connection.
  8. Enable the Procore tool policies your team wants available.

Production defaults:

https://login.procore.com/oauth/token
https://api.procore.com

Most Procore tools need explicit IDs. The assistant can look up IDs with read tools, but write tools should still be reviewed before submission.

Common IDs:

  • company_id
  • project_id
  • user, vendor, location, observation type, RFI manager, punch item type, contract, or change event IDs depending on the workflow
SymptomWhat to check
Token request failsConfirm the client ID, client secret, and token URL are from the same Procore environment. Sandbox and production credentials are separate.
Hardline can authenticate but cannot read a projectConfirm the app is installed in the company and the DMSA has access to that project.
A write tool fails with permission errorsConfirm the DMSA has permission for the exact Procore tool and project.
Records appear under a service userThis is expected for DMSA or service-account access. Use a clearly named Procore service account.