# How to add Microsoft Teams to proALPHA

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

## Short answer

Add Teams to proALPHA by building a bot or workflow that listens for ERP events, posts adaptive cards to a channel or person, and sends approvals back through proALPHA's web services. Use Entra ID to map Teams users to ERP users so authorisations are respected. The ERP stays where it is, and only the thin connector needs to be reachable.

## System

proALPHA

## Capability

microsoft-teams

## Intro

A proALPHA user spends most of the day in the ERP client, but approvers, plant managers and sales staff spend theirs in Teams. They see ERP work only when someone e-mails them or walks over. That is where purchase requisitions wait, quality holds age and customer questions sit.

Teams gives you a place to put the question in front of the right person, with a button, in the tool they already have open. For a mid-market manufacturer on proALPHA this is often a smaller project than a full mobile app, because the Teams client already handles mobile, notifications and identity.

The integration surface in proALPHA depends on the version and on which interface modules are licensed, so treat the API names below as a map to confirm, not a guarantee.

## Use Cases

### Purchase requisition approvals

**Description:** An adaptive card shows requester, cost centre, amount and supplier with Approve and Reject buttons. The click calls proALPHA to record the decision under the approver's identity.

### Quality hold alerts

**Description:** When a lot or serial number is blocked after incoming inspection, post to the quality channel with item, supplier and a link to the record, and open a thread for disposition decisions.

### Order and stock lookups

**Description:** A Teams bot answers questions such as status of order number X or stock of item Y by running read-only calls, so sales does not need an ERP seat for simple checks.

### Production disruption notices

**Description:** Post machine downtime, missing material or late work orders from the planning module to a shift channel with the affected orders listed.

### Month-end close reminders

**Description:** Daily posts listing unposted goods receipts and open invoice matches, assigned to named owners, until the numbers clear.

## System Surface

- proALPHA web service interfaces for reading and writing business objects; confirm the exposed service list for your release and licence.
- Progress OpenEdge database accessible read-only over JDBC or ODBC for status queries and for finding changed records.
- proALPHA workflow engine and notification functions that can call an outbound URL or write to a queue, depending on version.
- User and role data in proALPHA, which you map to Entra ID user principal names for authorisation checks.
- Document links, so cards can deep-link to the right object in the client or a web view when available.

## How It Works

### Register the Teams app in Entra ID

**Detail:** Create an app registration, define the bot and its permissions, and restrict install to the tenant. Use certificate or managed identity auth rather than a long-lived secret where possible.

### Map identities

**Detail:** Maintain a table linking Entra user IDs to proALPHA users. A card click is accepted only when the mapped ERP user holds the approval authority.

### Pick the event source

**Detail:** Use a proALPHA workflow hook if your version supports outbound calls, otherwise poll a status view or changed-since query on a short schedule.

### Render adaptive cards

**Detail:** Build card templates per event type with minimal fields and clear actions. Include the object key so each action is idempotent.

### Handle card actions

**Detail:** The bot validates the user, checks current state in proALPHA (it may already have been approved), calls the web service, and replaces the card with the outcome.

### Host the connector close to the ERP

**Detail:** Run it on an internal server or private cloud subnet, with only the Bot Framework endpoint reachable through a reverse proxy.

## Example Flows

### Approve a requisition from a phone

**Trigger:** A purchase requisition above the buyer's limit is submitted.

**Steps:**

- Connector finds the next approver in proALPHA and maps them to Teams.
- Adaptive card appears in a personal chat with details and budget remaining.
- Approver taps Approve; connector confirms authority and state.
- Web service call records the approval; the card updates to show who approved and when.

**Result:** Approval time drops from waiting for the next ERP login to minutes, and the audit record stays in proALPHA.

### Plant manager asks about a late order

**Trigger:** A user types the order number to the bot in Teams.

**Steps:**

- Bot parses the number and runs a read-only query on order and work order status.
- It replies with promised date, current operation and open shortages.
- User taps Notify planner, which posts to the planning channel with the context.

**Result:** Quick answers without opening the client, and escalations carry the facts.

## On Prem

A proALPHA system on-premise can be paired with Teams without exposing the database. Host the connector inside your network, make outbound calls to the Bot Framework service, and receive card actions through a single inbound HTTPS endpoint behind a reverse proxy or via a relay. The ERP itself needs no internet access. If you want a natural-language assistant in Teams, run the language model locally with an open-weight model so order data never reaches a public API; the bot sends only the question and the retrieved facts to your local model.

## Security

- Validate the Bot Framework JWT on every inbound request.
- Check ERP authority at action time, not only when the card was sent.
- Keep card content to what the channel audience may see; private data goes to personal chat only.
- Use a least-privilege proALPHA service user, with write access limited to the specific web services needed.
- Log card ID, user, decision and ERP result for audit.

## Options

### Power Automate with HTTP actions

**Fit:** Good for simple alerts when proALPHA can call a URL or you can poll an exposed endpoint.

**Effort:** Days, but flows get hard to manage at scale.

### Custom Teams bot

**Fit:** Needed for validated approvals, identity mapping and conversational lookups.

**Effort:** A few weeks for a first set of cards.

### Partner build with Netray

**Fit:** Useful if you want the bot to answer questions in natural language on a private model and write back through approvals.

**Effort:** Pilot with one approval and one lookup.

## Pitfalls

- Trusting the card click without checking ERP authority, which lets anyone in the chat approve.
- Posting sensitive pricing into a broad channel.
- Polling too frequently against the production database and slowing the client.
- Forgetting to update the card after action, so two people approve the same item.
- Mapping users by display name instead of the stable Entra object ID.

## Faq

### Does proALPHA integrate with Microsoft Teams out of the box?

**Answer:** We are not aware of a standard Teams app from proALPHA. Partners may offer add-ons. The common approach is a small bot or Power Automate flow talking to proALPHA's web services. Ask your proALPHA partner what your version offers before building.

### Can approvers approve from the Teams mobile app?

**Answer:** Yes. Adaptive cards render in the Teams mobile client, and button presses go to your bot. Identity comes from Entra ID, so you do not need a separate login to proALPHA, provided the connector validates ERP authority.

### Is Power Automate enough?

**Answer:** For notifications, often yes. For approvals with state checks, role validation and auditing, a custom bot is easier to control. Power Automate can still handle non-critical alerts.

### Can we keep data on-premise?

**Answer:** ERP data and the connector can stay in your network. Teams messages themselves live in Microsoft 365. Limit what you post to what your policy allows in that service.

### Can we ask the ERP questions in plain language in Teams?

**Answer:** Yes, by putting a retrieval layer and language model behind the bot. Use read-only queries, show the source record, and run the model locally if your data policy requires it.

## Search terms

proalpha microsoft teams integration, teams for proalpha, proalpha teams bot, proalpha approval workflow teams, erp teams adaptive cards manufacturing, proalpha notifications teams, proalpha entra id sso, microsoft teams erp approvals, proalpha power automate, proalpha chatbot teams

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