Agents

Best practices and troubleshooting

Where results land, the in-Odoo widget, and the most common symptoms: paused agent, abnormal consumption, inconsistent results.

5 min readUpdated August 7, 2026

An agent nobody reads is useless, and a misbehaving agent is almost always diagnosed in the same place: its run log.

Where results land

Four channels, which can be combined:

ChannelGood for
Aidoo activity feedAlways on, the full history with step detail
EmailA recap you read outside the tool
Odoo chatterA note on the record concerned, where your teams work
Discuss channelA team following alerts continuously

The Odoo chatter is the most underrated channel: the note lands on the invoice or quotation concerned, exactly where the person who must act will see it.

A daily digest also gathers all your agents' activity into a single morning message.

The in-Odoo widget

Your teams can check their agents without leaving Odoo: a bubble appears at the bottom right of your production Odoo and shows each user the agents assigned to them, along with their history.

Assignment is done by Odoo login, in the agent's configuration. A salesperson sees their agents, not accounting's.

Odoo home screen with the Aidoo bubble open on an agent: the report of its latest run, with summary, observations and actions taken.
An agent opened in the Odoo bubble: the report of its latest run, without leaving the screen.

Opening an agent shows its history, exactly as in the dashboard: the reports of its runs and your exchanges with it in a single thread. The back arrow returns to the list, and the credit counter stays in sight.

The same bubble can also host an Aidoo AI chat, an alternative to Claude or ChatGPT for users who would rather not leave Odoo. The two functions are enabled independently from the API keys page.

Symptoms and causes

The agent paused on its own

That is intended behaviour, not a failure. Three possible causes:

  1. Consecutive failures. The configured threshold was reached. Open the last run's log: the cause is there.
  2. Odoo unreachable. The pre-flight check failed several times in a row. Check your Odoo connection.
  3. Invalid Odoo identity. The member whose rights the agent borrows no longer has a valid Odoo key, or it expired.

Fix the cause, then reactivate the agent from its page.

It consumes far more than expected

Look in this order:

  1. External tools. A connected application with no restriction reloads its whole catalogue every turn. This is the most frequent cause.
  2. The volume processed. If your database has grown, an uncapped mission now handles ten times more records.
  3. The number of round trips. The log shows every tool call. An agent reading the same record ten times has a poorly worded mission.
  4. The model. Check nobody moved it up a tier.

Results vary from one run to the next

The mission leaves too much latitude. An agent is not deterministic: vague instruction, variable result.

Rewrite the mission and pin down what must be fixed: the exact filter, the maximum number of items, the expected summary format. "Give me an update on unpaid invoices" and "list invoices overdue by more than 30 days, at most 20, sorted by age, and finish with the total" do not produce the same stability.

It finds nothing although the data exists

Almost always an Odoo rights issue, not an Aidoo rules issue. Sign in to Odoo as the account whose identity the agent borrows, and search for the same records. If they do not show up, that is your cause.

Then check multi-company rules: the record may belong to a company that account cannot see.

An event-driven agent never fires

Three checks:

  1. First start does not replay the past. The agent only handles records created or updated after it was activated.
  2. The conditions may be too strict. Test the same filter in Odoo to see whether it returns records.
  3. Watch frequency depends on your tier. On Starter, the check happens at most once an hour: an event is not handled within seconds.

"Credits exhausted"

Runs are queued, not lost. Top up with a pack, wait for the monthly renewal, or free up budget by spacing an agent out. See Credits and consumption.

An agent did something unexpected in Odoo

Open its run log: every call is there, with its parameters. You will know exactly what was changed and when.

Then tighten up: add a value condition to the rule concerned, lower the write cap, or switch the agent to workflows-only mode while you rework its configuration.

Five habits that avoid trouble

One agent, one mission. An agent that chases unpaid invoices and qualifies leads and watches inventory is unmanageable. Three separate agents can be tuned, diagnosed and paused independently.

Dry-run after every mission change. The test simulates writes: it costs a few credits and saves corrections in Odoo.

Keep the write cap tight. Five per run suits most missions. An agent hitting the cap teaches you something about its mission.

Read the log during the first week. After that, the daily digest is enough.

Pick the Odoo licence that matches the scope. An agent borrows any existing Odoo account: the one you designate already bounds what it can see and change, before the Aidoo rules even apply.

Next step