Documentation

Getting Started with ProBidCore

Everything you need to connect ProBidCore to Procore and start pushing budgets. This guide is designed for General Contractors and their estimating teams.

Getting Started

ProBidCore is a construction bid management tool that lets you build project estimates and push budget line items directly to Procore. Here's what you'll need:

Prerequisites

  • A Procore account with the Budget module enabled
  • Your Procore Project ID (found in the project URL)
  • Admin or Field Admin role on the Procore project
  • An unlocked budget in Procore
1

Create an account

Go to probidcore.com/app and click Get Started. No credit card required.

2

Connect your Procore account

Click "Log in with Procore" in the sidebar or Settings page. You'll be redirected to Procore's login page to authorize the connection.

3

Create your first project

Click 'New Project' and enter your project name, description, and Procore Project ID.

4

Add budget line items

Open the project and click 'Add Line Item'. Enter the WBS code, cost type, quantity, UOM, and unit cost.

5

Push to Procore

Click 'Push to Procore'. ProBidCore will sync all line items to your Procore project budget.

Connect Your Procore Account

ProBidCore connects to Procore using OAuth 2.0, the same security standard Procore uses for third-party integrations. Your credentials are never stored by ProBidCore.

Step 1: Initiate the connection

Click "Log in with Procore" in the sidebar or on the Settings page. ProBidCore redirects you to Procore's secure login page.

Step 2: Authorize ProBidCore

Procore will show you an authorization screen listing the permissions ProBidCore requests. Click Authorize to proceed. ProBidCore only requests the permissions it needs:

  • budgets:readImport existing Procore budget line items
  • budgets:writePush ProBidCore estimate line items into Procore
  • projects:readList and look up your Procore projects

Step 3: Confirmation

You'll be redirected back to ProBidCore with a confirmation. The sidebar will show your Procore company name and a green "Connected" indicator.

Token Refresh

Procore access tokens expire every 2 hours. ProBidCore automatically refreshes your token during sync operations. You can also manually refresh it on the Settings page.

Disconnecting

You can disconnect anytime from the Settings page, or by revoking ProBidCore's access from your Procore account settings — either action revokes ProBidCore's access to your Procore account.

Projects & Budget Line Items

Each ProBidCore project corresponds to one Procore project. The Procore Project ID links them.

FieldDescriptionRequired for sync
WBS CodeWork Breakdown Structure code (e.g. 03-0000)
DescriptionLine item description (pushed to Procore)
Cost TypeMaterials, Labor, Subcontractor, Equipment, Other
QuantityNumeric quantity of units
UOMUnit of measure (SF, LF, CY, LS, EA, HR, TON, etc.)
Unit CostCost per unit in USD

Finding your Procore Project ID: Open your project in Procore. The numeric ID appears in the URL: procore.com/123456/project/home

Syncing to Procore

When you click "Push to Procore," ProBidCore performs these steps in order:

Check connection

Verifies your Procore OAuth token is valid and refreshes it if needed.

Validate project

Confirms the project has a Procore Project ID and at least one line item.

Check budget lock

Calls GET /rest/v1.0/projects/{id}/budget to detect if the budget is locked (HTTP 422 = locked). If locked, sync is aborted with a clear message.

Push line items

Sends POST /rest/v1.1/budget_line_items for each line item with calculation_strategy: manual. Re-syncing a project updates the same Procore budget rows it created before (via PATCH) rather than duplicating them.

Log results

Records the sync attempt, number of items synced, and any errors in the sync history.

Demo Mode

Without a Procore connection, ProBidCore runs in Demo Mode — line items are marked synced locally but nothing is pushed to Procore. This is useful for testing your estimates before connecting your account.

OAuth 2.0 Details

ProBidCore uses Procore's Authorization Code Grant flow as required by the Procore App Marketplace. This ensures ProBidCore acts on behalf of the user's specific permissions, not as a service account.

// Authorization request

GET https://login.procore.com/oauth/authorize

?response_type=code

&client_id=YOUR_CLIENT_ID

&redirect_uri=https://probidcore.com/api/procore/callback

&scope=budgets:read+budgets:write+projects:read

Token URL

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

Token lifetime

7,200 seconds (2 hours)

Refresh grant

grant_type=refresh_token

Scopes requested

budgets:read, budgets:write, projects:read

API Reference

ProBidCore exposes a REST API for programmatic access. All endpoints are under /api.

GET/api/projects
POST/api/projects
GET/api/projects/:id
PATCH/api/projects/:id
POST/api/projects/:id/sync
GET/api/projects/:id/sync-logs
GET/api/procore/status
GET/api/procore/auth
POST/api/procore/disconnect

Troubleshooting

"Budget is locked" error during sync
Go to your Procore project → Budget → Settings and unlock the budget. ProBidCore cannot push to a locked budget per Procore's API rules.
"No Procore Project ID" error
Edit the project in ProBidCore (pencil icon on the Projects page) and enter your Procore Project ID. This is the number in your Procore project URL.
"Token Expired" shown in sidebar
Click the yellow warning badge to reconnect, or go to Settings and click 'Reconnect Procore'. This re-runs the OAuth flow to get a fresh token.
Line items synced but not visible in Procore
Check that your Procore user has the Budget permission. Also confirm the project's WBS codes exist in Procore — invalid WBS codes cause items to be rejected silently.
OAuth authorization fails with an error
Ensure your Procore account has been approved for the ProBidCore app. Contact support@probidcore.com if the issue persists.

Still need help?

Reach out to our support team and we'll get back to you within one business day.

support@probidcore.com