ml-connector
Epicor KineticMonday.com

Epicor Kinetic and Monday.com integration

Epicor Kinetic manages your supply chain and finance. Monday.com organizes your team's work. When you connect them, purchase orders and vendor records flow from Epicor into Monday boards in real time, so your procurement teams always see the latest supplier activity without manual entry. ml-connector bridges Epicor's REST API and Monday's GraphQL, handling authentication, polling, and the mapping from ERP objects to work items.

How Epicor Kinetic works

Epicor Kinetic exposes purchase orders, vendors, customers, invoice details, and GL accounts through REST + OData v4 endpoints published at https://<tenant>.epicorsaas.com/<instance>/api/v2/odata/<Company>/ (cloud) or equivalent on-premises URLs. Authentication uses Basic Auth, API Key headers, OAuth2 client credentials, or Token Resource Service depending on deployment. Epicor has no native webhooks, so all changes are retrieved by polling with OData $filter on date fields such as UpdatedOn. Pagination uses $top and $skip parameters.

How Monday.com works

Monday.com exposes its work model via a single GraphQL endpoint at https://api.monday.com/v2, where boards contain items (rows) and columns (typed fields) representing work stages, owners, dates, and custom metadata. Authentication uses either a personal API token (scoped to a single user and their board access) or OAuth2 authorization code flow returning a Bearer token. Monday supports webhooks for board-level events such as item creation and column value changes, and enforces rate limits by plan tier (1000 to 5000 requests per minute) and complexity scoring. Column values in mutations must be JSON-encoded strings.

What moves between them

The main flow is Epicor Kinetic to Monday.com. After a schedule you configure, ml-connector polls Epicor Kinetic for new or modified purchase orders and vendor records using OData $filter queries on the UpdatedOn timestamp, and creates or updates Monday board items with those details. Vendor names, PO numbers, line amounts, and delivery dates populate Monday columns so your procurement team has a live view of supplier activity without re-keying. The reverse flow (Monday to Epicor) is not included; Monday serves as a view and communication board, not a source of truth for ERP changes.

How ml-connector handles it

ml-connector stores Epicor OAuth2 credentials encrypted and refreshes the Bearer token each hour before expiry; it also stores the Monday personal API token or OAuth2 token encrypted. On every poll cycle, it constructs an OData $filter query on Epicor's PurchaseOrders and Vendors endpoints filtering for UpdatedOn greater than the last sync timestamp, applies pagination with $top=100 and $skip offsets to retrieve all changed records, and parses the REST response. For each order and vendor, it translates the ERP object into a GraphQL mutation to create or update a Monday item on a board you configure, mapping Epicor fields (PONumber, VendorName, LineAmount, PromisedDate) to Monday columns. Monday's column value arguments require JSON-encoded strings, so ml-connector encodes amounts and dates accordingly. If Epicor's token expires mid-cycle (typical ~1 hour lifetime), ml-connector detects the 401 response, refreshes the token, and retries the failed request. Monday's rate limits are plan-dependent; ml-connector backs off on 429 responses and resumes. Every transaction is logged for audit, and if a Monday mutation fails, the record is flagged for replay on the next cycle.

A real-world example

A mid-market manufacturing distributor uses Epicor Kinetic to manage vendors and purchase orders across five regional warehouses, and uses Monday.com to coordinate the procurement team's daily work. Before the integration, the procurement manager exported purchase orders from Epicor each morning, copy-pasted the key details into Monday so the team could see what was on order, and re-entered any vendor changes by hand. This manual step was error-prone and delayed the team's view of supplier activity. With Epicor Kinetic and Monday.com connected, new POs appear on the procurement board within seconds of creation in Epicor, vendor status changes sync automatically, and the team focuses on exceptions and vendor conversations rather than data entry. Month-end reconciliation of on-order inventory is now tied directly to Epicor's source data.

What you can do

  • Sync new and updated purchase orders from Epicor Kinetic into Monday.com board items on a schedule you control.
  • Map Epicor vendor names, PO numbers, line amounts, and promised delivery dates to Monday columns for visibility across your procurement team.
  • Authenticate Epicor Kinetic with OAuth2 client credentials and refresh the token automatically when it expires within the standard one-hour window.
  • Poll Epicor Kinetic using OData $filter queries on UpdatedOn timestamps to retrieve only changed records since the last sync.
  • Handle Monday.com's GraphQL column encoding requirements and rate limits with automatic retries and a full audit trail of every sync cycle.

Questions

Which direction does data move between Epicor Kinetic and Monday.com?
The main flow is Epicor Kinetic to Monday.com. Purchase orders, vendor records, and line details move from Epicor into Monday boards so your procurement team has live visibility. Monday.com serves as a view and communication board, not a source of truth for changes back to Epicor; the reverse flow is not included in this integration.
How does the integration handle Epicor Kinetic's lack of webhooks?
ml-connector polls Epicor Kinetic on a schedule you set, using OData $filter queries on the UpdatedOn timestamp to retrieve only records changed since the last sync. This avoids re-fetching entire vendor or PO tables and keeps the integration light on Epicor's API quota. Polling runs at your chosen cadence, typically every 15 to 60 minutes.
What happens if Epicor's OAuth2 token expires during a sync cycle?
Epicor Kinetic's OAuth2 Bearer tokens expire after approximately one hour. ml-connector monitors for 401 responses, automatically refreshes the token using your stored client credentials, and retries the failed request without operator intervention. This keeps the polling cadence uninterrupted and transparent to your team.

Related integrations

Connect Epicor Kinetic and Monday.com

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started