{
  "slug": "procore",
  "url": "https://apps.sectorgrowth.com/integrations/procore/",
  "name": "Procore",
  "vendor": "Procore Technologies",
  "aliases": [
    "Procore Construction Management",
    "Procore Bid Management",
    "Procore API",
    "Procore Technologies"
  ],
  "website": "https://www.procore.com/",
  "category": {
    "slug": "construction",
    "name": "Construction",
    "url": "https://apps.sectorgrowth.com/categories/construction/"
  },
  "summary": "Procore holds the project, the directory and the bid, but nothing about where the next project is coming from or who keeps recommending you.",
  "answer": "No. There is no Procore app in the HubSpot App Marketplace as of September 2026, only fuzzy matches, and the connectors that exist are listed on Procore's own marketplace rather than HubSpot's. The honest route is a service that subscribes to Procore webhooks and reconciles behind them, keeping the pursuit in HubSpot and the project in Procore. Neither system should try to own both.",
  "nativeApp": {
    "status": "none",
    "verifiedAt": "2026-09-22"
  },
  "api": {
    "style": "rest",
    "auth": "oauth2",
    "webhooks": "yes",
    "changedSince": "unknown",
    "sandbox": "yes",
    "rateLimit": "An hourly window and a ten second spike window per application, reported in the X-Rate-Limit-Limit, X-Rate-Limit-Remaining and X-Rate-Limit-Reset headers",
    "docsUrl": "https://procore.github.io/documentation/rest-api-overview"
  },
  "objects": [
    {
      "source": "Project",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "Procore project id in a custom HubSpot property",
      "notes": "A project is won work, so it sits beside the deal rather than inside it."
    },
    {
      "source": "Company directory entry",
      "hubspot": "company",
      "direction": "two_way",
      "key": "Procore company id",
      "notes": "Owners, architects and subcontractors share one directory, so a type property matters."
    },
    {
      "source": "Project directory contact",
      "hubspot": "contact",
      "direction": "to_hubspot",
      "key": "Email, with the Procore user id as the tie breaker"
    },
    {
      "source": "Bid package",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "Bid package id, associated to the project"
    },
    {
      "source": "Bid",
      "hubspot": "deal",
      "direction": "two_way",
      "key": "Bid package id plus the bidding company id",
      "notes": "A submitted bid is the only construction record that closes once."
    },
    {
      "source": "Change order",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "Change order number, associated to the project",
      "notes": "Change orders show account managers where a relationship is expanding."
    }
  ],
  "approaches": [
    {
      "kind": "custom",
      "fit": "recommended",
      "why": "Procore webhooks are explicitly best effort, so the only design that stays correct pairs an event queue with a paged reconciliation sweep and keys every record on its Procore id."
    },
    {
      "kind": "ipaas",
      "fit": "possible",
      "why": "A per-task platform can copy new projects or directory entries into HubSpot and is a fair way to prove the value. It has nowhere to recover from a dropped event, which Procore warns will happen."
    },
    {
      "kind": "native",
      "fit": "avoid",
      "why": "There is no HubSpot App Marketplace listing for Procore. Connectors sold on Procore's own marketplace are a separate product with their own mapping limits, not a first-party integration."
    }
  ],
  "effort": {
    "discoveryHours": [
      10,
      20
    ],
    "buildHours": [
      70,
      150
    ],
    "buildBand": "70 to 150 hours",
    "typicalElapsed": "4 to 8 weeks"
  },
  "pattern": "webhook-queue",
  "faqs": [
    {
      "q": "Is there a Procore app in the HubSpot App Marketplace?",
      "a": "No, and the fuzzy matches a portal search returns are not Procore apps. Connectors that join the two are listed on Procore's own marketplace instead, which means their mapping and their support belong to a third party. A build gives you the object model construction actually needs, with bids as deals and projects beside them."
    },
    {
      "q": "Are Procore webhooks reliable enough to sync on their own?",
      "a": "No, and Procore says so plainly: delivery is best effort rather than guaranteed. Events retry with exponential backoff for up to twelve hours and are then discarded. Treat webhooks as the fast path and pair them with a scheduled sweep that re-reads collections, otherwise a quiet outage becomes missing projects."
    },
    {
      "q": "What are the Procore API rate limits?",
      "a": "Procore enforces two windows, an hourly limit and a ten second spike limit, both counted per application. Rather than publishing one fixed number it returns X-Rate-Limit-Limit, X-Rate-Limit-Remaining and X-Rate-Limit-Reset on responses and asks you to treat those headers as the source of truth. Exceeding a window returns a 429."
    },
    {
      "q": "Which Procore sandbox should an integration be built against?",
      "a": "The developer sandbox, which Procore creates automatically when you register an app and seeds with sample data including project users, schedule tasks, a drawing set and an RFI. Its credentials are not interchangeable with production or with a customer's monthly sandbox, so plan for separate client ids per environment."
    },
    {
      "q": "How does a Procore integration authenticate?",
      "a": "With OAuth 2.0. An authorization code is issued at the authorize endpoint and expires in ten minutes, then exchanged for a bearer token at the token endpoint. Requests carry the token plus a Procore-Company-Id header on REST v1, while REST v2 puts the company in the path instead."
    },
    {
      "q": "Should a Procore project become a HubSpot deal?",
      "a": "No. A project is work that has already been won, and it can run for two years with change orders adding to it. The deal is the pursuit: the relationship, the bid and the decision to award. Map projects to a custom object associated to the deal, so a won pursuit keeps its history without distorting the pipeline."
    },
    {
      "q": "Can HubSpot write back into Procore?",
      "a": "Yes, and the directory is the place it belongs. A subcontractor qualified in HubSpot can be created or updated in the company directory so bid invitations reach the right address. Projects, budgets and change orders stay one way, because the cost record has to have one owner and that owner is Procore."
    },
    {
      "q": "What does a Procore and HubSpot integration take in hours?",
      "a": "Count on ten to twenty hours of discovery, then seventy to a hundred and fifty hours of build across projects, directory, bids and change orders, with signature-checked webhook ingest, a paged reconciliation sweep and a sandbox-first cutover. Agreeing which pursuits belong in HubSpot before the project exists is the discovery conversation that matters."
    }
  ],
  "sections": [
    {
      "depth": 2,
      "text": "Why teams connect Procore to HubSpot",
      "anchor": "#why-teams-connect-procore-to-hubspot",
      "url": "https://apps.sectorgrowth.com/integrations/procore/#why-teams-connect-procore-to-hubspot"
    },
    {
      "depth": 2,
      "text": "What syncs",
      "anchor": "#what-syncs",
      "url": "https://apps.sectorgrowth.com/integrations/procore/#what-syncs"
    },
    {
      "depth": 2,
      "text": "Architecture",
      "anchor": "#architecture",
      "url": "https://apps.sectorgrowth.com/integrations/procore/#architecture"
    },
    {
      "depth": 2,
      "text": "Three ways to connect",
      "anchor": "#three-ways-to-connect",
      "url": "https://apps.sectorgrowth.com/integrations/procore/#three-ways-to-connect"
    },
    {
      "depth": 2,
      "text": "What breaks and how we prevent it",
      "anchor": "#what-breaks-and-how-we-prevent-it",
      "url": "https://apps.sectorgrowth.com/integrations/procore/#what-breaks-and-how-we-prevent-it"
    },
    {
      "depth": 3,
      "text": "Dropped events Procore warns about",
      "anchor": "#dropped-events-procore-warns-about",
      "url": "https://apps.sectorgrowth.com/integrations/procore/#dropped-events-procore-warns-about"
    },
    {
      "depth": 3,
      "text": "Three sandboxes with separate credentials",
      "anchor": "#three-sandboxes-with-separate-credentials",
      "url": "https://apps.sectorgrowth.com/integrations/procore/#three-sandboxes-with-separate-credentials"
    },
    {
      "depth": 3,
      "text": "Mixing REST v1 and v2",
      "anchor": "#mixing-rest-v1-and-v2",
      "url": "https://apps.sectorgrowth.com/integrations/procore/#mixing-rest-v1-and-v2"
    },
    {
      "depth": 3,
      "text": "One subcontractor under several names",
      "anchor": "#one-subcontractor-under-several-names",
      "url": "https://apps.sectorgrowth.com/integrations/procore/#one-subcontractor-under-several-names"
    },
    {
      "depth": 2,
      "text": "Our approach",
      "anchor": "#our-approach",
      "url": "https://apps.sectorgrowth.com/integrations/procore/#our-approach"
    }
  ],
  "caseStudies": [],
  "guides": [
    "https://apps.sectorgrowth.com/guides/choose-a-hubspot-integration-approach/"
  ],
  "builtBySectorGrowth": false,
  "status": "published",
  "verifiedAt": "2026-09-22",
  "updatedAt": "2026-09-25",
  "authors": [
    {
      "name": "Prash",
      "role": "Lead of Technical Integrations and AI Solutions"
    }
  ],
  "sources": [
    {
      "title": "REST API Overview",
      "url": "https://procore.github.io/documentation/rest-api-overview"
    },
    {
      "title": "Procore API Authentication Endpoints",
      "url": "https://procore.github.io/documentation/oauth-endpoints"
    },
    {
      "title": "Rate Limiting",
      "url": "https://procore.github.io/documentation/rate-limiting"
    },
    {
      "title": "How Webhooks Work",
      "url": "https://procore.github.io/documentation/webhooks"
    },
    {
      "title": "Procore Sandboxes",
      "url": "https://procore.github.io/documentation/development-environments"
    },
    {
      "title": "Construction Bid Management Software | Procore",
      "url": "https://www.procore.com/bid-management"
    }
  ]
}