At noon
Need Help live for all customersSanad and Need Help
AI support agents for noon Business sellers and customers.
- Role
- Built end to end
- Period
- Oct – Nov 2026 (third version of an assistant I've built since 2024)
- Built with
- PythonFastAPIVertex AIMCPZoho DeskNext.jsReact
Sanad is an AI support assistant for sellers on noon Business, noon's B2B marketplace. It answers from help content, looks up the seller's own data, proposes small changes that the seller confirms, and hands off to the support team when it can't help. I built it end to end in eight days, then took the same approach to noon Business customers as Need Help, which is live for all of them.
- 8 days
- first commit to merged code
- 12
- read-only lookups
- 5
- actions, each confirmed by the user
- 150
- automated tests across both agents
- Modelcan be wrong
- Codedeterministic
- Persondecides
A generic illustration of the pattern with an invented example. Not noon's interface, data or wording.
The design problem
People using a B2B marketplace ask questions that sit between documentation and their own data: why something isn't visible, what a status means, how to change a detail. A generic chatbot guesses. One with write access can do real damage.
The brief I set myself: an assistant that is useful inside the product, cannot step outside what the signed-in user may see or do, and never leaves them at a dead end. When it can't help, it passes the problem to the support team with the context attached.
How one message is handled
The model sits in the middle of a pipeline made of ordinary code, and a person sits at the end.
- Modelcan be wrong
- Codedeterministic
- Persondecides
- 1
Person asks
From inside the product, on the page where the question comes up.
Person - 2
Policy and scope checks
Is the assistant enabled here, and is the request within the user's own account?
Code - 3
Model plans
Decides which lookups it needs and calls them as tools.
Model - 4
Lookups run as the user
Executed with the user's own permissions, so the assistant can't see more than they can.
Code - 5
Grounded answer
Facts must come from a source a tool returned, and answers show that source.
Model - 6
Person confirms
Any change or support request appears as a card. Nothing happens until the user clicks.
Person
Principles I applied
- Ground it and cite it
- Answers are built from help content and the user's own data, and show where each fact came from.
- Act as the user, never as a superuser
- Lookups and changes go through the user's own permissions, so there is no separate path to get wrong.
- Propose, then confirm
- A change is shown as a card. Only the user's click makes it happen, and the riskier ones need a deliberate button, not a typed "yes".
- No dead ends
- When it can't help, it drafts a support request with the conversation attached, for the user to review and send.
- Controllable by the team that owns it
- The support team can adjust how it behaves and where it is switched on, without waiting for a release.
- Tested like any other service
- 78 automated tests cover its rules, rollout and actions, so changes to the model or the prompts can't quietly break them.
Need Help: the same approach, for customers
Need Help brings the approach to noon Business customers and is live for all of them. It answers before it chats: it works out which questions fit the customer's own order or request, answers with their real details, and only then offers the assistant. It is read-only.
It is backed by an MCP server with 72 tests, alongside the Help Centre and an event-driven ticketing service that syncs to Zoho Desk. I built it in two days on top of Sanad.
Three versions over three years
- 2024
v1: the toolbar chatbot
A chat widget inside the partner toolbar, so it was available across the partner apps. Answers streamed to the user, with like and dislike feedback.
- 2025
v2: close the loop
A user who disliked an answer could turn the conversation into a support ticket. Added Arabic input and right-to-left support.
- Oct 2026
v3: Sanad
Reads the user's own data, proposes changes behind confirm cards, and raises support requests from the chat.
- Nov 2026
Need Help
The same approach for customers. Live for all noon Business customers.