# How to add Microsoft Teams to QAD Adaptive ERP

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

## Short answer

Build a Teams bot and incoming workflows that sit between QAD and your Microsoft 365 tenant. QAD events become adaptive cards in plant and department channels, approvals are answered inside Teams, and decisions post back to QAD through QXtend or web services. Entra ID identifies the person so QAD roles still apply.

## System

QAD Adaptive ERP

## Capability

microsoft-teams

## Intro

Most QAD users already spend their day in Teams: planners, buyers, quality engineers and plant managers. Yet the work that matters, such as a PO waiting for approval, a stock-out on a line item or a held lot, sits inside QAD screens that nobody opens until someone chases them.

Teams is a good fit for the alerting and approval layer because it already has identity, mobile apps, channels with history, and adaptive cards that can carry buttons. It is a poor fit for heavy data entry. The right design keeps QAD as the system of record and makes Teams the place where decisions are requested and recorded.

Because QAD Adaptive ERP is often hosted in a different network or by a hosting provider, the practical design question is how the Teams bot reaches QAD without opening the database to the internet.

## Use Cases

### Purchase order and requisition approvals

**Description:** Send an adaptive card to the approver with supplier, amount, cost center and item lines, with Approve, Reject and Ask question actions that return to QAD.

### Plant channel alerts

**Description:** Post late work orders, held lots, failed inspections or negative on-hand into the plant channel, so the right supervisor sees it in the same place as shift chat.

### Ask QAD in a chat

**Description:** A bot that answers questions such as what is open on PO 4500123 or where is lot L2301 using read-only QAD queries and the user's role.

### Engineering change and deviation notices

**Description:** Notify design, quality and purchasing when an item or BOM change is released, and collect acknowledgement with timestamps.

### Month-end close nudges

**Description:** Remind owners of open receipts not invoiced, unposted journals or unreconciled accruals, with a link or button to the right list.

### Customer escalation rooms

**Description:** Create a Teams channel for a critical order, populate it with sales order, shipper and work order status, and refresh it on events.

## System Surface

Progress OpenEdge database tables for reads (po_mstr, pod_det, wo_mstr, ld_det, so_mstr and related), reachable through SQL-92 over ODBC or JDBC from a server inside the network.

QXtend or the QAD Enterprise Platform integration services for writes, so an approval executes the same ABL logic as a screen. Names and endpoint formats vary by release.

QAD REST and web service endpoints where your version publishes them, useful for item, order and inventory reads that respect business rules.

QAD workflow and approval features (requisition or PO approval levels, depending on configuration) hold the authoritative approver list. Teams should call into this rather than keep a parallel list.

Microsoft side: Azure Bot Service or the Teams SDK, adaptive cards, Power Automate Workflows for simple alerts, Microsoft Graph for channel creation, and Entra ID app registrations.

Network pattern: an on-premises data gateway or a service running in your network that connects out to Azure, so QAD does not accept inbound internet traffic.

## How It Works

### Decide bot versus workflow

**Detail:** For one-way alerts, a Power Automate workflow posting a card to a channel is enough. For approvals and questions, you need a bot that receives card actions and calls back.

### Register the app in Entra ID

**Detail:** Create the bot and app registration, set single-tenant access, define the Teams app manifest and get tenant admin consent. Decide whether it is personal, channel or both.

### Map Teams users to QAD users

**Detail:** Match Entra ID user principal names or employee IDs to QAD user IDs so the bot can enforce QAD domain and approval rules per person. Keep this mapping in a controlled table.

### Build the QAD connector

**Detail:** A service inside your network with a read-only database login for queries and an integration user for QXtend posts. Wrap each action as a named, narrow function, not free SQL.

### Design the cards

**Detail:** Create adaptive card templates for approvals, alerts and lookups. Keep identifiers in the card payload so the bot can verify that the action matches a pending request.

### Wire events and polling

**Detail:** Use QAD events from QXtend where available, otherwise poll status fields every minute or two. De-duplicate by document number and status so people do not get repeats.

### Pilot with one plant

**Detail:** Start with approvals and two alert types for one site, measure response times, then add more channels once the card design is trusted.

## Example Flows

### PO approval in Teams

**Trigger:** A purchase order reaches an approval level in QAD.

**Steps:**

