How to add Microsoft Teams to JD Edwards EnterpriseOne
Short answer
Build a Teams bot or workflow that talks to the JD Edwards AIS Server through Orchestrator endpoints, authenticates users with Entra ID, and presents approvals as adaptive cards. JDE stays the system of record and every action runs under the approver's mapped JDE identity or a tightly scoped service user.
A lot of JD Edwards sites are in Microsoft-centric companies where Teams is already the daily workspace, yet approvals, exception alerts and quick lookups still require someone to open the EnterpriseOne web client. That friction is why requisitions sit for days and why planners keep a spreadsheet of things to check.
Teams is a good fit when the audience is internal staff: buyers, planners, controllers, maintenance and plant managers. Unlike WhatsApp it comes with corporate identity, conditional access and compliance retention, which matters when the action touches financials.
The integration has two halves. On the JDE side you expose small, named orchestrations through the AIS Server. On the Microsoft side you register an app in Entra ID, build a bot or use Power Automate and Workflows, and render adaptive cards. The tricky parts are identity mapping between Entra users and JDE users, and reaching an on-prem AIS Server from the cloud service safely.
What teams use it for
Requisition and PO approval cards
Post an adaptive card to the approver with requester, supplier, amount and line summary. Approve or Reject runs the matching orchestration.
MRP exception digests for planners
Each morning, post a channel summary of action messages from the planning workbench with deep links to the relevant JDE form.
Quality hold notifications
When lots are placed on hold in inventory (F4108 lot status), alert the quality channel with item, lot and location.
Ask JDE in chat
A bot command like order 40123 returns status, ship date and held reason using a read-only orchestration.
Month-end close checklist alerts
Notify the finance channel when unposted batches remain in the batch control table (F0011) as close deadlines approach.
Work order escalation to maintenance
Post overdue or high-priority work orders from F4801 to the maintenance team channel with an acknowledge button.
JD Edwards EnterpriseOne integration surface
- AIS Server REST with Orchestrator endpoints as the controlled entry point; token-based sessions are preferable to passing JDE passwords.
- Orchestrator Studio notifications and schedules for outbound triggers, and Real Time Events where your Tools release supports the event you need.
- Work Center and workflow approval objects, which hold the real approval state you must keep consistent with Teams actions.
- Read tables through AIS data requests: F4301/F4311 purchase orders, F0411 AP ledger, F4801 work orders, F4108 lots. Avoid direct SQL from the bot.
- JDE user and role security (including row and application security) to decide what each mapped user may see.
- One View Reporting for ad hoc dataset queries where an orchestration is overkill.
How it works
- 1
Decide the pattern
Use Power Automate or Teams Workflows for simple notification flows, and a bot built with the Microsoft 365 Agents SDK or Bot Framework for conversational lookups. Product names have shifted over time, so check current Microsoft docs.
- 2
Register the app and identity
Create an Entra ID app registration, define scopes, and map each Entra user principal to a JDE user ID in a maintained table. Unmapped users get read-only public data or nothing.
- 3
Expose JDE through Orchestrator
Build one orchestration per action, such as GetOrderStatus, ApproveRequisition and ListHeldLots, each with strict inputs and a clear error shape.
- 4
Bridge to on-prem
Put a small relay inside your network that calls AIS and talks outbound to the bot service, or publish the AIS path through an API gateway with mutual TLS. Avoid opening AIS directly to the internet.
- 5
Design adaptive cards
Keep cards compact: key facts, one primary action, a deep link to the JDE form. Include a correlation ID and make actions idempotent so a double tap does nothing harmful.
- 6
Sync approval state
When someone approves in JDE instead of Teams, update or remove the card so it cannot be actioned twice.
Example flows
Requisition approval in Teams
Trigger: A requisition lands in an approver's Work Center queue.
- A scheduled orchestration lists pending approvals since the last watermark.
- The relay posts an adaptive card to the approver's chat.
- The approver taps Approve; the bot confirms the Entra identity and its JDE mapping.
- ApproveRequisition runs under the mapped user and the card updates to show the result.
Result: Approvals complete from a phone or laptop without opening JDE, and the JDE audit trail is intact.
Planner asks about a shortage
Trigger: A planner types a part number into the bot.
- The bot calls a read-only orchestration returning on-hand, open demand and next receipt.
- It formats the answer as a card with a link to the item availability form.
- If the user lacks security for that business unit, the bot says so instead of guessing.
Result: Quick availability checks without a swivel to another screen.
Keeping data on-prem
A fully on-prem JDE can still use Teams. Run a relay service in your network that polls AIS on a schedule and pushes cards outward over HTTPS, so no inbound port to JDE is required. Conversational lookups need the bot service to reach the relay, which you can do with an outbound-initiated tunnel or an API gateway restricted to the bot's addresses. If you add natural-language understanding, serve an open-weight model on your own GPUs and let it map phrases to your fixed orchestration list rather than producing arbitrary queries.
Security checklist
- Authenticate with Entra ID and enforce conditional access and MFA for anyone able to approve.
- Run actions under the mapped JDE user wherever possible, so JDE security and audit still apply.
- Scope each orchestration narrowly and exclude financial postings from the bot entirely unless reviewed.
- Store no JDE passwords in the bot; use tokens with short lifetimes and rotate service credentials.
- Retain card interaction logs for audit and align with your Teams retention policy.
Ways to get it done
Power Automate or Teams Workflows with a JDE REST call
Effort: Days; limited conversational ability.
Quick to stand up for alerts and simple approvals when AIS is reachable.
Custom bot on AIS and Orchestrator
Effort: Several weeks including identity mapping and testing.
Best for lookups, mapped identity and rich cards.
Partner build with Netray
Effort: Pilot scoped around a few high-value flows.
Fits teams that want natural-language questions answered by a private model with the same Teams front end.
Pitfalls
- !Letting the bot run everything under one super user, which erases per-person accountability.
- !Forgetting that a user approved in JDE leaves a stale actionable card in Teams.
- !Exposing the AIS Server publicly to make the bot work.
- !Posting full order details in a wide channel when only a few people are authorised to see pricing.
- !Ignoring Tools release differences for notifications and event features before designing triggers.
Frequently asked questions
Is there a standard Teams connector for JD Edwards?
There is no widely used built-in one. Most teams call AIS and Orchestrator endpoints from Power Automate, a custom bot, or an integration platform. Check with your integration vendor whether a packaged connector exists for your release.
Can approvers act from the Teams mobile app?
Yes. Adaptive cards render in the mobile client, and the action calls your bot, which then runs the JDE orchestration. Make sure identity checks and session handling work off the corporate network.
How do I map Teams users to JDE users?
Keep a mapping table from Entra user principal name or object ID to JDE user ID, owned by IT, and reject actions from unmapped users. Do not infer the mapping from display names or email text alone.
Does this require JDE in the cloud?
No. An on-prem JDE works if you give the bot a safe path to AIS, usually through an internal relay or an API gateway. The integration cares about network reachability, not hosting location.
Should Teams replace JDE Work Center?
Usually not. Treat Teams as a convenient front door for notifications and quick actions, and keep Work Center as the authoritative queue so audit and reassignment still behave normally.
Want Microsoft Teams working on your JD Edwards EnterpriseOne?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessmentTry it here, free
JD Edwards Orchestrator Design Template
A fill-in design document for a JD Edwards Orchestrator orchestration: purpose, inputs, steps, rules, outputs, security and test cases.
New to JD Edwards EnterpriseOne? Start with the JD Edwards EnterpriseOne guide and toolkit, or plan with Training Path Builder, Upgrade Path Planner, ERP Table and Field Explorer.
Keep exploring
Free tools
- JD Edwards Orchestrator Design TemplateA fill-in design document for a JD Edwards Orchestrator orchestration: purpose, inputs, steps, rules, outputs, security and test cases.
- JD Edwards Orchestrator and AIS REST Call GeneratorFill in your AIS host, orchestration name and inputs to get a working Python requests script and curl commands that call a JD Edwards EnterpriseOne 9.2 orchestration.
- JDE Orchestrator API Concurrency Sizing CalculatorConvert peak calls per hour and average response time into concurrent requests, threads and JVM count, with a burst factor.
ERP fixes and how-tos
- How to Add a Private AI Layer to JD Edwards EnterpriseOne On-PremAdd a private AI layer to JD Edwards EnterpriseOne: AIS data service, Orchestrator, Security Workbench mapping, a local model and human approval.
- How to set up JD Edwards Orchestrator (step by step)Set up a working JD Edwards Orchestrator end to end: enable the AIS server, build a form or service request, wire it into an orchestration, and call it over REST.
- JD Edwards API Documentation: AIS REST, Orchestrator, BSSV and Connector OptionsJD Edwards integration options explained: AIS REST, Orchestrator, business services (BSSV), Z-files and third-party connectors such as Concur, with trade-offs.
Runs with your ERP
- Oracle Digital Assistant, OCI AI and JD Edwards OrchestratorHow JD Edwards Orchestrator calls OCI REST APIs for a chat assistant, document understanding and generative AI, with setup steps, pitfalls and on-prem options.
- Oracle CPQ and JD Edwards EnterpriseOne: quote to sales orderHow Oracle CPQ integrates with JD Edwards EnterpriseOne: customer data into quotes, sales orders created from quotes, and status back, with setup and pitfalls.
- Oracle CPQ configure-to-order with JD Edwards via SOA Suite and OrchestratorA Birlasoft implementation case: Oracle CPQ options feed the JD Edwards work order parts list via SOA Suite and Orchestrator, with setup steps and pitfalls.
AI on your ERP
- AI for JD Edwards EnterpriseOne, Built on Orchestrator and AISAdd AI to JD Edwards E1 9.2 using Orchestrator, AIS, and BSSV rather than screen-scraping. Ground a private LLM on F4211, F4111, and F0411 data.
- AI for JD Edwards Inventory Management and Shop Floor ManufacturingAI on JD Edwards EnterpriseOne inventory and manufacturing: item ledger, work orders, MRP messages and cost variances, answered in plain English on your own servers.
Integrations
- How to connect Microsoft Teams to JD Edwards WorldSend JD Edwards World approvals and alerts into Microsoft Teams with adaptive cards, Power Automate or a bot, using IBM i data queues, DB2 for i and Entra ID.
- How to add Slack to JD Edwards EnterpriseOneConnect Slack to JD Edwards EnterpriseOne with AIS REST and Orchestrator: slash commands, interactive approvals, shortage alerts and an on-prem relay design.