HubSpot + Epicor integration
Epicor sells Kinetic to manufacturers and Prophet 21 and Eclipse to distributors. Which one you run, and where it runs, sets the HubSpot route.
Connects by API , iPaaSScope this integration Book a scoping call Estimate the cost
Epicor HubSpot - Into HubSpot
Is there an official Epicor + HubSpot integration?
Not from HubSpot or Epicor. As of September 2026 the HubSpot App Marketplace lists Epicor 9 & Kinetic SYNC, Data Lake, AI, MCP by Commercient, a third-party app, and a sibling Commercient app for Prophet 21. We recommend a custom API integration over Kinetic's OData REST services or the Prophet 21 API, at 70 to 150 build hours for customers, quotes, orders and invoices.
- Recommended route
- Custom API integration
- Build effort
- 70 to 150 hours
- In the HubSpot App Marketplace?
- Yes, Epicor 9 & Kinetic SYNC, Data Lake, AI, MCP by Commercient
- Typical elapsed time
- 4 to 8 weeks
Marketplace checked September 2026.
Why teams connect Epicor to HubSpot
Epicor is three ERPs under one name, and the first hour of any HubSpot project goes on finding out which one is in the building. Kinetic runs discrete and make-to-order manufacturers. Prophet 21 runs wholesale distributors, and Eclipse runs electrical, plumbing, HVAC and PVF distributors. They share a vendor, not a data model or an API, so a connector written for one reads nothing in the other two.
Each of them already carries some CRM of its own. Kinetic has lead and opportunity management and a mobile CRM app, Prophet 21 has contact management and quote tracking, and the CRM integration Epicor offers for Kinetic is to Salesforce. A business that runs marketing and sales in HubSpot ends up with the facts sellers need sitting in an ERP they never open: open quotes, orders on the way, invoices past due.
In practice the ask is narrow. Put open quotes on the company record so a seller can chase them. Flag an account with overdue invoices before somebody books a renewal call. Show a service rep what the customer bought last. Each of those is one object moving one way, and the Epicor product in front of us decides which API carries it. Settling that list first keeps the build to the records people will actually look at.
What syncs
Six objects cover what sellers ask for. The Epicor customer becomes a HubSpot company and its contacts become HubSpot contacts. Quotes become deals, because a quote is won or lost once and a deal already has that shape. Sales orders and invoices land on custom objects associated to the deal and the company, and parts become products, which Prophet 21 calls items.
Everything moves one way to begin with. Epicor owns the customer, the price and the order, and finance is right to be wary of a sales tool editing any of them. The write back worth planning is a won deal creating a customer, and we hold that for a second phase behind a review step.
Keys need one extra part. Kinetic works with multiple companies in one system and Prophet 21 lists multicompany management, so every key carries the Epicor company as well as the record’s own number, held in a custom HubSpot property. A key without the company is only safe until the second company goes live. Names never serve as keys, because they are the field people edit most.
| | | Direction | Match key | Notes |
|---|---|---|---|---|
| Customer | Company | Into HubSpot | Customer ID plus the Epicor company, held in a custom HubSpot property | Kinetic and Prophet 21 both run several companies in one installation. |
| Customer contact | Contact | Into HubSpot | Email, with the parent customer as the tie breaker | |
| Quote | Deal | Into HubSpot | Quote number plus company | A quote is won or lost once, which is the shape a deal already has. |
| Sales order | Custom object | Into HubSpot | Order number plus company, associated to the deal its quote opened | |
| Invoice | Custom object | Into HubSpot | Invoice number plus company, associated to the order | |
| Part | Product | Into HubSpot | Part number | Prophet 21 calls the same record an item and keys it on the item code. |
Architecture
Neither Kinetic nor Prophet 21 documents a webhook subscription on its public pages, so the runtime polls: a service reads each object on a schedule, starting from a stored watermark. For Kinetic, it calls the OData REST services, or a BAQ built for the integration, with an API key whose access scope names exactly the services it needs, alongside a dedicated Epicor user. For Prophet 21, it reads through the Data Services API, which Epicor describes as secure OData reads from the Prophet 21 database.
Each object keeps its own checkpoint in the service, per Epicor company, so a restart resumes where it stopped. HubSpot receives batch upserts keyed on company and number, followed by a separate association pass that links quotes to companies and orders to the deals their quotes opened. Running either step twice changes nothing.
A reconciliation job counts records per company and object on both sides after each cycle and reports the difference instead of hiding it. A replay endpoint re-reads any object for a chosen window.
What the API allows
- API style
- REST
- Authentication
- API key
- Webhooks
- Unknown
- Changed-since filter
- Unknown
- Sandbox
- Yes
- Rate limit
- Not documented
Developer documentation epicor.com
Three ways to connect
Three things decide the route on an Epicor project: which of the three ERPs you run, whether you already pay for Automation Studio, and how far past the customer record the sync has to reach.
A custom API integration is our default because it treats Kinetic and Prophet 21 the same way at runtime and carries quotes, orders and invoices on keys that survive a replay. Automation Studio is Epicor’s own iPaaS, powered by Workato, with Epicor-built connectors for all three ERPs. We start an Eclipse project there, because we have not found a public API reference for Eclipse. The Commercient apps in the marketplace are the third route, a packaged sync that Commercient runs and supports.
-
Custom API integration
RecommendedKinetic exposes its business objects and BAQs as OData REST services behind an API key, and Prophet 21 ships REST and OData APIs of its own, so one keyed service can read customers, quotes, orders and invoices on a schedule and write them into HubSpot without duplicates.
-
iPaaS
PossibleEpicor sells Automation Studio, an iPaaS powered by Workato, with Epicor-built connectors for Kinetic, Prophet 21 and Eclipse, and Workato publishes a HubSpot connector. It suits a team that already holds the licence and wants simple recipes it maintains itself.
-
Marketplace app
PossibleCommercient's apps for Epicor 9 and Kinetic and for P21 are third-party listings, so the mapping, the runtime and the support stay with Commercient. They fit a standard customer and order feed for a team that would rather not run anything itself.
What breaks and how we prevent it
Twice-yearly cloud upgrades
Epicor’s standard public cloud offering runs a twice-yearly upgrade cadence, so a Kinetic integration proven on one release meets the next within months. The same offering includes a Pilot environment. We rerun the integration’s checks in Pilot before each upgrade reaches production, and we hold the service to the objects and fields it has already proven.
An API key scoped too narrowly
Kinetic controls which services and methods each integration may call through API keys and access scopes, and security follows the ERP user behind the call. A key scoped for customers fails the day someone adds invoices to the sync. We list every service per object during Architect, request the scope once, and test each call in Pilot before cutover.
Two companies, one customer ID
A key built from the customer ID alone works until a second Epicor company goes live, then merges two customers into one HubSpot company wherever their IDs repeat. We carry the company in every key from the first run, which costs nothing on day one and saves a painful cleanup later.
A BAQ edited under the feed
BAQs are the quickest way to shape Kinetic data for export, and they are also something power users edit. A column renamed in a shared BAQ breaks the feed or quietly empties a field. We build dedicated BAQs named for the integration, compare each run’s column list with the agreed shape, and fail the run loudly when it changes.
Our approach
- Scope. We confirm which Epicor product and release you run, where it is hosted, how many companies it holds and which objects sellers need.
- Architect. We fix the objects, the company-scoped keys, the checkpoint per object and the API key’s access scope, and write them down.
- Build. The service is built against Kinetic’s Pilot environment, or a test copy of Prophet 21, with a HubSpot portal allowlist that fails closed.
- Validate. We reload each object into a HubSpot sandbox and reconcile counts per company with the person who owns the ERP.
- Operate. Cutover swaps the Pilot key for the production one. We watch the run history, keep replay available, and retest in Pilot before each upgrade.
Common questions
Is there a HubSpot app for Epicor Kinetic or Prophet 21?
Only third-party ones. Commercient lists one app for Epicor 9 and Kinetic and another for P21, and a marketplace search for Eclipse finds nothing named for it. Epicor's own CRM integration for Kinetic is to Salesforce. A Commercient app fits a standard customer and order feed, and a custom integration fits when quotes and invoices need your own keys and mapping.
How does an Epicor Kinetic integration authenticate?
With an API key plus the standard authentication of a Kinetic user. Epicor describes API keys and access scopes that decide which services and methods each integration may call, and security that follows the ERP user's own data permissions. We create a dedicated user and key for the integration, scoped to the services each synced object needs, so the key can reach nothing else.
Can Epicor Kinetic push a change to HubSpot the moment it happens?
Not through a documented webhook. Epicor's public pages describe no webhook subscription, so a sync reads on a schedule. Where a push matters, a BPM post-process directive can act on a Kinetic event and hand the work to Automation Studio or an Epicor Function. That is a customization to own inside Kinetic, and we add it only for the one object that needs it.
Which Prophet 21 API should a HubSpot sync read from?
Epicor lists four: the v2 P21 API, a stateless REST API on a metadata model; the Entity API, typed REST endpoints for specific business objects; the Interactive API, which drives a stateful session; and the Data Services API for secure OData reads. A one-way feed into HubSpot reads through the Data Services API, and a later write back belongs on the Entity or v2 API.
Does Epicor Automation Studio connect Kinetic to HubSpot?
It can, with work. Automation Studio is Epicor's iPaaS, powered by Workato, and it ships Epicor-built connectors for Kinetic, Prophet 21 and Eclipse, while Workato publishes its own HubSpot connector. The integration templates Epicor lists are for Salesforce, BigCommerce and SugarCRM, so plan to build the HubSpot recipe. It suits simple flows where the licence already exists.
How fresh is Epicor data in HubSpot after the sync?
As fresh as the schedule we agree for each object. Quotes and orders usually justify a short cycle because sellers act on them, while parts and invoices can run nightly. Where an object exposes a change date, each read starts from the last checkpoint and stays light, and we confirm which objects do during discovery. A BPM directive can push the one object that cannot wait.
What happens when an Epicor sync fails halfway or runs twice?
Nothing duplicates. Every record is written as a batch upsert keyed on the Epicor company and the record's ID, stored in a custom HubSpot property, so a rerun updates rather than creates. Associations run as a separate pass on the same keys. A failed run leaves its checkpoint where it was, and the next run, or a replay for a chosen window, starts there.
What does an Epicor and HubSpot integration take in hours?
Plan 10 to 20 hours of discovery and 70 to 150 hours of build for customers, contacts, quotes, orders, invoices and parts from one Epicor product. Discovery settles which product and release you run, how many companies it holds and what API access your hosting allows. A second Epicor product in the same business is a second discovery, not a percentage on top.
Also in Manufacturing and distribution ERP
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 Epicor 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
- Open REST API | Epicor epicor.com
- Epicor Automation Studio | Epicor epicor.com
- Cloud Strategy | Epicor epicor.com
- Epicor Prophet 21 Overview assets.epicor.com
- Epicor Kinetic | Epicor epicor.com
- Kinetic Customer Relationship Management | Epicor epicor.com
- Kinetic Global Business Management | Epicor epicor.com
- Business Process Management (BPM) | Epicor epicor.com
- Epicor Eclipse | Epicor epicor.com
- Workato connectors - HubSpot | Workato docs docs.workato.com