How to add an AI chatbot to Sage X3
Short answer
An AI chatbot for Sage X3 answers questions from live ERP data and your documents, shows its sources, and follows X3 roles. It can sit in a web portal, Teams or a side panel, and run fully on-prem with an open-weight model.
Chatbots on top of Sage X3 come in three kinds. Internal assistants for planners and finance, supplier or customer self-service for status questions, and help assistants that explain how to do something in X3 itself.
They need different designs. An internal assistant can see wide data under a user's rights. A customer-facing one must see only that customer's records, and that boundary has to be enforced in code, not in the prompt.
Treat it as retrieval plus tools, not a model that has been trained on your ERP. Answers come from queries and documents at the moment of asking.
What teams use it for
Customer order status portal bot
A customer asks where order 12345 is; the bot returns status and delivery details limited to that customer's account.
Supplier self-service
Suppliers ask which purchase orders are open and confirm delivery dates, reducing buyer phone calls.
Internal how-do-I assistant
Staff ask how to run a stock count or post a receipt, answered from your own procedures and training notes.
Planner question desk
Planners ask about stock, demand and open orders and get answers with the underlying query visible.
Quality records helper
Quality staff ask for lots, certificates and non-conformances tied to an item, from linked documents.
Sage X3 integration surface
- SData 2.0 REST and web services for live status questions on orders, stock and purchase orders.
- Syracuse web interface, where a chatbot panel can be embedded as a link or iframe-style integration depending on your version and customisation rules.
- Document stores and attachments linked to X3 objects, indexed for retrieval.
- Read replica views on the Oracle or SQL Server database for analytic questions.
- X3 user and role definitions, used to decide what each chat user may see.
How it works
- 1
Pick the audience first
Internal staff, suppliers and customers each need a separate bot, identity model and tool set.
- 2
Index documents
Chunk procedures, work instructions and certificates, store embeddings in a vector database on your side, and tag them by access level.
- 3
Define live data tools
Create tools for order status, stock and PO lines that call SData with the caller's scope. Customer bots filter on the customer code server-side.
- 4
Serve the model
Run an open-weight model on your GPUs for on-prem, or a cloud model if allowed. Pick a size that handles tool calling reliably.
- 5
Build the interface
Embed in your portal, Teams or an internal page. Show sources and the queries behind each answer.
- 6
Test with real questions
Collect a hundred real questions, mark expected answers, and measure before launch and after every change.
Example flows
Customer asks about a delivery
Trigger: A logged-in customer types where is my order
- Bot identifies the customer account from the portal login.
- It calls the order status tool with that customer filter.
- It reads delivery and carrier data and replies with dates.
- If data is missing it offers a handoff to customer service.
Result: Common status calls drop, and nothing outside that account is ever retrieved.
How do I post a receipt
Trigger: New warehouse employee asks the internal bot
- Bot searches the indexed procedures.
- It returns the steps with a link to the source document.
- It notes if the procedure date is old.
Result: Faster onboarding, with answers tied to your own approved procedures.
Keeping data on-prem
A chatbot can run entirely inside your network: open-weight model on a GPU server, vector database and document index on local storage, tools calling SData over the internal address. This matters for manufacturers with customer drawings or export-controlled specifications in their document stores. For external users such as suppliers, only the chat front end needs to be reachable, behind a reverse proxy with authentication, while the model and data stay inside. Plan GPU capacity for peak concurrent chats, since response time suffers quickly when several users arrive at once.
Security checklist
- Enforce customer and supplier scoping in tool code, never by prompt wording.
- Authenticate every chat user, and tie internal chat to X3 roles.
- Keep document access labels in the index so restricted content is filtered before retrieval.
- Block write actions in public bots entirely.
- Log questions and answers, and retain them according to your privacy policy.
Ways to get it done
Sage's own assistant features and portals
Effort: Low.
Enough for simple guidance and notifications. Check what your version and licence offer.
General chatbot builder plus custom connectors
Effort: Several weeks.
Works for help content; live ERP scoping needs careful engineering.
Netray with your X3 partner
Effort: A scoped pilot over several weeks.
When the bot must be grounded, scoped by role, and run on-prem.
Pitfalls
- !Letting the model decide which customer's data to fetch.
- !Indexing every attachment without access labels.
- !Answering from stale documents with no date shown.
- !Skipping a test set and so not noticing quality drops after a change.
- !Under-sizing GPUs so response time makes the bot unusable.
Frequently asked questions
Does the chatbot need training on our Sage X3 data?
Generally no. Retrieval and tool calls supply facts at question time, which is cheaper and more current than training. Fine-tuning can help style or terminology, but it does not replace live lookups for stock or order status.
Can customers use it safely?
Yes if scoping is done in code. The tool receives the authenticated customer code and filters every query on it. The model never chooses the account. Test by trying to ask for other customers' orders.
Where does the chatbot live?
Common places are a customer or supplier portal, an internal web page, or Teams. Embedding directly inside the X3 web client depends on version and customisation options, so confirm with your partner.
Can it run without internet?
Yes. An open-weight model, local vector store and internal API calls need no outside connection. Updates to models and software are then handled manually through your change process.
When is a simple portal better than a chatbot?
If the questions are always the same, such as order status by number, a plain lookup page is cheaper and more predictable. A chatbot earns its place when questions vary or span documents and data.
Want AI chatbot 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 assessment