Aidoo AI

Hints and learning

How Aidoo learns your business vocabulary: model hints, silent correction through aidoo_feedback, and version history.

5 min. leestijdBijgewerkt op 7 augustus 2026

Deze pagina is nog niet vertaald naar uw taal en wordt weergegeven in het Engels.

An AI assistant knows Odoo. It does not know your Odoo: that your web orders carry a particular prefix, that "active customer" has a specific meaning at your company, or that an activity must always be assigned to the account manager.

Hints encode those rules. They are plain-language instructions attached to an Odoo model, automatically injected into the conversation whenever that model is used. In the dashboard, the field is called AI instructions, under Odoo connection → Models.

What a hint looks like

Attached to sale.order:

Orders coming from the website have a reference starting with "WEB-".
Never confirm an order whose customer is over their credit limit:
check credit_limit on res.partner before any action_confirm.
The x_channel field is mandatory on creation: "direct", "web" or "reseller".

Nothing technical: sentences you would say to a new joiner. The assistant reads them before acting on that model.

Where they come into play

aidoo_schema returns the hint alongside the model structure. And when the assistant attempts a write on a model that has one, the tool returns the hint instead of running, asking it to revisit its values. It then calls again, confirming, see Writing to Odoo.

The correction loop

This is Aidoo's distinctive mechanism. When you correct the assistant, the correction is not lost at the end of the conversation.

You correct it

No, for us an "active customer" is a customer with at least one order in the last 12 months, not simply a contact with the active flag ticked.

The assistant reads the current hint

It calls aidoo_schema on res.partner to retrieve the existing instruction, so it can extend it rather than overwrite it.

It rewrites

It folds your correction into the existing hint, keeping what was already there.

It saves, without asking

A call to aidoo_feedback(model, updated_hint). No confirmation: updating a hint affects no business data, only how the assistant works from then on.

Your colleagues benefit

The hint is attached to the workspace, not to your session. The correction you make on Monday applies to the whole team's conversations from Tuesday.

aidoo_feedback

Parameters: model, updated_hint.

Two cumulative conditions for it to work:

  • the feedback permission on the API key: disabled by default
  • the canUpdateHints flag on your member profile: enabled for owners and admins, disabled for members

Who should be allowed to correct?

Opening canUpdateHints to the whole team makes hints converge fast, but exposes you to contradictory instructions. The setup that works best: a handful of authorised business referents, with everyone else routing corrections through them.

History and limits

LimitValue
Maximum hint length2,000 characters
Versions kept5

Every update archives the previous version server-side. That history is not browsable from the interface yet: if a hint works well, keep a copy before reworking it.

Aidoo Models tab: the list of Odoo models on the left, and on the right the selected model's panel with its AI instructions and its fields.
A model's hint is written under AI instructions, in the right-hand panel.

The 2,000 characters are a useful constraint: a hint is an instruction, not documentation. Beyond that, the assistant spreads its attention thin and applies each rule less reliably.

Writing a good hint

Be imperative. "Never confirm without checking the credit limit" beats "it would be advisable to check the credit limit".

Name the technical fields. "Check credit_limit, not the field shown on screen" removes the ambiguity.

Give the rule, not the example. "The WEB- prefix marks orders from the website" generalises; "order WEB-1042 comes from the website" is useful once.

One rule per line. Blocks of prose are followed less reliably than short, separate instructions.

Attach it to the right model. A rule about activities belongs on mail.activity, not on sale.order, even if you thought of it while working on an order.

Writing hints up front

Nothing forces you to wait for a mistake. Before opening writing up to your team, take your three most-used models and write out their rules:

Add to the sale.order hint: any discount above 15% requires the sales director's approval, never apply one without explicit validation.

This is the highest-return way to make writes reliable: the rule is applied before every attempt, not recalled after the fact.

Diagnostics

The assistant ignores the hint

Check it is attached to the right model, and that it is not buried in an overly long text. A 2,000-character hint whose important rule sits on the last line lands less well than a 300-character one.

"Permission feedback is required"

The permission is not granted on the key. If it is, check canUpdateHints on your member profile: both are required.

A hint was degraded by a correction

The last five versions are kept server-side, but no screen restores them yet. Rewrite the hint by hand, which is quick when it is a few lines long.

Two rules contradict each other

The assistant generally applies the more specific one, but the outcome is not guaranteed. Re-read the whole hint after each addition: that is when contradictions become visible.

Next step