HubSpot + Pega integration

Pega runs service cases and sales opportunities as workflows on Pega Platform. Joining it to HubSpot means working through its case APIs and flows.

Connects by API , iPaaS

Scope this integration Book a scoping call Estimate the cost

Is there an official Pega + HubSpot integration?

No. The HubSpot App Marketplace returns nothing for Pega or Pegasystems as of September 2026, and HubSpot publishes no Pega app. We recommend a custom API integration: the Pega case flow calls our service through a Connect REST rule, and the service writes HubSpot and opens Pega lead cases through the Pega API, at 70 to 150 build hours after 10 to 20 hours of discovery.

Recommended route
Custom API integration
Build effort
70 to 150 hours
In the HubSpot App Marketplace?
No listed app
Typical elapsed time
4 to 8 weeks

Marketplace checked September 2026.

Why teams connect Pega to HubSpot

Pega is a platform for running work as cases. Pega Customer Service runs each service request as a case through the steps and rules the client defines, and Pega Sales Automation adds organizations, contacts, leads and opportunities on the same platform, with industry-specific data models. Everything is a case or a data object inside an application the client’s own Pega team builds and changes.

HubSpot comes in for the website, the forms, the email programs and the attribution that tell marketing which campaigns produce customers. The integration is asked to do two things: hand a contact who qualifies in HubSpot to Pega as a lead the sales process can pick up, and let marketing see what Pega did with it, from the opportunity it became to the service cases that followed.

What sets the pace is the Pega team rather than the API. Every event Pega sends out is a rule someone adds to a case flow, every data view it exposes is a data page someone configures for the API, and every change rides the client’s own release process from development through staging to production. Scoping starts with that team. If Pega is being replaced rather than joined, the migration or integration guide applies first.

What syncs

Five objects cover a first build. Pega organizations become HubSpot companies and Pega contacts become contacts, keyed on their Pega IDs, with email used only for a contact’s first match. Contacts move both ways because both sides change them: Pega when a service agent updates a phone number, HubSpot when a person updates their details on a form. Pega Sales Automation models the organization and its accounts as separate objects, so the company key is the organization, never an account number.

Leads run the other way. A contact that qualifies in HubSpot opens a lead case in Pega through the API, carrying the HubSpot record id, and the case ID Pega returns is written back to the contact. From then on, Pega’s lead process owns the outcome.

Opportunities come into HubSpot one way as deals, so marketing can attribute pipeline without editing it. Service cases arrive as a read-only custom object for context, because a case worked in two systems has two owners. Activities, households and quotes wait for a second phase.

Objects that sync between Pega and HubSpot
Source object HubSpot object Direction Match key Notes
Organization Company Into HubSpot Pega organization ID, held in a custom HubSpot property Pega Sales Automation models accounts as a separate object from the organization.
Contact Contact Two way Pega contact ID, with email for the first match
Lead Contact Out of HubSpot HubSpot contact id stored on the Pega lead case The case ID Pega returns is written back to the HubSpot contact.
Opportunity Deal Into HubSpot Pega opportunity case ID
Customer service case Custom object Into HubSpot Pega case ID A read-only copy for context, never worked in HubSpot.

Architecture

The pattern is a webhook queue, with Pega doing the calling. Pega’s documentation offers no webhook subscription for case changes, so the Pega team adds a Connect REST rule to each case flow in scope, referenced from an Integrator shape at the steps that matter, such as a lead converting or an opportunity closing. The call carries the case ID to our endpoint, which verifies it, queues it and acknowledges.

A consumer then reads the full case through the Pega API with an OAuth 2.0 client registered in Pega, maps it, and batch upserts into HubSpot on the Pega ID, with associations written in a separate pass. Leads flow back through the same client, created as new cases.

Reconciliation runs nightly against data views. The data API returns at most 5,000 results a page, and a data page sourced from a report definition times out after five seconds, so the Pega team exposes narrow, filtered data pages for the counts rather than one broad list.

A Connect REST rule in the Pega case flow calls the service at the steps the Pega team chooses; the service queues the event, reads the case through the Pega API and upserts HubSpot. Qualified HubSpot contacts return to Pega as lead cases, and a nightly data view read reconciles counts.

What the API allows

API style
REST
Authentication
OAuth 2.0
Webhooks
No
Changed-since filter
Partial
Sandbox
Yes
Rate limit
Not documented

Developer documentation docs.pega.com

Three ways to connect

For Pega, the decision is less about tools than about who does the Pega-side work. Every route needs the same changes inside Pega: a Connect REST rule in each case flow that should notify, a data page with API status for reconciliation, and an OAuth client registration. Once those exist, the only question is what receives the call.

A service we build receives it, reads the case, keys the record and reconciles every night. A general automation platform can receive it too, which suits a single case type at low volume, though it has nothing to replay from when a call goes missing. There is no marketplace app to weigh against either.

  • iPaaS

    Possible

    A general automation platform can receive the same Connect REST call and create HubSpot records, which suits one case type at low volume; it has no reconciliation to fall back on when a call goes missing.

  • Marketplace app

    Avoid

    No app for Pega or Pegasystems is listed in the HubSpot App Marketplace, so there is nothing to install and nobody else maintaining a mapping.

What breaks and how we prevent it

Notifications only where rules exist

Pega calls out only from flows where someone placed a Connect REST rule, so a new case type or a redesigned flow can stop sending without anyone noticing. We keep a list of the flows that notify, and the nightly reconciliation compares case counts by type, so a silent flow shows up as a gap within a day.

Five-second timeouts on data pages

