/
PentaProcoreConnector to Procore - Technical Guide


PentaProcoreConnector to Procore - Technical Guide

What is PentaProcoreConnector?

PentaProcoreConnector is a middleware solution that facilitates the automatic synchronization of projects and project-necessary data between PENTA and Procore, allowing clients to maintain up-to-date project data while leveraging the power of both Procore and Penta. The solution is a collection of Azure functions that run on client-specified schedules to send the data necessary for clients to create and update projects within Procore.

How Does it Work?

At regular, configurable intervals, each of several Azure functions will be triggered to sync data from PENTA to Procore, and, in the future, vice versa. Only records that have been modified since the last time the given function was run will be synced. These functions access PENTA data through the PentaConnectProjectManagement API endpoints and access Procore through the Procore API, using REST calls. Each function handles different types of data and can be independently scheduled. This and all other configurations will be set up by Penta within its Azure Management space. Below is a diagram of how this process works.

The Functions

As stated previously, each Azure function within PentaProcoreConnector runs independently and is responsible for the synchronization of discrete types of data.

SyncVendors

Handles: Vendors

From: PentaConnectProjectManagement API - GET Vendors

To: Procore Company Vendors API, Procore Project Vendors API, Procore Company Users API and Procore Project Users API

SyncCustomers

Handles: Customers

From: PentaConnectProjectManagement API - GET Customers

To: Procore Company Vendors API, Procore Project Vendors API, Procore Company Users API and Procore Project Users API

SyncJobs

Handles: Jobs, Cost Types, and Cost Codes

From: PentaConnectProjectManagement API - GET Jobs

To: Procore Projects API

SyncPurchaseOrders

Handles: Purchase Orders

From: PentaConnectProjectManagement API - GET PurchaseOrders

To: Procore Purchase Order Contracts API and Procore Purchase Order Contract Line Items API

SyncSubcontracts

Handles: Subcontracts

From: PentaConnectProjectManagement API - GET Subcontracts

To: Procore Work Order Contracts API and Procore Work Order Contract Line Items API

SyncOrganizationUnits

Handles: Organization Units

From: PentaConnectProjectManagement API - GET OrganizationUnits

To: Procore Departments API

SyncJobTypes

Handles: Job Types

From: PentaConnectProjectManagement API - GET JobTypes

To: Procore Project Types API

SyncCostTypes

Handles: Cost Types

From: PentaConnectProjectManagement API - GET CostTypes

To: Procore Line Item Types API

SyncCostcodes

Handles: Costcodes

From: PentaConnectProjectManagement API - GET Costcodes

To: Procore Cost Codes API

Token Management

Procore authentication uses an OAUTH2 framework and manages access to its APIs via tokens using a “client_credentials” grant type to get access tokens. Token management requires no input from the customer. Access Tokens can then be used in communications between PentaProcoreConnector and Procore APIs. Access Tokens can only be used for two hours, and so, Penta will get a new one on a per-request basis to ensure validity.

Logging

By default, the following messages will be logged within Azure, and will be available upon request:

  • All serialized request and response objects to and from PentaConnectProjectManagement API

  • All serialized request and response objects to and from Procore APIs

  • The URLs that these messages are being sent to

More detailed logging can be configured on a per client, per function basis which would additionally include:

  • The Http response for all transactions, including headers and content.

  • The request content string sent with each call if applicable.

Related content