Microsoft TeamsMade2Manage Agent view

How to add Microsoft Teams to Made2Manage

Short answer

Connect Made2Manage to Teams with an on-prem service that reads M2M data and posts adaptive cards through a Teams bot or Workflows webhook. Approvals come back as card actions that your service validates, then a person or a controlled interface applies in M2M.

A lot of Made2Manage plants have moved their office staff to Microsoft 365 while the ERP stayed where it was. The result is a familiar split: email and Teams for conversation, a Windows client for transactions, and people copying order numbers between them. Questions like 'is job 15022 going to make Friday' get asked in a Teams chat and answered by someone who walks to a terminal.

Teams is a good fit for an older ERP because it needs no change inside M2M. The integration lives outside, reads what it needs, and puts the answer where people already are.

The design question is what you let flow back. Reading and alerting are low risk. Approving a requisition or releasing a hold from a phone is where you need identity, audit and a deliberate write path.

What teams use it for

Late job channel

Post a card to a production channel when a job's remaining operations will miss its due date, listing the job, part, and the work center holding it up.

Purchase requisition approvals

Send an approval card to the approving manager with vendor, amount and requester. The response is recorded and queued for entry, with the approver's Entra ID identity attached.

Credit hold review

When a sales order lands on a credit hold, notify the finance channel with customer balance and open invoices so someone can release or decline it quickly.

Inventory shortage digest

A morning card summarizing parts below reorder point and open PO coverage, so buyers start the day from one list.

Quality alerts

Notify the quality channel when a nonconformance, RMA or inspection hold is created, with a link to the record owner.

Ask-the-ERP bot

A Teams bot that answers 'where is order 48213' or 'stock of part 77-1204' using read-only queries, respecting who is asking.

Made2Manage integration surface

  • Data access: M2M on SQL Server can be read with a dedicated read-only login; older DBF installs need ODBC or OLE DB reads against a copy. Table names such as Somast, Jomast, Pomast, Inmast are common but should be verified for your version.
  • Events: classic M2M has no outbound webhooks. Poll for changed statuses, new holds and new requisitions, or schedule report exports to a watched folder.
  • Users: M2M has its own user list and security groups. Map these to Entra ID users yourself, since the ERP does not use single sign-on in the older builds.
  • Write-back: no broadly documented REST API for classic M2M. Plan for human entry of approved results, a vendor-supported import, or a stored procedure you own and review.
  • Teams side: bots through the Microsoft Bot Framework or Azure Bot, adaptive cards, incoming webhooks or Power Automate Workflows for simple posts, and Microsoft Graph for channel messages.

How it works

  1. 1

    Decide bot versus workflow

    For one-way alerts, a Teams Workflows webhook is enough. For approvals and questions, register a bot so users can interact and so you know who clicked.

  2. 2

    Build the read layer

    Create read-only views for jobs, orders, requisitions and holds. Keep business logic in views you control instead of in the bot.

  3. 3

    Add an event poller

    Run a scheduled job that finds new or changed records, stores a processed marker, and enqueues cards with a dedupe key.

  4. 4

    Design adaptive cards

    Keep them short: key fields, a status, and two or three actions. Link to a read-only detail page for anything longer.

  5. 5

    Authenticate with Entra ID

    Use the bot's token validation and map the Entra user to the M2M approver list so only authorised people can approve.

  6. 6

    Record and apply approvals

    Store each decision with user, time and card version. A clerk or a controlled import applies it to M2M; the card updates to show applied or rejected.

Example flows

Requisition approval

Trigger: A buyer submits a requisition over the manager's threshold.

  1. Poller detects the new requisition.
  2. Bot posts an approval card to the manager.
  3. Manager taps Approve; identity is checked against the approver list.
  4. Decision is stored and queued for entry.
  5. Card updates to 'Approved, pending entry'.

Result: Approvals happen in minutes, with an audit trail outside the ERP.

Order lookup in chat

Trigger: A CSR types 'order 48213' to the bot.

  1. Bot parses the order number.
  2. Service queries a read-only view.
  3. Bot replies with status, promise date and open lines.

Result: No terminal needed for a routine status question.

Keeping data on-prem

The M2M server, database and poller can remain on your LAN. Teams is a Microsoft 365 cloud service, so the only outbound connection is your bot or webhook caller reaching Microsoft endpoints, and the bot needs an inbound HTTPS endpoint, which is commonly published through a reverse proxy or Azure Relay style tunnel. Card content will transit Microsoft, so limit it to identifiers and status. If you want natural-language answers in the bot, run an open-weight model inside your network to translate questions into read-only queries so the question text and results are not sent to an external model.

Security checklist

  • Validate every bot request with Microsoft's JWT validation and restrict the endpoint.
  • Apply the approver mapping on the server, never trust the card payload for authority.
  • Use a read-only database account and expose only whitelisted views.
  • Keep cards free of cost, price and controlled technical data.
  • Log card IDs, approvers and applied changes for audit.

Ways to get it done

Power Automate Workflows with scheduled exports

Effort: Days.

Simple alerts from CSV drops, no bot needed.

Custom bot on your own infrastructure

Effort: Several weeks.

Interactive approvals and lookups with full control.

Partner build such as Netray

Effort: A scoped pilot, then expansion.

When you want an on-prem language model for questions plus a tested approval pattern.

Pitfalls

  • !M2M users and Entra users are different identities; an unmapped approver is the most common gap.
  • !Posting every change to a channel creates noise and gets muted. Alert on exceptions only.
  • !Cards cached by users can show stale state; update or expire them.
  • !Letting the bot write to M2M without review turns a chat typo into a bad transaction.

Frequently asked questions

Can Teams approve things in Made2Manage directly?

It can capture the approval, but the actual entry into M2M should go through a controlled path such as a clerk, a supported import, or a reviewed stored procedure. Direct table writes risk data integrity and may conflict with vendor support.

Do I need Azure to build a Teams bot?

You need an Azure bot registration and Entra app, but the bot code can run on your own server if it has a reachable HTTPS endpoint. Simple alerts can use Workflows without any custom hosting.

Will it work with an old FoxPro-based M2M?

Yes for reading and alerting, using ODBC or OLE DB against a copy of the data. Interactive features are easier once the data is on SQL Server, but not impossible before.

How do I stop alert spam?

Alert on exceptions with thresholds, group items into a daily digest, and route different alert types to different channels so people can mute selectively.

Can the bot answer free-text questions?

Yes, by adding a language model that converts questions into approved read-only queries. For regulated or customer-confidential data, run that model on-prem so questions and results stay in your network.

Want Microsoft Teams working on your Made2Manage?

A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.

Get a free assessment