A chatbot answers. An agent acts: it places an order, books a slot, updates a customer record. That shift from talking to doing changes everything, because a mistake is no longer an awkward sentence — it gets written into your database.
What we build
Chat and voice assistants wired into your real tools: catalogue, stock, calendar, CRM, point of sale. They understand French, English and, when your customers speak it, Tunisian derja. They know how to say "I don't know" and hand over to a person.
The non-negotiable principle
The language model proposes; it never decides. Between the model and your data we place a deterministic gate: ordinary, tested code that validates every action before it runs. Prices are recalculated server-side, quantities are capped, duplicates are rejected, and nothing binding goes through without the customer's explicit confirmation. Every decision is logged.
A working example: Ordy
Ordy, our ordering agent for restaurants, follows exactly this pattern. It takes orders over chat and voice, in French, English and derja, and routes each one through the validation gate before it reaches the kitchen. Chat and order execution are proven; voice and automatic onboarding are available. Installation starts with a single command: npx ordy-analyze.
How we work
We start by listing the actions the agent will be allowed to take — and, more importantly, the ones it will not. Only then do we pick a model. A well-bounded agent on a modest model beats a brilliant model with no limits.



