How to add Microsoft Teams to Epicor Kinetic
Short answer
Use Kinetic BPM or Data Directive events to push alerts into Teams, and adaptive cards with approve or reject buttons for decisions. A bot or Power Automate flow calls the Kinetic REST API on the approver's behalf, with Entra ID identifying the user so Kinetic permissions still apply.
Kinetic customers on Microsoft 365 often find that approvals sit in the ERP for days because approvers do not open it daily. Their day lives in Teams. Moving the decision to where the person already is shortens that wait without changing who is allowed to approve.
Kinetic does have its own workflow and alerting features, including approval-style processes in more recent versions, and for simple email alerts those may be enough. Teams becomes worthwhile when you want interactive cards, channel-based triage for shortages or quality holds, and a searchable record in the place teams already talk.
The design question is identity. A card that lets anyone press approve is a control gap. Mapping the Teams user to a Kinetic user and checking authority in Kinetic before writing is what makes the integration auditable.
What teams use it for
PO approval cards
Post a requisition or PO over threshold to the approver with vendor, total, GL and a link to open it in Kinetic. Approve or reject runs the matching Kinetic update.
Shortage and expedite channel
Post MRP shortages for critical parts into a planning channel with owner mentions, so buyers acknowledge in-thread.
Quality hold alerts
When an inspection fails or a lot is placed on hold, alert quality and production leads with job, part and operation.
Job exceptions
Alert supervisors when a job operation exceeds its scheduled hours or a material issue goes negative.
Customer order escalations
Notify the account owner in Teams when a high-value order is placed on credit hold, with a button to request release.
Daily digest
Post a morning summary of late sales orders, open NCRs and past-due POs from a BAQ to a leadership channel.
Epicor Kinetic integration surface
- Business Process Methods and Data Directives to detect events such as PO creation, credit hold, or job operation completion, and call an Epicor Function or outbound HTTP.
- Kinetic REST API (v1 service endpoints and v2) for reading context and writing approval results; authentication options vary by version and deployment, commonly API key plus user credentials or token-based login.
- BAQs over REST for digest content, keeping the query logic in Kinetic where admins can maintain it.
- Epicor Automation Studio or workflow features in newer versions, which can trigger notifications natively; confirm what your version and license include before building custom.
- Kinetic user records and security groups, used to confirm that the Teams user mapped to a Kinetic user holds approval authority.
How it works
- 1
Choose the Teams pattern
Incoming webhook or Workflows connector for one-way alerts; a Bot Framework app for interactive adaptive cards and commands.
- 2
Register the app in Entra ID
Create an app registration, define the allowed tenant and consent scopes, and decide whether the bot acts as itself or on behalf of the signed-in user.
- 3
Map identities
Keep a table linking Entra user principal names to Kinetic user ids. Reject any action from an unmapped user.
- 4
Emit events from Kinetic
A post-processing directive calls an Epicor Function that posts a small event to your service, avoiding long synchronous work inside the transaction.
- 5
Render adaptive cards
Build the card from a BAQ or REST read: key fields, amounts, a deep link to the record, and Approve and Reject actions carrying a signed payload.
- 6
Execute and verify in Kinetic
On button press, re-read the document, confirm the approver's authority and state, then call the Kinetic update. Update the card to show who acted and when.
- 7
Audit
Log card id, Entra user, Kinetic user and result so internal audit can reconcile approvals.
Example flows
PO over threshold
Trigger: A PO is saved in Kinetic with a total above the approver's limit.
- The directive posts PO number and company to the service.
- The service reads vendor, lines and total and finds the approver by rules.
- A card goes to that person in Teams with Approve, Reject and Open in Kinetic.
- On Approve the service re-checks authority and calls the Kinetic update; the card is replaced with the outcome.
Result: Approvals complete in minutes, with the same authority checks as in the Kinetic client.
Critical shortage triage
Trigger: A nightly planning run produces a shortage on a part flagged critical.
- A scheduled BAQ pulls shortages with required date and demand source.
- The service posts one card per part into the planning channel and mentions the buyer.
- The buyer chooses Expediting, Alternate source or Not an issue.
- The choice is stored as a note on the part or PO for the next planning cycle.
Result: Shortage ownership becomes visible and nobody assumes someone else is chasing it.
Keeping data on-prem
With on-prem Kinetic, the Teams service must reach the Kinetic application server and Teams must reach the bot endpoint. Place the service in a DMZ or use a secure relay so the ERP itself is never exposed. Entra ID can federate with on-prem Active Directory so user mapping stays consistent. If you add natural-language commands in Teams, such as 'show me late orders for customer X', keep the model on your own GPUs and let it call a read-only tool layer over Kinetic, so ERP data does not go to an external model provider.
Security checklist
- Never trust the card payload alone; verify signature, expiry and the current Kinetic state before any write.
- Run the integration under a least-privilege Kinetic account and enforce approver authority using the mapped user's own security group.
- Limit channels: financial cards go to private channels or direct chats, not wide channels.
- Do not paste sensitive fields such as cost breakdowns into cards; use deep links to the Kinetic record.
- Rotate secrets and restrict the bot to your tenant only.
Ways to get it done
Power Automate or Teams Workflows with HTTP actions
Effort: Days; license and throttling limits apply.
Notifications and simple approvals where flows can poll a BAQ or receive a directive call.
Custom Teams bot with adaptive cards
Effort: Several weeks including Entra setup and security review.
Richer approvals, commands, per-user identity and audit requirements.
Partner build with Netray and your Epicor consultant
Effort: A few weeks for the first scenario; scales with number of cards.
Combined approvals plus an AI assistant in Teams answering questions over Kinetic data.
Pitfalls
- !Posting every transaction creates alert fatigue within a week. Alert on exceptions and thresholds only.
- !Adaptive card features differ by Teams client; test on desktop and mobile.
- !Approvers who are not Kinetic users cannot be authority-checked; decide that policy upfront.
- !Synchronous callouts from a BPM directive can slow or fail a save. Make them asynchronous with retry.
- !Cards go stale. Always re-read the document before writing.
Frequently asked questions
Can Kinetic send alerts to Teams without code?
Partly. Kinetic can send email, and Teams can receive email into a channel, or a Workflows or Power Automate flow can be triggered from a directive web call. Interactive approvals with identity checks usually need a small bot or service.
How does the approver's Kinetic permission get checked?
Map the Entra user to a Kinetic user, then perform the update using an account that can verify that user's authority, or check the security group before writing. The card button is only a request; Kinetic rules decide.
Does this work with Epicor Kinetic cloud?
Yes in principle, since the REST API is reachable. Cloud deployments may restrict custom code and inbound calls, so confirm with Epicor what directives, functions and outbound web calls are allowed in your tenant.
Can we ask questions about Kinetic data inside Teams?
Yes with an assistant bot that calls read-only BAQs or REST reads. For regulated data, serve an open-weight model locally and keep answers limited to what the mapped user is allowed to see.
What is the main failure mode?
Weak identity. If a card action runs under a shared service account without checking who pressed it, approvals become unauditable. Map users and enforce authority in Kinetic before any write.
Want Microsoft Teams working on your Epicor Kinetic?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessment