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 , iPaaSScope this integration Book a scoping call Estimate the cost
- Into HubSpot
- Two way
- Out of HubSpot
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.
| | | 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.
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.
-
Custom API integration
RecommendedPega can call an external endpoint from a step in a case flow through a Connect REST rule, so a keyed service can react to the case events that matter and read the full case through the Pega API, without paging data views on a timer.
-
iPaaS
PossibleA 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
AvoidNo 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
- 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.
- 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.
- Build. The service runs against the client’s Pega development environment and a HubSpot sandbox portal, with an OAuth client registered in each environment.
- Validate. In staging, every notifying flow runs end to end, and counts from the data views are reconciled against HubSpot.
- 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.
Also in Sales and marketing platforms
Related reading
Partnerships and accreditations
HubSpot accreditations
Industry specializations
Partnerships
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.
-
SOC 2
We build to support SOC 2 security controls, on platforms that hold SOC 2 reports of their own.
-
ISO/IEC 27001:2022
We build to support your information security program under ISO/IEC 27001:2022.
-
HIPAA
We scope BAA needs in discovery, then design builds around them for covered entities and their business associates.
-
GDPR
We scope data-processing needs in discovery and design builds to support your GDPR duties.
About the GDPR at the European Commission (opens in a new tab)
-
PIPEDA
We design builds to support your accountability for personal information as it moves between systems.
-
CASL
We can build consent capture and sync that support your CASL consent records.
Our builds run on
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.
Thanks, we will reply within one business day
Prash or Sean reads every one of these and comes back with a scope, or with the one question we need answered first.
Sources
- Pega Digital Experience (DX) API Overview docs.pega.com
- Considerations for choosing between a Pega API and a custom API docs.pega.com
- Data API performance and limitations docs.pega.com
- OAuth 2.0 client registrations docs.pega.com
- Connect REST rules docs.pega.com
- Pega Sales Automation API docs.pega.com
- Pega Sales Automation Data Model docs.pega.com
- Deploying application changes to your staging or production environment docs.pega.com
- Pega Sales Automation pega.com
- Pega Customer Service pega.com