# How to add Slack to Priority ERP

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

## Short answer

Create a Slack app that calls Priority through its OData REST API for lookups and alerts, uses interactive messages for approvals, and posts decisions back under a service user. Slack is the interface; Priority stays the system of record.

## System

Priority ERP

## Capability

slack

## Intro

Slack is less common than Teams among Priority customers, but it is the daily tool for many software-adjacent manufacturers, distributors and startups that run Priority. In those teams, ops and sales ask each other for order numbers and stock levels in channels all day, and the answers come from someone with a Priority login.

Slack's strength is the slash command and the lightweight alert: ask a question where you already are, or get a pinged message when something needs attention. The weakness is identity, since Slack users are not Priority users, so you must decide who can ask what.

This page lays out a pragmatic build: what to read from Priority, how to design commands, and how to keep approvals from turning into a back door.

## Use Cases

### Slash command for order lookup

**Description:** A /order command with an order number returns status, ship date and customer, read from Priority and formatted for a channel reply visible only to the requester.

### Stock check by part number

**Description:** A /stock command returns on-hand and available quantities by warehouse, so the sales channel does not interrupt the warehouse supervisor.

### Expedite requests from sales to purchasing

**Description:** A message action on a customer thread creates an expedite request that notifies the buyer with the PO and supplier details.

### Daily shipment digest

**Description:** Each morning post the day's planned shipments and any held orders to the logistics channel with links to the Priority documents.

### Interactive approvals for small spend

**Description:** Low-value purchase requests go to the approver as a Slack message with buttons, while higher thresholds stay in Priority only.

## System Surface

- Priority OData REST API for orders, delivery documents, parts and stock; entity names depend on version and installed forms.
- Priority Web SDK for logic that must run through form validations before saving.
- Priority procedures and interface loaders, which accept staged data and apply the same checks as manual entry.
- Business rules or scheduled jobs to produce an outbox of events for Slack notifications.
- User and permission tables in Priority, to be mapped explicitly to Slack user ids for any action beyond read-only lookup.

## How It Works

### Create the Slack app

**Detail:** Use Socket Mode for internal tools behind a firewall, or an HTTPS Events endpoint if you have a public relay. Request only the scopes for commands, chat write and user lookup.

### Stand up the service

**Detail:** A small web service holds the Slack signing secret and the Priority credentials, and is the only component that talks to both.

### Map users and channels

**Detail:** Link Slack user ids to Priority users and to a role level: lookup only, requester, approver. Restrict sensitive commands to private channels.

### Design commands narrowly

**Detail:** Each command maps to one OData query with a fixed shape. Avoid a generic query command that lets anyone browse the database.

### Add alerts

**Detail:** A scheduler queries Priority for conditions such as held orders or overdue shipments and posts with a dedupe key so the same issue is not repeated.

### Handle interactivity

**Detail:** For approvals, verify the Slack signature, check the mapped user's rights, call the Priority API to record the decision, and update the message so it cannot be clicked twice.

## Example Flows

### Sales asks about an order

**Trigger:** A rep types /order followed by an order number.

**Steps:**

- Slack sends the command to the service.
- The service maps the rep and checks they may view that customer's orders.
- It queries Priority for the order header and delivery status.
- It replies privately with status, ship date and a link to the document.

**Result:** The rep answers the customer in seconds without a Priority login or a ping to customer service.

### Expedite request

**Trigger:** A rep uses a message shortcut on a customer thread.

**Steps:**

- A modal asks for order number and reason.
- The service validates the order and finds the open purchase lines for its parts.
- A message with buttons goes to the responsible buyer.
- The buyer's reply is stored as a note on the purchase order through the API.

**Result:** Expedite asks leave an auditable trail instead of vanishing in a thread.

## On Prem

Slack is a cloud product, so design for minimum disclosure. Keep Priority on-prem and reach it only from your own service, using Socket Mode if you do not want an inbound port. Replies should carry identifiers and status, with sensitive values such as cost, margin and customer pricing kept out of shared channels. If natural-language commands are added, run an open-weight model inside your network to parse the question into one of the fixed queries, so the model never sees credentials and no external service sees ERP rows.

## Security

- Verify every Slack request signature and reject stale timestamps.
- Map Slack identities to Priority permissions and enforce them in the service, since Slack channel membership is not an authorization model.
- Use ephemeral responses for anything beyond basic status.
- Give the Priority API user read-only rights by default and separate write rights for approvals.
- Rotate the signing secret and tokens, and log commands with user, parameters and result size.

## Options

### Generic automation tool

**Fit:** Zapier-style tools can post alerts if Priority exposes an HTTP trigger or you poll an export, but they are weak on identity and on-prem.

**Effort:** Hours for alerts only.

### Custom Slack app

**Fit:** Best for slash commands and approvals with real permission checks.

**Effort:** One to three weeks for a handful of commands.

### Partner build with Netray

**Fit:** Appropriate when you want questions in plain language answered from Priority with a private model and logging.

**Effort:** Scoped pilot, then iterate on command set.

## Pitfalls

- A catch-all /priority command that effectively exposes the whole API to any channel member.
- Posting prices or customer lists into public channels.
- Not deduplicating alerts, which trains people to mute the channel.
- Skipping the Slack to Priority user mapping and trusting display names.
- Hitting Slack's three-second command timeout by querying Priority synchronously without an early acknowledgment.

## Faq

### Is Slack supported out of the box in Priority?

**Answer:** I am not aware of a standard Slack integration in the core product, and offerings vary by reseller and version, so verify with yours. A custom app using the OData API is the dependable route and gives you control over identity and scope.

### Can Slack approvals write to Priority?

**Answer:** Yes, through the API under a service user, provided the status change is allowed by Priority business rules. Use it for low-risk approvals and record the Slack approver in a note. Keep high-value approvals inside Priority.

### How do I avoid leaking data in channels?

**Answer:** Use ephemeral replies, restrict commands by channel and role, and design each response to show the minimum. Review fields with finance and sales leadership, particularly cost, margin and customer-specific pricing.

### Does this work with on-prem Priority?

**Answer:** Yes. With Socket Mode the service makes only outbound connections to Slack, so you do not need to open an inbound port. The service sits in your network next to Priority.

### Can I ask questions in plain English?

**Answer:** You can add a language layer that maps the question to a fixed set of read-only queries. For private data, run the model locally and log the generated query. It reduces command memorization but does not replace permission checks.

## Search terms

priority erp slack integration, slack for priority erp, priority software slack bot, priority erp slash command, priority odata slack, slack notifications from priority erp, priority erp slack approvals, priority erp order lookup slack, priority erp chatops

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