How to add Slack to Sage X3
Short answer
Create a Slack app with an incoming events endpoint, slash commands and interactive buttons, then bridge it to X3 through web services and workflow event hooks. The Slack side is simple; the work is limiting what a Slack user can read or change in X3.
Sage X3 shops that use Slack tend to be tech-leaning distributors, light manufacturers or companies that grew through acquisition and mixed tooling. Operations, sales support and finance chat in Slack, while X3 notices land in email or sit unseen in Syracuse.
A Slack integration is not about replacing X3 screens. It is about pulling a few high-signal events into channels (stock-outs, late shipments, blocked invoices) and letting authorised people do a few quick actions without switching windows.
The honest warning: Slack is a general chat tool with broad channel membership, so design what you post as if the channel will be wider than you expect.
What teams use it for
Backorder and stock-out alerts
Post to a sales-ops channel when allocation fails on a sales order line, with item, site and the next expected receipt from open purchase orders.
Slash command for item availability
/x3 stock ITEM returns on-hand, allocated and on-order by site, read from stock tables through a read-only service.
Late shipment digest
A daily scheduled message lists sales deliveries past their requested ship date, grouped by customer owner.
Expense or purchase request approvals
Interactive messages with Approve and Reject buttons for requests within a manager's limit.
Quality hold notifications
When lots are put on quality hold, notify the QA channel with lot, item and location so nothing ships by mistake.
Sage X3 integration surface
- Web services: the Syracuse web services pool (SOAP, CAdxWebServiceXmlCC) and REST/SData endpoints are the clean way to read and write; published object names depend on your configuration.
- Events: X3 workflow rules and alerts, or an L4G subprogram on a document trigger, can call your HTTP endpoint or write to a staging table.
- Scheduled batch: the X3 batch server can run a query or report on a schedule and write a file or call an endpoint, ideal for daily digests.
- Direct DB reads: STOCK, SORDERQ, PORDERQ and ITMMASTER tables are readable on SQL Server or Oracle; a read-only reporting replica avoids load on production.
- Identity: X3 users are separate from Slack users, so you need your own mapping table.
How it works
- 1
Create the Slack app
Add a bot token, slash command, interactivity request URL and the minimum scopes. Install it to the workspace.
- 2
Stand up the bridge service
A small HTTPS service verifies Slack signing secrets, parses commands and calls X3 services.
- 3
Define read-only services first
Publish item availability and order status services with a restricted X3 profile before any write action exists.
- 4
Hook X3 events
Use workflow rules or batch jobs to push events to the bridge, which formats and posts messages to the right channel.
- 5
Add interactive approvals
Buttons carry the document key and a signed token. The bridge checks the Slack user against the mapping table and X3 limits before calling X3.
- 6
Review and tune noise
After two weeks, cut alerts nobody reacts to. Channel noise kills adoption faster than missing features.
Example flows
Item availability slash command
Trigger: A rep types /x3 stock ABC-100.
- Bridge verifies the Slack signature and maps the user.
- It calls a read-only stock service by item and site.
- It replies ephemerally with on-hand, allocated, and next PO receipt.
Result: A rep answers a customer in seconds without logging into X3, and nobody else sees the reply.
Quality hold alert
Trigger: A lot status changes to a hold status in X3.
- Event or poll detects the status change.
- Bridge posts lot, item and location to the QA channel.
- QA acknowledges with a button, which logs a comment to the lot record via service.
Result: Warehouse and QA see the same hold at once, lowering the chance of shipping held stock.
Keeping data on-prem
Slack is a cloud service, so with on-prem X3 the bridge becomes the boundary. Run it in a DMZ with outbound HTTPS to Slack and an inbound endpoint for Slack requests, and keep X3 reachable only from the bridge. Share identifiers and summaries in messages, not full price lists or customer contract terms. If you add natural-language questions, answer them with a locally hosted open-weight model grounded on X3 data, so the question text and the data never leave your network.
Security checklist
- Verify the Slack signing secret on every request and reject stale timestamps.
- Map Slack user IDs to X3 users and enforce the X3 function profile for each action.
- Use ephemeral responses for anything commercially sensitive.
- Never paste X3 credentials or tokens into Slack configuration screens shared with others.
- Restrict bot membership to named channels and review the app's scopes quarterly.
Ways to get it done
Zapier or a similar tool for email-to-Slack
Effort: Hours; no interactivity and no write-back.
Alerts only, from X3 notification mail.
In-house Slack app plus X3 services
Effort: Typically 2 to 5 weeks.
Teams with a developer comfortable with Slack Bolt and X3 web service publishing.
Partner build such as Netray with an X3 partner
Effort: Scoped by flow; read-only first.
Governed lookups, approvals and AI Q&A over X3.
Pitfalls
- !Slack's three-second response limit means slow X3 queries need an immediate acknowledgement and a delayed follow-up.
- !Alert floods train people to mute the channel.
- !Unmapped Slack users clicking approve buttons is a common hole; deny by default.
- !Posting customer pricing into public channels creates a data-handling problem you will not see until later.
Frequently asked questions
Is there an official Sage X3 Slack app?
I am not aware of a standard Sage-supported Slack app for X3 in the versions most sites run. Check your reseller and marketplace first, otherwise build a small bridge on X3 web services.
Can Slack users change X3 data?
They can if you publish write services and enforce identity mapping. Start read-only, add narrow actions like approve or add comment, and keep every write logged in X3.
How do I trigger Slack messages from X3 events?
Use workflow rules, an L4G subprogram on the document event, or a scheduled batch query. The trigger calls your bridge endpoint, which formats and posts the message.
Does it work with on-premises X3?
Yes. The bridge sits in a DMZ with outbound access to Slack. X3 stays internal and is called only by the bridge.
Slack or Teams for X3?
Use the one your company already lives in. Teams has deeper Entra ID and Microsoft 365 integration; Slack is quicker to prototype. The X3 side of the work is nearly identical.
Want Slack working on your Sage X3?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessmentTry it here, free
Sage X3 Import Template Worksheet
An editable import tracker for Sage X3: which object, which import template, source file, records loaded, errors and owner, with error rates calculated.
New to Sage X3 and Sage 100? Start with the Sage X3 and Sage 100 guide and toolkit.
Keep exploring
Free tools
- Sage X3 Import Template WorksheetAn editable import tracker for Sage X3: which object, which import template, source file, records loaded, errors and owner, with error rates calculated.
- Sage X3 Database Tables ReferenceKey Sage X3 tables by module with what they store, typical key columns and naming conventions for SQL and reporting.
- Sage X3 Private AI Layer Blueprint GeneratorGenerate an architecture plan for adding a private AI assistant to on-prem Sage X3: SQL replica views, Syracuse SData and web services, retrieval, local GPU model, permissions and audit.
ERP fixes and how-tos
- Sage X3 AI Integration On-Prem: A Private ArchitectureHow to add a private AI assistant to on-prem Sage X3: SQL read replica, Syracuse SData and web services, retrieval index, local GPU model and audit trail.
- Sage X3 Production Planning, Scheduling and TrackingHow Sage X3 production planning works: master data, MRP, work orders, scheduling and shop floor tracking, and what to set up first. Practical overview.
- Sage X3 production and warehouse management: how the setup fits togetherHow Sage X3 production and warehouse management fit together: master data, work orders, locations, stock movements and the order to set them up in.
AI on your ERP
- AI for Sage X3, Grounded in Your Own Ledgers and Stock DataAdd AI to Sage X3 finance and stock data without exporting it to a public model. On-prem and private-cloud LLMs for Sage X3 in the UK and France.
- AI for Sage X3 Purchasing and Stock: Orders, Receipts and LotsAI for Sage X3 purchasing and stock: PO review, supplier delivery analysis, stock status and lot questions over X3 data using GraphQL, SOAP and private models.
Integrations
- How to add Slack to Sage 100Connect Slack to Sage 100: slash commands for order and stock lookups, interactive approval messages, and alerts, built on ODBC reads and BOI writes.
- How to add Microsoft Teams to Sage X3Connect Microsoft Teams to Sage X3: adaptive card approvals, alerts from workflow events and X3 lookups in chat, using Entra ID and X3 web services.