How to add Slack to Katana
Short answer
Build a small Slack app that receives Katana webhooks and calls the Katana REST API. Slash commands answer stock and order questions, and interactive messages handle approvals, so the team rarely needs to open Katana for routine checks.
Katana is popular with direct-to-consumer brands and small workshops, and those teams tend to run on Slack. Founders, ops leads and the warehouse lead trade messages all day, while Katana holds the real numbers.
Typical questions are small and constant: do we have enough of this, when does the next batch finish, did that big order get allocated. Each one costs a context switch into the Katana UI.
A Slack app that answers those and posts the few alerts that matter is a modest build, and it works well because the Katana API exposes the objects people ask about.
What teams use it for
Slash command for stock
Type a stock command with a SKU and get on-hand, committed and expected quantity back from Katana inventory.
Oversell and backorder alerts
Post to a channel when a sales order cannot be fulfilled from stock, with the SKU, quantity short and next incoming PO.
Batch finished notification
Tell the fulfilment channel when a manufacturing order completes so packing can start.
Reorder approval
Suggest a purchase order for items under reorder point as an interactive message; a click creates the draft PO.
Weekly production summary
A scheduled message summarising orders completed, late, and materials at risk.
Katana integration surface
- Katana REST API with bearer key, including inventory, variants, materials, sales orders, purchase orders and manufacturing orders.
- Webhooks for order events, which you point at the Slack app backend.
- Create endpoints for purchase orders, useful for the one-click reorder pattern, with required fields varying by setup.
- Ecommerce sync from Shopify or WooCommerce, which means many sales orders arrive automatically and drive the alert volume.
- Rate limits per account, which matter for commands that fan out to several lookups.
How it works
- 1
Create the Slack app
Enable slash commands, interactivity and incoming events, and choose Socket Mode if you cannot expose a public URL.
- 2
Connect to Katana
Store the API key in a secret store and write a thin client with retry and 429 handling.
- 3
Implement the stock command
Resolve the SKU to a variant, read inventory, and format a compact reply showing in stock, committed and incoming.
- 4
Register Katana webhooks
Route sales order and manufacturing order events to the backend and filter to shortages and completions.
- 5
Add interactive messages
Use buttons for reorder and acknowledge actions, and verify the Slack signing secret on every request.
- 6
Restrict by channel and user
Limit commands that create records to a small user group and a private channel.
Example flows
Shortage detected on a web order
Trigger: A Shopify order syncs into Katana and one item has no free stock.
- The webhook fires for the new sales order.
- The backend checks availability and finds the shortfall.
- A message in the ops channel shows the SKU, shortage and next PO date.
- A button offers to create a draft PO.
Result: Ops decides within minutes whether to rush material or tell the customer.
Warehouse asks about a SKU
Trigger: Someone types a stock command in the warehouse channel.
- The backend looks up the variant by SKU.
- It reads inventory and open POs.
- It replies ephemerally with the numbers.
Result: The answer arrives in seconds without opening Katana.
Keeping data on-prem
Katana and Slack are both hosted services, so on-prem here means controlling the middle layer. Run the Slack app backend inside your own network using Socket Mode, which needs only outbound connections, and call Katana from there. If you add natural language questions such as which materials will run out before Friday, serve an open-weight model locally and give it read-only tool access to the Katana client, so order data does not leave your environment for an external AI provider. Slack message content still lives in Slack, so decide what belongs there.
Security checklist
- Verify Slack signing secret and Katana webhook signatures.
- Keep creation actions behind a user allowlist.
- Use ephemeral replies for sensitive numbers.
- Rotate the Katana key and keep it out of the Slack app config.
Ways to get it done
Zapier or Make scenarios
Effort: Hours.
Simple alerts on new orders or low stock.
Custom Slack app with Bolt
Effort: One to two weeks.
Slash commands, approvals and your own rules.
Partner build with Netray
Effort: A few weeks.
You want a conversational assistant over Katana on a private model.
Pitfalls
- !Slash commands must respond within a few seconds, so acknowledge first and post the result after.
- !SKU matching fails on variants unless you normalise case and whitespace.
- !Alerting on every synced order floods the channel; alert on exceptions only.
- !A create-PO button without confirmation leads to duplicate purchase orders.
Frequently asked questions
Is there a Katana Slack app?
We are not aware of an official one, and you should check the Katana integrations directory. Most teams use Zapier or Make for simple notifications, or build a small Slack app over the Katana REST API for commands and approvals.
Can Slack create purchase orders in Katana?
Yes, if you call the purchase order create endpoint from your backend. Required fields vary by account setup, so test with your supplier and location defaults. Always show a confirmation step before the draft is created.
Do I need a public server?
Not necessarily. Slack Socket Mode lets the app connect outbound only. You still need a public endpoint if you want Katana webhooks pushed to you, unless you poll the API on a schedule instead.
How real time is it?
Webhook driven alerts are typically near real time, within seconds to a minute. Polling is simpler but slower and uses rate limit budget. For stock questions the command reads live data at the time of the request.
Can we ask free-form questions in Slack?
Yes with a language model that is given tools to read Katana. Start read-only, log every query, and consider an open-weight model hosted locally if you do not want order data going to an outside AI service.
Want Slack working on your Katana?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessment