Odoo 18 / 19 · Ollama · Practical guide
From customer notes to the next action.
Configure a Server Action that reads a contact's notes, extracts the stated next step and saves the response in their Odoo chatter. Follow the walkthrough and copy the prompts below.
By Javier Rico Rodríguez, creator of AI Engine · September 14, 2026
A saved result for review. This action does not send emails or schedule meetings. The example uses fictional data and JVR Labs' paid AI Engine module.
Before you start
- Odoo 18 or 19 on Odoo.sh or a server that allows third-party Python modules. Odoo Online is not supported.
- AI Engine 18.0.1.1.0 or 19.0.1.1.0 installed, with administrator access. The module depends on base, mail, requests and Jinja2.
- Access to Contacts and an Ollama instance reachable from your Odoo server. Start in a test database.
The live test ran on Community 18 and 19. It does not validate Enterprise-specific behavior or paid-provider connections.
1. Configure Ollama and the model
With Ollama installed, download the small model used for this example:
ollama pull qwen2.5:0.5bIn AI Engine → Configuration → AI Providers, create a provider with the Ollama (Local) template. Use your actual Ollama server address, ending in /v1. When Odoo and Ollama share the same local network environment, this can be http://localhost:11434/v1.
If Odoo runs in Docker, localhost refers to the container. Our Docker Desktop test used http://host.docker.internal:11434/v1. That address does not automatically work on Odoo.sh or a remote server. Do not expose an unprotected Ollama endpoint to the internet.
For a local Ollama instance without authentication, enter ollama in the required API Key field: it is a placeholder, not a real secret. If your server requires authentication, use its actual configuration. Then create a model named exactly qwen2.5:0.5b and assign it to this provider.
2. Prepare a fictional contact
Create a contact named Alex — Demo customer. Paste these notes into Internal Notes (the comment field) and save the record:
Customer asked for a demo of AI Engine for Odoo 18. They want to summarize customer notes. Next step: send the product guide. No meeting has been scheduled.3. Create the action and copy the prompts
Enable developer mode and open Settings → Technical → Actions → Server Actions. Create an action with these settings; menu labels can differ by language:
- Name
- AI Engine · Extract the next action
- Model
- Contact (res.partner)
- Type
- Execute AI Prompt
- AI Provider / AI Model
- Ollama / qwen2.5:0.5b
- Temperature / Max Tokens
- 0.2 / 180
- Output Mode
- Log to Chatter
System Prompt
Extract the next action explicitly stated in the notes. Return only that action as one short sentence. Do not invent information.User Prompt
What is the next action for {{ record.name }}? Notes: {{ record.comment | striptags }}The variables are replaced with the contact's name and notes. The striptags filter removes HTML tags from the notes.
4. Review and run on one contact
Save the action and open Preview & Test to inspect the rendered prompt. Check the sample record name: the wizard selects a recent record from the model, which may not be Alex. Test with AI makes a real call and displays a test response; it does not replace running the action on your chosen contact.
Click Create Contextual Action on the saved action. Return to Alex's contact and run AI Engine · Extract the next action from the Actions menu. Refresh the view if it does not appear. Run it only on this test contact.
5. Check the result and usage
In our Odoo 18 execution, the response saved in the chatter was exactly:
send the product guideAI Engine → Usage and Costs recorded 86 input tokens and 5 output tokens. Your wording and token usage may differ. Without model pricing configured, a displayed zero cost means no estimate is available, not that your infrastructure is free.
The small model worked for this narrow extraction, but produced an imprecise draft in other tests. Review each response before using it and evaluate your own examples before automating more records.
Watch the 34-second walkthroughIf something goes wrong
- Connection fails: check the address from your Odoo server, not just your browser.
- Model not found: make sure the name matches a model downloaded on that Ollama instance.
- Empty notes: check the selected contact and that the text is in comment.
- No response appears: check the chatter, Output Mode and the error log in Usage and Costs. An action finishing without an error dialog does not guarantee the API call succeeded.
Does this fit your installation?
AI Engine has a reference price of USD 199 for a one-time module license. API usage or infrastructure is separate. Check the version, final price and terms on Odoo Apps.