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 , iPaaS

Scope this integration Book a scoping call Estimate the cost

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.

Objects that sync between Epicor and HubSpot
Source object HubSpot object 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.

The service reads the source on a schedule using a changed-since watermark, upserts each record keyed on its source identifier, then runs a separate associations pass.

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.

  • iPaaS

    Possible

    Epicor 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

    Possible

    Commercient'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

  1. Scope. We confirm which Epicor product and release you run, where it is hosted, how many companies it holds and which objects sellers need.
  2. Architect. We fix the objects, the company-scoped keys, the checkpoint per object and the API key’s access scope, and write them down.
  3. 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.
  4. Validate. We reload each object into a HubSpot sandbox and reconcile counts per company with the person who owns the ERP.
  5. 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.

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 Epicor integration

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

  • Epicor

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