Odoo Automation: Complete Guide

Odoo ERP implementation consulting services provided globally by Mediod Consulting

Automated actions trigger actions automatically, based on user actions or time conditions. In Odoo, they’re used for creating, updating, and deleting database records without writing custom module code.

Automated actions are also based on domains, which define the business rules that decide when they run. By combining Python code with automated actions, you can add real functionality to Odoo without building a full custom module.

Viewing and Creating Automated Actions

To create an automated action, go to Automation from anywhere in Odoo Studio.

To view or create automated actions, go to: Settings > Technical > Automation > Automated Actions. Click Create to generate a new automated action.

Building automations yourself is powerful, but getting the domain filters and trigger logic right takes real Odoo experience. If you’d rather not learn this the hard way on a live database, Mediod Consulting’s development team can build and test automations for you.

How to Configure an Automated Action

To set up an automated action, you first need to define four elements: Model, Trigger, Apply on, and Action.

Model: The model the automation applies to.

Trigger: Defines when the action runs. There are six trigger types available:

  • On Creation — runs when a record is created and saved.
  • On Update — runs when an existing record is edited and saved. When the record changes from one state to another, use the Before Update Domain filter to define the condition before the update, and the Apply on filter to check the condition after the update.
  • On Creation and Update — runs both when a record is first created and saved, and any time it’s edited and saved afterward.
  • On Deletion — runs when a record is deleted.
  • Based on Time Condition — runs when the trigger field’s date, or date and time, is reached. To trigger the action after the trigger date, set a number of minutes, hours, days, or months under Delay after trigger date — use a negative number to trigger it before that date instead.

Apply On: Defines the model of the record the action applies to — it works the same way as applying a filter on the model.

Action: Determines what the automated action actually does. There are eight types of actions to choose from:

  1. Execute Python Code: Runs Python code directly. Available variables are listed on the Python Code tab, alongside a Help tab covering how to write the code. To trigger the action from the website, tick Available on the Website and add a website path.
  2. Create New Record: Creates a new record on any model. Use the Link field to connect the new record to the one that triggered it — for example, automatically creating a contact when a lead becomes an opportunity. Under the Data to Write tab, you define the new record’s field values by picking a field and its evaluation type:
    • Value — sets the field directly to a fixed value.
    • Reference — lets you select a record, and Studio adds its internal ID as the value.
    • Python Expression — dynamically sets the value using Python code.
  3. Update the Record: Sets field values on the current model’s record.
  1. Execute Several Actions: Triggers multiple actions at once. Under the Actions tab, click Add a Line, then Create, to configure each child action.
  2. Send Email: Sends an email to contacts linked to the record — select or create an email template to use.
  3. Add Followers: Subscribes existing contacts to the record.
  4. Create Next Activity: Links a new activity to the record. Set it up under the Activity tab — under Assigned To, choose an Activity user type: select Specific User and add users under Responsibility, or select Generic User From Record to dynamically target whichever user is linked to the record (changing the User field name if needed).
  1. Send Text Message: Sends an SMS — select an SMS template and link the record’s contact.

Frequently Asked Questions

Do I need to know Python to use Odoo automated actions?

Not for the basics — triggers, domains, and most action types (create record, send email, add followers) are configurable through the UI. Python code is only needed for the “Execute Python Code” action type or complex field logic.

Can automated actions slow down my Odoo database?

Poorly scoped triggers (especially “On Update” without a tight domain filter) can fire far more often than intended and affect performance. This is exactly the kind of issue an experienced Odoo partner catches during a build review.

What’s the difference between an automated action and a custom module?

Automated actions handle event-driven logic (do X when Y happens) without writing or deploying code. A custom module is needed for genuinely new functionality — new fields, new views, new business logic that doesn’t fit the trigger/action model.

Automation inside Odoo is only part of the picture — for the broader trends shaping ERP automation across industries, see our guide to ERP automation trends and the future of business management.

Get Started with Mediod Consulting

Automation is one of the fastest ways to get more value out of an existing Odoo setup — but it’s easy to build something that works today and breaks quietly six months from now. Talk to Mediod Consulting’s development team about auditing or building your Odoo automations properly, or explore our full implementation services if you’re still getting Odoo set up.

New to Odoo Studio? Explore Odoo Studio — sign up through that link and email info@mediodconsulting.com for a 22% discount on your subscription, before or after you buy.

Mediod Consulting avatar

Mediod Consulting

Mediod Consulting is a certified Odoo Silver Partner helping growing businesses implement, customize, and get the most out of Odoo ERP.

Leave a Comment

Your email address will not be published. Required fields are marked *