Epicor Kinetic and Microsoft Teams integration
Epicor Kinetic runs procurement and finance. Microsoft Teams is where your teams collaborate. Connecting the two keeps procurement, accounts payable, and finance staff informed of PO approvals, invoice matches, and payment confirmations as they happen in Epicor, right inside the channels where work happens. No more manual notifications or log-in context switches.
What moves between them
Data flows one direction: from Epicor Kinetic into Microsoft Teams. ml-connector polls Epicor for new purchase orders, invoice approvals, invoice-to-PO matches, and payment postings on a schedule you define. Each record generates a formatted message posted to a designated Teams channel, including the vendor name, amount, date, and any approval status. Finance and procurement teams receive notifications in Teams without logging into Epicor, so time-sensitive approvals and exceptions surface immediately.
How ml-connector handles it
ml-connector stores both credential sets encrypted: the Epicor API Key and OAuth2 client credentials, and the Teams client ID and secret. It polls Epicor using OData queries filtered on UpdatedOn timestamps, respecting the Company segment requirement in Epicor v2 URLs. Because Epicor issues bearer tokens that expire in roughly one hour, ml-connector refreshes the token before each polling cycle and falls back to API Key auth if token refresh fails. For Teams, ml-connector authenticates once at startup and caches the access token, refreshing only when a POST returns 401. Messages are formatted with Adaptive Card JSON for rich layout in Teams, including sender, date, amount, and a deep link back to Epicor where applicable. Rate limits are not published by either vendor, so ml-connector starts with conservative polling intervals and tightens them as you tune the schedule. Every record carries a full audit trail and can be replayed if a Teams POST fails.
A real-world example
A mid-sized manufacturer with plants in two locations runs Epicor Kinetic for procurement and finance. The accounts payable team uses Microsoft Teams for daily coordination. Before the integration, invoice receipt, three-way matching, and payment approvals happened in Epicor while the team coordinated in Teams via manual status updates and screenshots. Invoices would arrive and sit in Epicor's exception queue without the team noticing until the AP manager checked the system the next morning. With Epicor and Teams connected, each invoice match exception and payment completion post instantly to the AP team channel. The team sees approvals as they complete and can route exceptions to the right approver within Teams, cutting approval cycle time from 2 days to 4 hours and eliminating the daily status meeting.
What you can do
- Post Epicor purchase orders to Microsoft Teams channels as they are approved, including vendor, amount, and delivery date.
- Notify your AP team of invoice-to-PO matching results, exceptions, and approval status without requiring Epicor access.
- Send payment posting notifications to Teams channels once invoices clear in Epicor, with vendor and amount details.
- Poll Epicor on a schedule you define, with support for both cloud (OAuth2) and on-premises (Token Resource Service) authentication.
- Deliver formatted, rich notifications in Teams Adaptive Card format that link back to the relevant Epicor records for quick reference.
Questions
- Does data flow from Microsoft Teams back into Epicor Kinetic?
- No. Teams is a notification destination only. ml-connector polls Epicor for events and posts them to Teams, but does not write data from Teams into Epicor. Teams has no ERP objects (vendors, invoices, GL accounts), so reverse flow is not possible.
- How does ml-connector handle Epicor's lack of webhooks?
- ml-connector polls Epicor on a schedule you define, using OData $filter queries on UpdatedOn timestamps to fetch only records changed since the last poll. This avoids the need for webhooks and gives you control over refresh frequency, balancing timeliness against API call volume.
- What authentication does ml-connector use for each system?
- For Epicor, ml-connector supports OAuth2 (cloud), API Key, or Token Resource Service (on-premises) depending on your deployment. For Teams, it uses OAuth2 client credentials against Microsoft Entra ID. Both credential sets are encrypted at rest and rotated when tokens expire or are manually refreshed.
Related integrations
More Epicor Kinetic integrations
Other systems that connect to Microsoft Teams
Connect Epicor Kinetic and Microsoft Teams
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started