# How to add Microsoft Teams to Katana

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

## Short answer

Katana does not ship a Teams app, so you connect them with Katana webhooks and a Teams bot or Power Automate flow. Events post adaptive cards to a channel, and button clicks call the Katana API to approve or update records.

## System

Katana

## Capability

microsoft-teams

## Intro

Many Katana customers run the shop on Katana but run the office on Microsoft 365. Purchasing, finance and the owner all sit in Teams, while Katana sits in a browser tab that gets checked a few times a day.

The result is approvals that wait, such as a large purchase order or a rush manufacturing order, simply because nobody saw them. Pushing a short actionable card into a Teams channel puts the decision in front of the person already there.

Since Katana is SaaS, the pattern is event in, card out, click back in. The only moving parts are a webhook receiver and a Teams app registration.

## Use Cases

### Purchase order approval card

**Description:** Post a card for any draft purchase order above a threshold with approve and reject buttons for the buyer manager.

### Daily low stock digest

**Description:** A scheduled post to the purchasing channel listing materials below reorder point, with open PO coverage for each.

### Late manufacturing order thread

**Description:** Create a thread when a manufacturing order passes its due date, so sales and production discuss it in one place.

### Large sales order heads-up

**Description:** When a sales order over a size or a new customer arrives from the store, alert the owner with the line items.

### Ask about stock in a channel

**Description:** A bot command like stock sku returns on-hand, allocated and incoming quantity from Katana.

## System Surface

- Katana REST API with bearer API key for reading and updating sales, purchase and manufacturing orders and inventory.
- Outbound webhooks for order lifecycle events, to be received by an Azure Function, Logic App or your own endpoint.
- Status fields on purchase orders and manufacturing orders that you can set from a button click, subject to which transitions the API allows.
- No native Teams connector that we can confirm; Power Automate custom connectors over the REST API are a common substitute.
- Katana user accounts are separate from Entra ID, so mapping a Teams user to a Katana user is a table you maintain.

## How It Works

### Decide the delivery mechanism

**Detail:** Choose between a Teams incoming workflow webhook for one-way posts, a Power Automate flow, or a full bot registered in Azure for interactive cards.

### Register webhooks in Katana

**Detail:** Point them at an Azure Function or similar endpoint, and verify the signature header on every call.

### Fetch the record and decide

**Detail:** The webhook payload is a pointer; read the full order through the API, apply your threshold rules, and ignore noise.

### Render an adaptive card

**Detail:** Include order number, supplier, total and top lines, plus Action.Submit buttons carrying the Katana record id.

### Authenticate users with Entra ID

**Detail:** The bot receives the Teams user identity; map it to an approver list so only permitted people can approve.

### Write back through the API

**Detail:** On approve, call Katana to move the purchase order forward and update the card to show who approved and when.

## Example Flows

### Approve a large purchase order

**Trigger:** A purchase order total exceeds your approval threshold.

**Steps:**

- The webhook fires and the function reads the PO and supplier.
- A card is posted to the purchasing channel with Approve and Reject.
- The approver clicks Approve; the bot checks they are on the approver list.
- The function updates the PO via the Katana API and edits the card.

**Result:** The PO leaves the draft state with a recorded approver.

### Late order discussion

**Trigger:** A scheduled job finds manufacturing orders past due.

**Steps:**

- The job lists open manufacturing orders and compares due dates.
- For each late one it posts a card with customer and shortage hints.
- Replies in the thread stay attached to that card.

**Result:** Sales and production share one place for the recovery plan.

## On Prem

Katana runs only in the vendor cloud, so there is nothing to install on a server for it. What you can control is where the glue runs. For a locked-down tenant, host the webhook receiver and bot in your own Azure subscription or on a server behind your firewall with a controlled inbound path, and keep any language model that summarises orders or answers stock questions on a local GPU box. Teams itself is a Microsoft cloud service, so card contents should be limited to what your policy allows in a chat tool.

## Security

- Use a dedicated Katana API key for the integration and store it in Azure Key Vault.
- Restrict who can approve using Entra ID group membership, not card visibility.
- Log every approval with Teams user id, Katana record id and time.
- Avoid putting supplier bank or customer personal data on cards.

## Options

### Power Automate with an HTTP trigger

**Fit:** Simple one-way alerts, no interactive approvals.

**Effort:** A day or two.

### Custom Teams bot in Azure

**Fit:** Interactive approvals and commands with proper identity.

**Effort:** Two to four weeks.

### Partner build with Netray

**Fit:** You also want natural language stock and order questions answered on a private model.

**Effort:** A few weeks, depending on flows.

## Pitfalls

- Teams workflow webhooks cannot identify the clicking user, so do not use them for approvals.
- Card actions time out if the function is cold; keep an always-warm plan or acknowledge fast.
- Katana webhooks may fire on many edits; filter to meaningful state changes or the channel becomes noise.
- Forgetting to update the card after action leaves stale buttons that can be clicked twice.

## Faq

### Is there an official Katana app for Teams?

**Answer:** We are not aware of one and it may change, so check the Katana integrations page. The usual approach is webhooks plus a Teams bot or Power Automate flow calling the Katana REST API with an API key.

### Can approvals in Teams change the order in Katana?

**Answer:** Yes, if the Katana API supports the status change you need. Test the exact transition on a sandbox or test order first. The bot should check that the user is on an approver list before calling the API.

### Do we need Azure for this?

**Answer:** Not strictly. Power Automate alone handles simple posts. For interactive cards with identity, you need a bot registration, which is normally hosted in Azure but can run on any HTTPS server you control.

### Can Teams users ask questions about inventory?

**Answer:** Yes. A bot command can query the Katana inventory and order endpoints and reply with a card. Natural language questions need a model on top; that model can be a local open-weight one if you prefer.

### How do we avoid alert fatigue?

**Answer:** Alert only on thresholds and exceptions, batch low-stock items into a daily digest, and give each channel one purpose. Review the volume after two weeks and tighten rules for anything people mute.

## Search terms

katana microsoft teams integration, katana teams notifications, teams for katana mrp, katana purchase order approval teams, katana adaptive card, katana power automate, katana inventory teams bot, katana webhook teams

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