The data API times out requests to data pages sourced from report definitions after five seconds, and caps a page at 5,000 results. A reconciliation query written against a broad data page fails at real volumes. We ask for narrow data pages, filtered on case type and update time, and page through them.

Embedded lists that grow on update

Pega’s Sales Automation API documentation warns that updating an embedded page list without the pzIndexes parameter adds a new entry instead of changing the existing one, so a contact’s address list grows with every write. Our writes pass the index for each embedded row, and we run every update twice in testing to prove the second changes nothing.

Pega’s own date format

Pega’s Sales Automation API expects date and time values in the YYYYMMDDThhmmss.SS GMT format, and a timestamp passed through in any other format breaks that rule. We convert at the boundary, in one function both directions use, and assert a known record on the first run.

Our approach

  1. Scope. We meet the Pega team first, list the case types and flows in scope, and agree who adds each Connect REST rule and data page.
  2. Architect. The event contract for each flow, Pega IDs as the keys, leads as the only records HubSpot creates in Pega, and the reconciliation queries.
  3. Build. The service runs against the client’s Pega development environment and a HubSpot sandbox portal, with an OAuth client registered in each environment.
  4. Validate. In staging, every notifying flow runs end to end, and counts from the data views are reconciled against HubSpot.
  5. Operate. Pega-side changes ride the client’s release process, and we watch the queue, the dead letters and the nightly counts.

Common questions

Is there a Pega or Pegasystems app in the HubSpot App Marketplace?

No. Searches of the HubSpot App Marketplace for pega and for pegasystems returned no apps at all in September 2026, and HubSpot publishes no Pega connector. The route is a custom API integration, with Pega calling out from its case flows and our service writing HubSpot and opening Pega lead cases through the Pega API.

How does an external service authenticate to Pega Platform?

Through an OAuth 2.0 client registration, a data instance in Pega that lets an external application call Pega REST services with an access token. Pega supports the authorization code, client credentials, password credentials, SAML bearer and JWT bearer grants, and we use client credentials for a server to server integration. Pega's Sales Automation API documentation also requires the calling operator to hold the PegaRULES:PegaAPI role.

Can Pega notify HubSpot when a case changes?

Not by subscription. Pega's documentation offers no webhook subscription for case changes, so the Pega team adds a Connect REST rule to the case flow, referenced from an Integrator shape at the step that should notify, and the case calls our endpoint when it reaches that step. Pega can also run REST connectors asynchronously through its integration agents, so a slow endpoint does not hold up the case.

What limits apply when reading Pega data pages through the API?

Requests to data pages sourced from a report definition time out after five seconds by default. A page returns 100 results unless you ask for more, and 5,000 at most; a larger result returns the first 5,000 with a message saying there are more. Data pages from built-on application layers are reachable only once their status is set to API.

Which Pega Sales Automation records can an integration create or update?

Pega's Sales Automation API documents get, create, update and search operations for contacts, accounts, organizations, opportunities and leads, all through the cases endpoint, with searches run against data pages such as the contact list. Dates must use the YYYYMMDDThhmmss.SS GMT format, and an update to an embedded list needs the pzIndexes parameter, or Pega adds a new entry instead.

Who does the Pega-side work in a Pega and HubSpot integration?

The client's Pega team or its Pega partner, because the changes live in the client's own application: Connect REST rules in the case flows, data pages set to API status, and the OAuth client registration. We write the event contract and the queries they implement, and their changes move through the client's release process from development to staging to production.

What does a Pega and HubSpot integration take in hours?

Plan on 10 to 20 hours of discovery and 70 to 150 hours of build on our side for organizations, contacts, leads, opportunities and a read-only case object, with a queue, keyed upserts and a nightly reconciliation. The Pega-side rules and data pages are separate time on the client's Pega backlog, and their release calendar sets the go-live date.

Partnerships and accreditations

  • HubSpot Elite Solutions Partner
  • HubSpot Custom Integration Accreditation
  • HubSpot CRM Data Migration Accreditation
  • HubSpot Solutions Architecture Design Accreditation

HubSpot accreditations

  • HubSpot Onboarding Accreditation
  • HubSpot Academy Accreditations

Industry specializations

  • HubSpot Healthcare Industry Specialist
  • HubSpot Financial Services Industry Specialist
  • HubSpot Manufacturing Industry Specialist
  • HubSpot Quote to Cash Capability

Partnerships

  • Anthropic Solutions Partner

Trust and compliance

We design integrations to support the security and privacy rules your business works under, and we build them on independently audited platforms.

How we build

  • Sandbox first. We build and test in a sandbox before anything reaches production.
  • Fail-closed allowlists. An integration runs only against the HubSpot accounts it is approved for.
  • Least-privilege access. Each integration gets only the API scopes it needs.
  • Secrets in a vault. Keys and tokens live in a secrets vault, never in plain text.
  • Sensitive data scoped early. Discovery covers sensitive data, access controls and any BAA or data-processing needs.
  • A compliance package for regulated industries: audit logging, field-level encryption and sensitive-data handling.

Scope a Pega integration

Send the systems, the direction and the record volume. We reply with a scope and an effort band within one business day.

  • Pega

Type any system and its version, such as Sage 300 or Sage 50. Press Enter or a comma after each one.

Add more detail (optional)

Optional. A sentence or two about the workflow is enough.

We use these answers to scope the work and for nothing else. Privacy policy.

Prefer to talk it through first? Book a technical scoping call

Talk to the people who build these

  • Nijat
  • Sean
  • Prash

Book a scoping call