ml-connector
Epicor KineticZendesk

Epicor Kinetic and Zendesk integration

Epicor Kinetic drives procurement, inventory, and finance for manufacturing and distribution teams. Zendesk runs customer support. Connecting the two puts vendor and customer data in front of your support agents so when a ticket comes in about a supplier issue, a late PO, or an invoice dispute, the context is already there. Agents see the vendor or customer record, their contact info, and recent transaction history without leaving Zendesk. ml-connector handles the API differences and keeps the data flowing on a schedule you control.

How Epicor Kinetic works

Epicor Kinetic exposes vendors, customers, purchase orders, AP invoices, GL accounts, items, and parts through OData v4 REST APIs. Cloud instances use tenant-specific URLs (https://<tenant>.epicorsaas.com/<instance>/api/v2/odata/<Company>/), while on-premises deployments use local server URLs. Epicor authenticates with Basic Auth, API Key headers, OAuth2 client credentials, or Token Resource Service depending on deployment model and customer preference. The platform has no native webhooks, so all integrations poll using OData $filter on date fields to retrieve changed records since the last sync, with offset pagination support via $top and $skip parameters.

How Zendesk works

Zendesk exposes tickets, users, organizations, and groups through REST APIs scoped to a customer subdomain (https://{subdomain}.zendesk.com/api/v2/). Authentication uses OAuth2 authorization code flow (recommended for connectors) or API token with basic auth. Zendesk also supports webhooks configured via the Webhooks API or Admin Center, with HMAC-SHA256 signature verification on inbound events. However, Zendesk has no native ERP or procurement entities such as vendors, invoices, purchase orders, or GL accounts, so Epicor data must map to Zendesk organizations and users to create support context.

What moves between them

Vendor and customer records flow from Epicor Kinetic into Zendesk. Vendors become Zendesk organizations, and vendor contacts become Zendesk users with organization affiliation. Customer records follow the same pattern. ml-connector polls Epicor on a regular schedule (configurable per customer), retrieves vendors and customers modified since the last sync, and upserts them in Zendesk so the organization and user database stays current. Related PO, invoice, and item data can be attached as custom fields or organization tags to give agents visibility into recent transactions without storing full financial records in Zendesk.

How ml-connector handles it

ml-connector maintains encrypted credentials for both systems and handles authentication differences: Epicor requires Basic Auth or OAuth2 with API Key headers depending on deployment, while Zendesk uses OAuth2 or API tokens. The connector polls Epicor using OData filters on the Vendors and Customers tables, retrieving records changed since the last sync timestamp. Each vendor or customer maps to a Zendesk organization, with contacts creating users and roles mapping to custom Zendesk fields. Because Epicor has no webhooks, polling runs on a configurable schedule tied to your procurement rhythm rather than real-time. Zendesk rate limits are respected with exponential backoff on 429 responses, and every poll cycle is tracked in the audit log so changes can be replayed if a downstream operation fails.

A real-world example

A mid-sized manufacturing firm uses Epicor Kinetic for procurement across 50 active suppliers and manages customer accounts for 30 key distributors. Their support team uses Zendesk to handle inquiries about PO status, delivery disputes, and invoicing questions. Before the integration, support agents had to ask customers to provide vendor or PO numbers, then manually look them up in Epicor, adding time to every ticket resolution. With Epicor and Zendesk connected, vendor and customer records flow into Zendesk as organizations, so when a supplier emails about a PO or a distributor calls about an invoice, the agent sees the full vendor record, recent orders, and contact hierarchy without leaving the ticket. Resolution time drops and customers get more informed responses.

What you can do

  • Sync Epicor vendors and customers to Zendesk as organizations, with full contact hierarchies as users.
  • Enrich support tickets with procurement context so agents see vendor or customer records, contact info, and transaction history.
  • Poll Epicor on a regular schedule tied to your procurement calendar, with support for both cloud and on-premises deployments.
  • Map Epicor's diverse authentication methods (Basic Auth, OAuth2, API Key, Token Resource Service) to Zendesk's OAuth2 or API token model.
  • Track all vendor and customer syncs in an audit log and replay changes if a downstream Zendesk write fails.

Questions

Which direction does data move between Epicor Kinetic and Zendesk?
Data flows one direction: from Epicor to Zendesk. Vendors and customers in Epicor sync to Zendesk as organizations and users so support agents see procurement context. Zendesk has no native invoices, POs, or GL accounts, so financial records stay in Epicor and are referenced through custom organization fields and tags in Zendesk.
How does ml-connector handle Epicor's lack of webhooks?
ml-connector polls Epicor on a configurable schedule using OData $filter queries on the Vendors and Customers tables, retrieving records modified since the last sync. This approach works for both cloud and on-premises Epicor deployments and lets you align polling with your procurement calendar rather than syncing in real time.
What happens if a vendor or customer update fails in Zendesk?
Every sync cycle is tracked in the audit log with the Epicor record data, poll timestamp, and Zendesk response. If a write fails, you can replay the change manually or trigger a resync from a known checkpoint without re-polling Epicor or losing audit visibility.

Related integrations

Connect Epicor Kinetic and Zendesk

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

Get started