Procore integration¶
| Stage | Building |
|---|---|
| Status | Partial |
| Design status | In review |
| Estimate | M |
| Confidence | Low |
| Linear | PIN-152 ↗ PIN-156 ↗ |
| Linear status | Done |
| Cycle | C14-C15 |
| Design | Design ↗ |
| Linear epic | Data Ingestion & Integrations |
| Module | Smart Import ↗ |
Priority: Low
Scope¶
Pulls Procore bid packages into Cara's bid-invites inbox (not the confirmed bid list) via webhook push, with manual sync as fallback; addendum and document changes on Procore update the existing invite. Upserts by external ID so re-syncs never create duplicates. (Source: PIN-152, PIN-156.)
Acceptance criteria¶
- Procore bid packages sync into the bid-invites inbox as source-tracked, deep-linked records, not directly into the bid list
- Webhook push creates a new invite when a bid arrives, and updates it on addendum or document changes
- Re-sync upserts by external ID — no duplicate invites
- Webhook signature verified before processing; manual sync button available as fallback
- Declining an invite notifies Procore via an auto-reject webhook
- Sync actions gated to Exec + Admin roles
Conor's comments¶
This isn't a Cara design page
Notes¶
INFRA / NO DESIGN - not a Claude Design surface; build item, not awaiting design sign-off. Backend service + proto shipped; usage/scope unclear; monorepo-only (no cara-docs/design source)
Open question for Conor¶
Is Procore integration in scope / active for launch?