- The connector reads PO header, lines, supplier and the next approver.
- The bot sends the approver an adaptive card with a PDF link and key lines.
- The approver taps Approve; the bot checks the identity and the pending state.
- The connector posts the approval to QAD and the PO moves to the next status.
- The buyer gets a confirmation message in the buyer channel.

**Result:** Approval time drops from days waiting for someone to log in, to minutes on a phone.

### Late work order alert

**Trigger:** A work order passes its due date with remaining quantity.

**Steps:**

- Scheduled query lists late orders by line and supervisor.
- The bot posts one summary card per line channel each morning.
- Supervisors reply with a reason code from a dropdown.
- Reasons are stored with the work order reference for the weekly review.

**Result:** Late order causes become data instead of anecdotes.

### Inventory question from a buyer

**Trigger:** A buyer asks the bot about on-hand for an item.

**Steps:**

- The bot resolves the item number and the user's QAD site access.
- A read-only query returns on-hand by site and location, plus open POs.
- The bot replies with a short table and the source query.

**Result:** Quick answers without opening QAD, scoped to what the person may see.

## On Prem

Teams is cloud, but the QAD side can stay entirely on-premises. Run the connector inside your network, have it make outbound connections to Azure Bot Service or a relay, and avoid inbound firewall openings to the QAD host. Keep card payloads minimal, with identifiers and short summaries, so full order data does not sit in Teams history unless you choose it. If you add a question-answering bot, host the language model in your own environment and let it call the same narrow QAD functions, so no ERP rows go to a public model API.

## Security

- Authenticate users through Entra ID and map them to QAD users before any QAD-backed action runs.
- Verify that every card action refers to a pending request and the approver is still the right person.
- Use separate read-only and write integration accounts, and expose named functions, not raw SQL, to the bot.
- Restrict channel posting for sensitive data such as pricing, and use private channels for commercial alerts.
- Retain an audit table of who approved what and when, in addition to QAD's own history.

## Options

### Power Automate workflows with a small QAD API wrapper

**Fit:** Alerts and simple approvals with modest volume, and a Microsoft 365 team comfortable with low-code.

**Effort:** 1 to 3 weeks for a first set of alerts

### Custom Teams bot with in-house connector

**Fit:** You need rich cards, per-user role enforcement and a roadmap of many flows.

**Effort:** 4 to 8 weeks for approvals and lookups

### Partner build with Netray

**Fit:** You want a Teams bot plus a private, on-prem model for natural-language questions over QAD, delivered with your QAD consultants.

**Effort:** Scoped after discovery

## Pitfalls

- Keeping a separate approver list in Teams that drifts away from QAD authority levels.
- Posting too many alerts to a shared channel until people mute it. Start with a few high-value events.
- Letting the bot run broad SQL so a chat question can scan large transaction tables during production hours.
- Treating a Teams button as sufficient for high-value commitments without the same controls QAD requires.
- Forgetting guest users and contractors, who may be in the channel but must not see commercial data.

## Faq

### Is there a standard QAD to Microsoft Teams connector?

**Answer:** Not one that we can state exists for every Adaptive ERP release. Check your QAD version and the QAD ecosystem for connectors. Otherwise the pattern is a bot or Power Automate flow on the Microsoft side and a small service using QXtend or web services on the QAD side.

### Can approvals in Teams replace QAD approvals?

**Answer:** They can be the interface for them. The decision should still be executed in QAD so authority levels, history and audit stay in one place. The Teams card is a front end, not a second source of truth.

### Does our QAD server need to be reachable from the internet?

**Answer:** No. Use a connector inside your network that connects out to Azure. Only the bot endpoint is public, and it contains no QAD credentials. That works for on-premises and hosted QAD environments.

### Can the bot answer free-form questions about inventory or orders?

**Answer:** Yes, if you add a language model that calls narrow, read-only QAD functions. Run the model privately if the data is sensitive. Always show the query or source record so people can check the answer.

### How long does a pilot take?

**Answer:** Alerts into one channel can be live in about a week. A bot with approvals for one site usually takes a few weeks including Entra setup, card design, user mapping and testing with real approvers. Wider rollout is mostly change management.

## Search terms

qad microsoft teams integration, teams for qad adaptive erp, qad teams bot, qad approvals in teams, qad adaptive cards, qad erp notifications teams, qad qxtend teams, microsoft teams erp approval workflow manufacturing, qad purchase order approval teams, qad entra id teams

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