Sync RFIs, submittals, change orders, budgets, and documents from Procore
Procore is Brink’s deepest project-management integration: it syncs RFIs, submittals, punch items, observations, change events and change orders, budgets, contracts, direct costs, requisitions, daily logs, and project files — and links them to mentions across your email and chat.Who can connect: organization owners and admins.
Go to the Integrations page and click the Procore card, then Connect Procore.
The Procore drawer — connect, and choose which app the connection runs on
2
Authorize in Procore
You’ll be redirected to Procore’s sign-in and consent screen. Use a Procore account that can see the company and projects you want Brink to cover — Brink’s access follows what that account can see.
3
Choose a company
If your Procore login has access to more than one company, Brink asks you to choose a Procore company to connect. Pick one — you can add another account later for a second company.
The company chooser expires after 15 minutes. If it does, just reconnect.
4
Import Procore projects
Brink then opens Import Procore projects automatically. Every Procore project in the company is listed — including inactive ones — and the ones already linked are marked Linked.Tick the projects you want and click Import n projects. For each one Brink creates a Brink project with the same name and time zone, binds it to Procore, and starts syncing straight away. Click Done when you’re finished.
You can reopen this any time: Integrations → Procore → the account’s Import projects button.
5
Or bind to projects you already have
If the Brink project already exists, skip the import and bind instead: on the Projects page, open the project’s Integrations tab, choose the Procore connection under Add scope binding, pick the Procore project, and click Bind integration. Repeat for each project you want covered.
Connecting is only half the setup. Until a Procore project is imported or
bound, that project delivers nothing to Brink.
By default Brink connects through Brink’s own Procore app. Organization owners and admins can instead point the connection at their organization’s Procore developer app — Brink then uses those credentials to connect, to keep the connection alive, and to revoke access when you disconnect.Once your own app is saved, you can connect it two ways: by signing in with a Procore account (the steps above), or as a service account (DMSA) that connects as the app itself, with no sign-in. Service accounts are the better fit for continuous organization-wide sync — especially financials — see Connect with a service account (DMSA).
This option exists because Brink’s Procore marketplace app is still pending
approval from Procore. Bringing your own app lets you connect today without
waiting on that review.
You’ll need a Procore account that can access the Procore Developer Portal. The whole process takes about 10 minutes, once per organization.
Sign in at developers.procore.com, open My Apps, and click Create a New App. Give it a recognizable name such as Brink Connector — <your company>. The app stays private to your account — it does not need to be published to the Procore Marketplace.
Creating the app — the name is only used inside your organization
2
Add Brink's Redirect URI
In Brink, open Integrations → Procore → Connection method → Use your own Procore developer app and copy the Redirect URI shown there. In the OAuth Credentials section of the app’s Manage App page, add it to the production environment’s allowed redirect URIs. It must match character-for-character — Procore doesn’t support wildcard or dynamic URIs.
The OAuth Credentials page — paste Brink's Redirect URI and click Update (sandbox section shown; the production section is laid out the same way)
3
Promote to production and copy the credentials
Brink connects to production Procore, so sandbox credentials won’t work. In the Configuration Builder, click Save Version to snapshot the configuration, then promote the app to Production (the Request Production Approval button on the same page). The production Client ID and Client Secret then appear in the OAuth Credentials section.
The production Client Secret is shown only once, when it is first generated. Copy it immediately. If you lose it, reset the secret from the same section and re-save it in Brink.
Back in the Brink drawer, paste the production values into Procore OAuth client ID and Procore OAuth client secret, then click Save credentials. Secrets are stored encrypted and are write-only — after saving, the secret is shown masked and never displayed again.Only the fields you fill in are saved, so you can rotate the secret later without retyping the client ID.
2
Connect
Click Connect Procore and authorize as usual. From here the process is identical to the steps above, including the company chooser and the project import.
To go back to the standard connection, choose Use Brink’s app instead in the same section.
Changing credentials on an already-connected account may invalidate the
existing authorization. If the connection shows Needs attention
afterwards, click Reconnect to re-authorize against the new app.
If something goes wrong: a “redirect URI mismatch” error means the URI in Procore doesn’t exactly match Brink’s — re-copy it from the drawer. An “invalid client” error usually means sandbox credentials were pasted or the manifest wasn’t promoted to production. And if data is missing after connecting, remember synced data follows the permissions of the Procore user who authorized — financials require Admin-level tool permissions in Procore.
A Developer Managed Service Account (DMSA) — Procore calls the app that owns it a Data Connection App — lets Brink authenticate as your app instead of as a person. Procore creates the service user itself when a company admin installs the app, and Brink’s access comes from the permissions your app manifest declares rather than from whoever clicked Connect.Compared to connecting with a personal Procore account, a service account gives you:
Reliable access to financials. Brink’s access comes from the permissions declared in your app, so financial data syncs even when the person who set up the connection doesn’t have Admin-level permissions in Procore.
Fewer reconnects. Service account connections don’t rely on credentials that expire in normal use, so they rarely show Needs attention.
Continuity when people change. The connection isn’t tied to an employee’s account, so syncing continues uninterrupted when someone leaves your organization or changes roles.
A service account requires your own Procore app — the same prerequisite as
Use your own Procore app above. Save the Client
ID and Secret in Brink first. Connecting with a Procore account is still the
fastest way to get started; use a service account when you want continuous
organization-wide sync, especially of financials.
On your app’s Configuration Builder page in the Procore Developer Portal, expand Data Connector Components and click Add Component. Under Component Type, check Service Account Authentication — and keep User Level Authentication checked too, so connecting with a Procore account stays available as a fallback.
Both authentication types checked, with the service-account permissions matrix below
2
Declare the permissions Brink needs
In the same dialog, the Permissions for Service Account matrix has two tabs — Company Level and Project Level — and each tool takes one of None / Read-only / Standard / Admin. Set the permissions on both tabs, then click Save Component. These govern everything Brink can read.
To sync budgets, change events and change orders, commitments, prime contracts, direct costs, and invoices, grant Admin level on the corresponding Financials tools. Anything left at None is invisible to Brink, no matter what the installing admin can see.
The Project Level tab is a separate matrix from Company Level — don't skip it
3
Save the version and copy the App Version Key
Back on Configuration Builder, click Save Version. Procore snapshots the configuration as a version and issues an App Version Key, shown under Installation Keys (the Versions page lists every version’s key). Copy the key for the environment you’re installing into — production keys appear once the app is promoted to Production.
Installation Keys on the Configuration Builder page — treat the key like a credential
Every permission change requires saving a new version, which issues a new key — and companies that already installed the app must update it in App Management before the new permissions apply.
4
Install the app in Procore
A Procore company admin must install the app: Company level → Admin tool → App Management, then Install App → Install Custom App. Paste the App Version Key, review the permission summary Procore shows, and click Install. Procore auto-creates the DMSA service user during the install — there’s nothing to create by hand.
Install Custom App asks for the 36-character App Version Key
Procore shows exactly what the service account will be able to access before you confirm
5
Grant the app access to projects
After installing, open the app from the Installed Apps list and switch to its Permissions tab. Under Permitted Projects, select each project Brink should sync and click Add. This is easy to miss: the install succeeds without it, but a service account with no permitted projects has nothing to sync — and a project created later stays invisible until someone adds it here.
Permitted Projects after adding a project — repeat for every project Brink should sync
In the Procore connection drawer, under Connection method, choose Service account (DMSA). Brink uses your organization’s saved Client ID and Client Secret — there’s nothing extra to paste.
The Connection method section with your own app in use — the Service account (DMSA) card sits below the credentials
2
Connect with service account
Click Connect with service account. There’s no redirect to Procore and no consent screen — Brink verifies the credentials with Procore directly.
3
Choose a company
Brink then shows the same company chooser as when connecting with a Procore account. Pick the company to finish, then bind Procore projects on the Projects page as usual.
If something goes wrong: if validation fails, the usual causes are that a company admin hasn’t installed the app yet in App Management, that the version carrying the Data Connector component wasn’t promoted to Production, or that the client secret in Brink is wrong or has been rotated. If the connection succeeds but no projects appear to bind, the service account hasn’t been granted project access — in App Management, open the app’s Permissions tab and add them under Permitted Projects. If financials are missing, the declared permissions are too narrow — grant Admin on the relevant Financials tools, save a new version, and update the installed app.
Project management records: RFIs, submittals, punch items, observations, and daily logs (manpower, notes, work, delivery, delay, and weather logs)
Financials: budget views and line items, change events, change order packages, potential change orders, prime / purchase order / work order contracts, direct costs, requisitions
Directory: company users and vendors
Documents: Procore files flow into the Document Center with full parsing and citations
Records sync as they change in Procore, with history loaded back to the start date configured for your organization. Daily logs are collected per jobsite day using the project’s own time zone, which Brink copies from Procore when a project is imported. RFI and submittal numbers mentioned in synced email, Slack, or Teams messages are cross-linked to the Procore records automatically.
Procore expires access credentials frequently, so a Procore account connection may occasionally show Needs attention — clicking Reconnect resolves it. Service account (DMSA) connections aren’t affected.
A service account connection is always scoped to the single company you picked in the chooser. To cover another company, add another connection.
Disconnecting revokes Brink’s access with Procore directly.