How to add WhatsApp to ECI M1
Short answer
ECI M1 has no native WhatsApp channel, so the pattern is a small middleware service that reads M1 data (usually from its SQL Server database or an API layer your version exposes), sends approved template messages through the WhatsApp Business Platform, and writes confirmed replies back through a controlled path. Start with outbound alerts, then add replies once the data mapping is trusted.
Most ECI M1 shops are make-to-order and engineer-to-order manufacturers where the real conversations with customers and suppliers already happen on phones. Buyers text to ask whether a job shipped, suppliers send a thumbs-up photo instead of updating a promise date, and shop supervisors approve overtime by message. None of that lands in M1, so the system of record lags behind what people actually know.
WhatsApp is attractive because customers and suppliers already use it, and the WhatsApp Business Platform gives you a compliant, auditable way to send structured messages instead of personal-number texting. The work is not the messaging itself. It is deciding which M1 events deserve a message, who is allowed to receive it, and how a free-text reply becomes a safe M1 transaction.
What teams use it for
Job and order status on request
A customer messages an order number and gets the current status, promise date and last operation completed, read from M1 sales order and job data and limited to that customer's own orders.
Shipment and tracking alerts
When a shipment is confirmed in M1, send the customer a template with carrier, tracking number and packing list reference.
Supplier promise-date confirmation
Message suppliers with open purchase order lines due within a window and ask them to confirm or reschedule with a button reply. Changes go to a buyer review queue, not straight into the PO.
Supervisor approvals
Send quote discount, overtime or scrap-disposition approvals to a named approver with Approve and Reject quick-reply buttons and log the decision.
Late-job escalation
Notify the account manager when a job's scheduled completion slips past its promise date, with the blocking operation and work center.
ECI M1 integration surface
- SQL Server database behind M1 (on-prem installs are typically Microsoft SQL Server): a read-only reporting login or replica is the safest source for outbound alert queries. Table and column names vary by version, so map them from your own schema.
- M1 business-logic and web-service options, which differ by version and licensing. Ask ECI or your reseller what supported API or integration toolkit your release includes before writing anything back.
- Report and export paths such as scheduled reports and file exports, useful as a low-risk trigger for shipment and invoice events when you cannot poll the database.
- Existing email or document output from M1 (packing lists, order acknowledgements) that can be attached to a WhatsApp document message.
- Contact data on customer, vendor and contact records, which you must clean into E.164 phone format and pair with an opt-in flag before use.
How it works
- 1
Set up the WhatsApp Business Platform
Create a Meta business account, register a dedicated number, and choose Cloud API directly or a business solution provider. Submit message templates for review.
- 2
Define events and templates
List the M1 events worth messaging (shipped, promise date changed, PO due, approval needed) and write one approved template per event with named variables.
- 3
Build a read-only event reader
A small service queries M1's database or consumes a report export on a schedule, detects new events with a watermark, and queues messages with an idempotency key.
- 4
Resolve recipients and opt-in
Join the event to a contact table you control that stores phone number, role, language and opt-in status. No opt-in, no message.
- 5
Send and track delivery
Call the Cloud API, store message IDs, and handle delivery and read webhooks so failures surface to a person.
- 6
Handle replies through a review layer
Inbound webhooks are parsed into intents. Status questions are answered directly; changes become proposed M1 updates that a user approves.
Example flows
Shipment alert
Trigger: A shipment is confirmed for a sales order.
- Event reader sees the new shipment row since its last watermark.
- Service looks up the customer contact with opt-in and preferred language.
- Template message is sent with order number, carrier and tracking link.
- Delivery webhook is stored against the shipment.
Result: The customer knows the same hour the truck leaves, and fewer status emails reach customer service.
Supplier promise-date check
Trigger: A PO line is due in three days with no receipt.
- Nightly query lists open PO lines by supplier.
- Supplier receives a template with line detail and Confirm or Reschedule buttons.
- A Reschedule reply asks for a date, which is parsed and validated.
- A buyer sees the proposed new date in a review queue and accepts it into M1.
Result: Promise dates in M1 reflect supplier reality without buyers chasing by phone.
Keeping data on-prem
The M1 database and the middleware can both stay on your network. WhatsApp itself is a cloud service, so only the message content you choose to template leaves your environment, and the Cloud API needs outbound HTTPS plus an inbound webhook endpoint you expose through a reverse proxy or DMZ host. Keep message bodies minimal, for example order number and status, and send detail through an authenticated link instead of in the chat. If an air-gapped site cannot use WhatsApp at all, use the same event reader with an internal channel such as email or an on-prem messaging tool.
Security checklist
- Use a read-only SQL Server login for the event reader and a separate, narrowly scoped path for any write-back.
- Verify WhatsApp webhook signatures and reject unsigned calls.
- Authorize every inbound request by phone number to contact to account, so one customer can never see another's orders.
- Keep personal data in messages to the minimum needed and log every outbound and inbound message.
- Store API tokens in a secrets manager, not in config files on the M1 server.
Ways to get it done
Off-the-shelf notification add-on or iPaaS connector
Effort: Days to a couple of weeks
Fine for simple outbound alerts if a connector exists for your M1 version and database.
Build in-house on the Cloud API
Effort: Three to six weeks for alerts plus replies
Good if you have a developer who knows SQL Server and webhooks; you own template changes forever.
Partner build with Netray
Effort: Scoped per workflow, usually a few weeks per phase
Useful when you want reply handling, approval queues and an on-prem option designed together.
Pitfalls
- !Messaging contacts without recorded opt-in, which risks number quality drops or blocks.
- !Letting a free-text reply update M1 directly instead of going through validation and review.
- !Polling the production database during peak hours with heavy queries.
- !Dirty phone numbers in contact records causing silent delivery failures.
- !Forgetting the 24-hour customer service window, so replies after it fail without an approved template.
Frequently asked questions
Does ECI M1 support WhatsApp natively?
Not as a built-in feature that we know of. Integration is normally done by reading M1 data from its database or supported interfaces and sending messages through the WhatsApp Business Platform. Confirm with ECI which integration options your release includes.
Can customers reply to change an order?
They can send a request, but it should not update M1 directly. A parser turns the reply into a proposed change that a customer service user reviews and posts, which keeps pricing and scheduling rules intact.
Do I need the Cloud API or a provider?
Either works. The Cloud API is direct and cheaper to run if you can host a webhook. A business solution provider adds a dashboard and support, which suits teams without a developer.
Is this possible with M1 installed on-premise?
Yes. The reader and middleware run beside your SQL Server, and only outbound HTTPS to Meta plus an inbound webhook are needed. Sites with no internet egress cannot use WhatsApp and should use an internal channel.
Which messages need approved templates?
Anything you send outside the 24-hour window after a customer message, such as shipment alerts or PO reminders, needs a pre-approved template. Free-form replies are allowed only inside that window.
Want WhatsApp working on your ECI M1?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessment