How to add WhatsApp to Priority ERP
Short answer
Priority has no built-in WhatsApp channel, so the usual path is a small middleware service that reads Priority through its OData REST API (or the Web SDK), sends template messages through the WhatsApp Business Platform, and writes replies back as controlled transactions. Keep the writes narrow and approval-gated.
Priority is common in Israeli and international mid-market manufacturers and distributors, and its users are used to the system living behind a browser or the Priority desktop client. Their customers, drivers and suppliers, however, live in WhatsApp. Sales reps get asked 'where is my order?' on WhatsApp all day, and someone retypes the answer from a Priority sales order or delivery note screen.
The integration is conceptually simple: Priority is the system of record, WhatsApp is the conversation channel, and a thin service in the middle translates between them. The hard parts are Meta's template and opt-in rules, matching a phone number to the right Priority customer or supplier record, and deciding which replies are allowed to change data.
This page walks through the Priority side of that bridge: which interfaces to read from, how to trigger outbound messages, and how to land inbound replies without letting a chat message edit an order unreviewed.
What teams use it for
Order and delivery status on request
A customer messages the company number with an order number. The service looks up the sales order and its delivery documents in Priority and replies with status, planned ship date and tracking reference.
Shipment-dispatched alerts
When a delivery note is finalized in Priority, send a template message to the customer contact with the document number and carrier details, so the sales desk stops sending these by hand.
Supplier PO confirmations
Send open purchase order lines to supplier contacts and let them reply CONFIRM or propose a new date. A proposed date is parked for a buyer to accept in Priority, not written automatically.
Quotation follow-up
A few days after a price quote is issued, send a short template asking whether the customer has questions, with a button to request a call-back that creates a task for the rep.
Payment reminders from accounts receivable
Use open invoice and customer balance data to send due-date reminders, with a clear opt-out and a rule that disputed invoices are never chased.
Field service visit coordination
Technicians' service call schedules can be confirmed with the customer on WhatsApp the day before, and a reschedule reply opens a task for the dispatcher.
Priority ERP integration surface
- Priority OData REST API (OData v4 style endpoints under the Priority web server, with entity names such as ORDERS, DOCUMENTS_D, CUSTOMERS, SUPPLIERS and PORDERS; exact entity and field names depend on version and installed forms).
- Priority Web SDK, a JavaScript library that opens forms and works with rows through the application layer, useful when you must respect form-level business rules.
- Priority procedures and interfaces (the Priority development environment lets developers write procedures and load interfaces that import data into tables with the same validations as manual entry).
- Business rules and form triggers in Priority, which can be used to flag a record or write to a staging table when a document is finalized.
- Direct read access to the underlying SQL Server database on on-prem installs, which some teams use read-only for lookups, though the supported write path is the API or an interface.
How it works
- 1
Pick the WhatsApp route
Register a WhatsApp Business Account and use the Cloud API directly, or go through a business solution provider if you want its inbox and template tooling. Either way you need a verified business, a phone number not already on the consumer app, and approved templates for anything you start.
- 2
Create a Priority API user
Create a dedicated user with narrow form permissions and credentials for the OData endpoint. Do not reuse a sales rep login; every message trigger and reply write must be attributable to the integration user.
- 3
Build the contact map
Store WhatsApp numbers against Priority customer and supplier contacts in a table the service owns, with an opt-in timestamp and source. Normalize numbers to E.164 and handle shared numbers explicitly.
- 4
Detect events
Either poll OData for documents whose status or update time changed, or add a business rule that writes an outbox row on finalization. Polling is simpler; the outbox is more accurate and cheaper.
- 5
Send templates and handle windows
Outbound messages outside the 24-hour customer service window must use approved templates. Map each Priority event to one template and fill variables from the OData response.
- 6
Process inbound replies
Receive webhooks, verify the signature, match the sender, classify the intent, and either answer from read-only Priority data or create a pending action for a human.
- 7
Write back through a narrow door
If a reply must change Priority (a confirmed date, a note), post it to a custom field or a staging form via the API under the integration user, and let the buyer or rep accept it in the normal screen.
Example flows
Delivery note finalized to customer alert
Trigger: A delivery document in Priority moves to its final status.
- The business rule or poller adds the document to the outbox.
- The service reads the document header, customer and line count through OData.
- It checks opt-in and picks the shipment template.
- It sends the message with document number and carrier reference.
- The delivery status callback is stored against the document.
Result: The customer is notified within a minute of dispatch and the sales desk fields fewer status calls.
Supplier confirms a PO date
Trigger: A buyer releases a purchase order with a due date.
- The service sends a template with PO number, part and requested date and two quick-reply buttons.
- The supplier taps Confirm or Change date.
- On Confirm, the service writes a confirmation note to the PO line through the API.
- On Change date, it asks for a date, then creates a pending proposal row.
- The buyer sees the proposal in a list and accepts it in Priority.
Result: Confirmations are captured in chat without anyone retyping, and date changes still pass a human.
Keeping data on-prem
WhatsApp itself is always a cloud service, so the question is what leaves your network. Keep Priority and its SQL Server on-prem, run the middleware inside your network, and expose only an HTTPS webhook endpoint through a reverse proxy or a relay in a DMZ. Outbound messages should contain the minimum needed (document number, status, date), never full price lists or drawings. If you add AI to interpret free-text replies, run an open-weight model locally so customer messages and order data are not sent to a third-party model API.
Security checklist
- Use a dedicated Priority integration user with form-level permissions limited to what the flows need, and log every API call with the WhatsApp message id.
- Verify the webhook signature from Meta and reject unsigned requests before they touch Priority.
- Treat the phone number as an identity hint, not proof: require the number to match a registered contact and add a second factor for any action that changes money or quantities.
- Store opt-in evidence and honor opt-outs immediately; keep an audit trail for privacy requests.
- Keep the access token in a secrets store, not in a Priority procedure or a config form.
Ways to get it done
Marketplace or partner connector
Effort: Days to configure, plus license cost; limited flexibility.
Fine if a Priority partner already sells a WhatsApp module for your version and your flows match its fixed templates.
Build in-house middleware
Effort: A few weeks for status alerts and one inbound flow, plus ongoing template management.
Good if you have a developer who knows Priority procedures and OData and the flow set is small and stable.
Work with a partner such as Netray
Effort: Typically a scoped pilot of a few weeks for two or three flows.
Useful when you want inbound conversational flows, AI intent handling that can run on-prem, and approval-gated write-back.
Pitfalls
- !Sending marketing-style content under a utility template, which gets templates rejected or the number quality rating lowered.
- !Multiple customers sharing one mobile number, which leaks order data to the wrong contact.
- !Letting a free-text reply write quantities or prices directly into an order.
- !Polling OData too aggressively on a busy server and slowing interactive users.
- !Forgetting that custom forms and field names differ between Priority installations, so a template tested on one tenant breaks on another.
Frequently asked questions
Does Priority have a native WhatsApp integration?
Not as a core feature that I would rely on. Some Priority partners package connectors, and the exact offering depends on your version and reseller. The dependable approach is middleware using the OData API and the WhatsApp Business Platform, which works with any version that exposes the web API.
Can WhatsApp messages create sales orders in Priority?
Technically yes through the API, but I would not allow it unreviewed. Create a draft or a staging record and let a rep confirm customer, price and availability in Priority. Free text is too ambiguous to book without a human check.
Do I need approved templates?
Yes for any message you start outside the 24-hour window after the customer last wrote to you. Order alerts, reminders and confirmations all need pre-approved templates with variables filled from Priority data.
Can this work with an on-prem Priority server?
Yes. The middleware runs inside your network and talks to Priority locally, with only the webhook endpoint and the outbound calls to Meta crossing the firewall. Publish the webhook through a reverse proxy rather than opening the Priority server itself.
How do I match a phone number to a Priority contact?
Keep your own mapping table of E.164 numbers to customer or supplier contact keys, filled during opt-in. Do not infer it from free-text phone fields in Priority, which are inconsistent. Handle shared numbers by requiring an extra identifier.
Want WhatsApp working on your Priority ERP?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessment