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
Create an account
Go to probidcore.com/app and click Get Started. No credit card required.
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.
Create your first project
Click 'New Project' and enter your project name, description, and Procore Project ID.
Add budget line items
Open the project and click 'Add Line Item'. Enter the WBS code, cost type, quantity, UOM, and unit cost.
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 itemsbudgets:writePush ProBidCore estimate line items into Procoreprojects: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.
| Field | Description | Required for sync |
|---|---|---|
| WBS Code | Work Breakdown Structure code (e.g. 03-0000) | |
| Description | Line item description (pushed to Procore) | |
| Cost Type | Materials, Labor, Subcontractor, Equipment, Other | |
| Quantity | Numeric quantity of units | |
| UOM | Unit of measure (SF, LF, CY, LS, EA, HR, TON, etc.) | |
| Unit Cost | Cost 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/tokenToken lifetime
7,200 seconds (2 hours)Refresh grant
grant_type=refresh_tokenScopes requested
budgets:read, budgets:write, projects:readAPI Reference
ProBidCore exposes a REST API for programmatic access. All endpoints are under /api.
/api/projects/api/projects/api/projects/:id/api/projects/:id/api/projects/:id/sync/api/projects/:id/sync-logs/api/procore/status/api/procore/auth/api/procore/disconnectTroubleshooting
"Budget is locked" error during sync
"No Procore Project ID" error
"Token Expired" shown in sidebar
Line items synced but not visible in Procore
OAuth authorization fails with an error
Still need help?
Reach out to our support team and we'll get back to you within one business day.
support@probidcore.com