# How to add Microsoft Teams to ECI E2 Shop System

> Source: https://netray.co/integrations/e2-shop-microsoft-teams
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Integrations

## Short answer

Build a Teams bot or workflow that reads E2's SQL Server data on a schedule, posts adaptive cards for alerts and approvals, and sends decisions to a reviewed queue. Entra ID handles who may click, and E2 itself stays on the shop network.

## System

ECI E2 Shop System

## Capability

microsoft-teams

## Intro

Many E2 shops already live in Microsoft 365 for email and files, and Teams is where estimators, planners, quality and the front office talk all day. E2, meanwhile, is a desktop client where information waits for someone to open the right screen. The gap is that nobody is told when a hot job slips or a PO needs a signature.

Teams is a good fit because it gives you structured messages, identity from Entra ID, and mobile push for free. You do not need to replace E2 or re-platform it. You need a thin service that turns database events into cards and turns button clicks into reviewed actions.

The sections below cover the data you can use, the bot options Microsoft currently offers, how approvals should be written back, and the trade-offs of a Power Automate approach versus a custom bot.

## Use Cases

### Late job alerts for the planner channel

**Description:** Post a card in a Production channel when a job's due date is at risk, showing job number, customer, current operation and the next work center.

### PO approval cards

**Description:** Send a purchase order above a threshold to the approver with vendor, total, requisitioner and lines. Approve or reject buttons record the decision in a queue.

### Quality alerts

**Description:** When a nonconformance, rework or scrap entry is logged, notify the Quality team with part number, job and reason code so containment starts early.

### Ask E2 in a chat

**Description:** A bot answers questions such as open orders for a customer, a part's on hand quantity or the status of a job, using read-only queries and showing the data source.

### Shipping desk notifications

**Description:** Tell the shipping channel when a job completes inspection and the order is ready to pack, with customer ship-to and requested date.

### Daily huddle summary

**Description:** Post a morning card with shipments due today, past due POs, open quotes and jobs in hold status, ready for the standup.

## System Surface

SQL Server tables for jobs, job operations, purchase orders, sales orders and shipments can be queried with a read-only login. Confirm names against your own E2 version.

Event detection is usually by polling with a last-seen marker, because classic E2 installs do not publish a message bus or outbound webhooks.

Any supported E2 integration module or web service available at your site can serve as the read and write path. Verify licensing with ECI first.

Approvals and sign-offs inside E2 may be role-based in the application, so a Teams click should not directly change a status; it should create a request that an authorised E2 user completes.

On a hybrid setup, Microsoft's on-premises data gateway or a small agent in your network can bridge SQL Server to Power Automate flows without opening inbound ports.

## How It Works

### Choose the Teams building block

**Detail:** For simple alerts use an incoming webhook or Workflows connector. For approvals and questions, build a bot using the Teams SDK or the Bot Framework, with adaptive cards. Microsoft changes these options periodically, so check current guidance.

### Register the app in Entra ID

**Detail:** Create an app registration, define the permissions the bot needs, and restrict installation to specific teams. Map approvers to Entra groups.

### Build the E2 reader

**Detail:** A service on the shop network polls SQL Server with a read-only login and tracks the last processed event so cards are not repeated.

### Design the cards

**Detail:** Keep each adaptive card to the five or six fields a person needs to decide, plus a link to open the record in E2 or a web view.

### Capture decisions

**Detail:** Button actions post back to the bot, which records user, time and decision in a request table and notifies the E2 user who completes the action.

### Close the loop

**Detail:** When the E2 user completes the transaction, the service edits the original card to show the outcome and who processed it.

## Example Flows

### Large PO approval

**Trigger:** A PO over a set value is saved and awaiting approval.

**Steps:**

- The poller sees the new PO and builds a card with vendor, lines and total.
- The bot sends it to the approver group in Teams.
- The approver clicks Approve, which is stored with their Entra identity.
- The buyer gets a notification to release the PO in E2.

**Result:** Approvals happen in minutes on a phone, and E2 still records the final release by an authorised user.

### Hot job slip alert

**Trigger:** A job's scheduled completion moves past its customer due date.

**Steps:**

- The query compares job due dates with scheduled operation dates.
- A card goes to the Production channel with job, customer and bottleneck work center.
- A planner clicks Acknowledge and adds a short note.
- The note is stored and shown in the next daily huddle card.

**Result:** Slippage is seen the same day instead of at the weekly review.

## On Prem

E2 usually runs on a Windows server inside the building, which fits well with Teams because Teams only needs outbound HTTPS from your side for most designs. Run the poller and the bot service on a server in your network or DMZ; Microsoft calls the bot's messaging endpoint, so that single endpoint needs a public HTTPS address with a valid certificate, ideally behind a reverse proxy that accepts only Microsoft's traffic. The SQL Server never needs to be exposed. If you cannot publish any inbound endpoint, use polling patterns such as Power Automate with the on-premises data gateway, accepting less interactivity. Keep message content to identifiers and status, and link back to E2 for sensitive detail like pricing. Natural-language questions can be answered by a locally hosted open-weight model, so question text and ERP data do not go to a third-party AI service.

## Security

- Authenticate users through Entra ID and check group membership before showing any card with financial data.
- Restrict the SQL login to read-only on the required tables and the request table only.
- Validate bot calls using the Bot Framework token checks, and log every decision with user and timestamp.
- Do not post customer pricing or margins in broad channels; use private chats or restricted channels.
- Review Teams retention and eDiscovery settings, because card content becomes part of your message records.

## Options

### Power Automate with on-premises data gateway

**Fit:** Shops already licensed for Power Automate that want scheduled alerts and basic approvals without code.

**Effort:** A few days per flow, with limits on interactivity and polling frequency.

### Custom Teams bot

**Fit:** Teams that want questions, rich approvals and card updates, and have developer capacity.

**Effort:** Roughly four to eight weeks including Entra setup and testing.

### Partner build with Netray

**Fit:** Shops who also want natural-language Q&A over E2 data using a private model.

**Effort:** A scoped project over several weeks, delivered with an E2 expert.

## Pitfalls

- Letting a button click write directly into E2 tables bypasses application checks; use a request queue.
- Posting every event to one channel creates noise and people mute it; route by role and severity.
- Webhook connector options in Teams have changed over time, so avoid designs that depend on retired connectors.
- Polling too often against a busy production SQL Server can slow the E2 client; use sensible intervals and indexes.
- Approver identity in Entra may not match E2 user names; keep a mapping table.

## Faq

### Can Teams approve a purchase order directly in E2?

**Answer:** It can capture the approval, but writing it into E2 safely depends on a supported integration path. Most shops record the decision in a queue and let an authorised E2 user finalise it. That keeps E2 validation and audit behaviour unchanged.

### Do we need a public endpoint for a Teams bot?

**Answer:** For an interactive bot, yes: Microsoft needs a reachable HTTPS messaging endpoint. Place it behind a reverse proxy. If that is not allowed, use simple outbound alerts or Power Automate with a data gateway.

### Is Power Automate enough?

**Answer:** For basic alerts and approvals it often is. You gain speed and low code but lose flexibility, and licensing for premium SQL connectors may apply. Choose a custom bot when you need conversational queries or custom card behaviour.

### Can a Teams bot answer questions about E2 data?

**Answer:** Yes, with a set of read-only queries or a model that generates them. For accuracy, start with a fixed list of questions, display the data source, and expand only after testing against your own schema.

### Will this slow down E2?

**Answer:** Not if designed well. Use a read-only login, poll at reasonable intervals, query only what changed since the last run, and consider a reporting replica if your server is already under load.

## Search terms

e2 shop system microsoft teams integration, teams bot for e2 shop system, e2 shop system teams notifications, eci e2 approval workflow teams, microsoft teams erp integration job shop, teams adaptive cards purchase order approval, e2 shop system power automate, add teams to on-prem erp, e2 shop system late job alerts, teams chatbot manufacturing erp

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
