What Is an Odoo Automation Rule?
Triggers, Conditions and Actions Explained
Repetitive work does not always look like a major business problem.
It often appears as a collection of small tasks: assigning a follow-up call, updating the status of a record, sending a reminder, creating a project or informing a manager that something important has changed.
Each task may take only a few minutes. Repeated across multiple employees, customers and departments, however, those minutes add up. There is also the risk that a task is delayed, completed inconsistently or forgotten altogether.
This is where Odoo automation rules can help.
An automation rule tells Odoo to perform one or more predefined actions when a particular event takes place and, where necessary, when specific conditions are met. In simple terms, the logic looks like this:
When this happens, if these conditions are true, do this.
Odoo describes these three parts as the trigger, the conditions and the actions. Understanding the difference between them is the key to creating automations that are useful, controlled and easy to maintain.
This article reflects the features described in the Odoo 19 documentation. Available options can vary according to the Odoo version, installed applications and subscription.
What is an automation rule in Odoo?
An automation rule is a set of instructions that Odoo applies to records in the database.
A record could be a sales opportunity, quotation, customer, invoice, project, task, support ticket, employee or another item managed in Odoo. The rule watches for a chosen event and then decides whether it should perform an action.
For example:
When a sales opportunity is marked as won, if it relates to an implementation project, then create the project and schedule a kickoff activity.
This example contains all three parts of an automation rule:
The opportunity being marked as won is the trigger.
The opportunity relating to an implementation is the condition.
Creating the project and scheduling the activity are the actions.
The automation does not replace the salesperson's judgement about whether the opportunity has been won. It takes care of the consistent administrative steps that should follow that decision.
Part one: the trigger
The trigger answers the question:
What needs to happen for Odoo to check this rule?
In Odoo 19, automation triggers fall into five broad categories.
1. A value is updated
The rule can react when information on a record changes. Examples include a task receiving a particular tag, an opportunity moving to a new stage or a user being assigned to a record.
This is useful when one change should consistently start the next step in a process.
Business example: When a quotation reaches an agreed stage, Odoo creates a follow-up activity for the responsible salesperson.
2. An email event occurs
An automation can be triggered when an email is received or sent. This can help businesses organise processes in which communication should lead to another action inside Odoo.
Business example: When a response is received on a particular record, Odoo adds an internal activity asking the responsible employee to review it.
3. A date or period of time is reached
Timing conditions allow an action to run before or after a date, after a record is created, or after it was last updated.
Business example: Thirty days before a contract end date, Odoo schedules a renewal activity for the account manager.
Time-based rules are not necessarily executed at the exact second shown on a record. Odoo checks scheduled automations periodically and runs eligible actions when the scheduled process next executes. This distinction is important when designing time-sensitive workflows.
4. A record is created, edited or deleted
Custom triggers can react when a record is created for the first time, created or edited, deleted, or changed through the user interface.
Business example: When a new qualified lead is created, Odoo assigns an initial contact activity to the appropriate sales team.
These triggers must be configured carefully. Odoo warns that a rule based on creating and editing a record may execute multiple times if the relevant field being monitored is not specified.
5. Something happens in an external system
Odoo can also respond to events outside the database through a webhook. A webhook allows another system to send information to Odoo when a specific event occurs.
Odoo's documentation gives the example of updating inventory information when a sales order is confirmed in an external point-of-sale system.
Webhooks are powerful, but they introduce additional technical and security considerations. Odoo recommends configuring and testing them in a duplicate database before using them in a live environment, and the webhook URL must be treated as confidential.
Part two: the conditions
The conditions answer a different question:
Which records should the rule apply to?
A trigger wakes the rule up. The conditions decide whether it is allowed to continue.
Imagine that a business wants a sales manager to follow up on particularly valuable quotations. The trigger might be that a quotation has been sent. However, the company may not want to involve the manager in every quotation.
A condition could therefore specify that the expected value must exceed a certain amount. Only quotations that meet that requirement would create the additional activity.
Conditions prevent an automation from being applied too broadly. They can check information such as:
The stage or status of a record
The salesperson, team or department responsible
The value of an opportunity or order
Whether a field contains information
The type of customer, product or service involved
Whether the record was in a particular state before it changed
Odoo can evaluate what was true before an update and what is true afterwards. This makes it possible to respond to a specific transition rather than every edit.
For example, a business may want an action to run only when an email address is added to an individual contact for the first time. The rule can check that the email field was previously empty, that the contact is an individual rather than a company, and that the email field now contains a value.
Without those conditions, the same action might run whenever the email address is corrected or changed later.
Part three: the actions
The actions answer the final question:
What should Odoo do when the trigger occurs and the conditions are met?
Depending on the model, installed applications and configuration, an action can:
Update information on a record
Create or duplicate a record
Schedule an activity for a specific or dynamically selected user
Send an email or SMS
Send a WhatsApp message where the required application and account are configured
Add or remove followers
Send information to another system through a webhook
Execute code for more advanced requirements
Perform several actions in sequence
Odoo 19 also documents an Update with AI option that can update a field using an AI prompt when the Odoo AI application is installed.
The order of actions matters. If a rule updates a field and then sends an email that refers to that field, the email will use the updated value. If the email action runs first, it will use the earlier value.
This is one reason why an automation should be planned as a process rather than assembled as a collection of disconnected actions.
Five practical Odoo automation scenarios
1. Following up on a high-value sales opportunity
A sales team sends a proposal for an opportunity with high expected revenue. The business wants the team leader to become involved at this stage.
Trigger: The proposal reaches the chosen stage.
Condition: The expected revenue exceeds the company's threshold.
Action: Create a call activity for the sales team leader.
This closely reflects an example in Odoo's documentation. The rule supports the process without automatically deciding whether the deal is worthwhile or what the team leader should offer.
2. Preparing for a contract renewal
A service business manages contracts with defined end dates. Relying on employees to check every contract manually creates a risk of late renewals.
Trigger: The date reaches 30 days before the contract ends.
Condition: The contract is active and has not already been renewed.
Actions: Create an activity for the account manager and send an internal notification.
The employee still manages the customer relationship. Odoo makes sure the renewal enters the workflow at the appropriate time.
3. Creating a project after winning an opportunity
A consultancy uses a standard project structure for new client engagements.
Trigger: The sales opportunity is moved to Won.
Condition: The service sold requires a client project.
Actions: Duplicate the relevant project template, link it to the opportunity and assign a kickoff task.
Odoo documents the possibility of duplicating a project with predefined tasks when an opportunity is won. The setup requires the appropriate relationship between the opportunity and project records.
4. Following up after poor customer feedback
A business records customer satisfaction and wants to make sure dissatisfied clients are contacted.
Trigger: A defined period passes after the sales order is created.
Condition: The recorded satisfaction percentage is below the chosen threshold.
Action: Create a follow-up activity for the responsible employee.
Odoo uses a similar example in its documentation: an activity is created three months after a sales order for clients whose satisfaction score is below 30%.
5. Connecting Odoo with an external point-of-sale system
A company receives sales information through a separate point-of-sale platform but manages inventory in Odoo.
Trigger: A sales order is confirmed in the external platform.
Condition: The payload contains the required product and order information.
Action: Update the relevant inventory information in Odoo.
This type of workflow uses a webhook. Because it connects two systems and affects operational data, it should be designed, secured and tested with appropriate technical support.
Does automation mean custom development is unnecessary?
No. Automation rules and custom development solve different levels of problems.
An automation rule is often appropriate when the requirement follows clear logic using information and actions that already exist in Odoo. It can be a good fit for reminders, assignments, status updates and consistent handovers between stages.
Custom development may be more suitable when the requirement introduces complex calculations, specialised user interfaces, substantial integrations or entirely new business behaviour.
There is also a third possibility: Odoo may already contain a standard feature that solves the problem. Before building an automation, check whether the required result can be achieved through the normal configuration of the relevant application.
The best solution is not the one with the most automation. It is the simplest reliable solution that supports the actual business process.
Where automation rules can go wrong
Automation can reduce repetitive work, but a poorly designed rule can repeat it at scale.
Common risks include:
Using a broad trigger without sufficient conditions
Allowing a rule to run again after every small edit
Sending duplicate emails or creating duplicate activities
Applying a new time-based rule to historical records unintentionally
Placing multiple actions in the wrong order
Connecting an external system without testing the webhook securely
Creating automations that nobody documents or reviews
Odoo recommends giving rules clear names and documenting their purpose in the Notes tab. For time-based automations, the scheduled-action setup must also be initialised carefully to avoid applying a new rule retroactively to older records.
Questions to answer before creating an automation
Before configuring a rule, write down the proposed process in plain language:
What repetitive problem are we trying to solve?
What exact event should trigger the rule?
Which records should be included or excluded?
What action should Odoo perform?
Could the action be triggered more than once?
What exceptions still require human judgement?
Who will own and maintain the rule?
How will it be tested before going live?
Does Odoo already provide a standard feature for this process?
If the business cannot explain the workflow clearly before creating the rule, automating it is unlikely to make it clearer.
Start with the process, not the automation
Odoo automation rules can make everyday work faster and more consistent. Their real value, however, comes from supporting a well-understood process.
The trigger defines when Odoo should pay attention. The conditions provide the guardrails. The actions complete the required work. When those three elements are designed carefully, automation can reduce repetitive administration while keeping employees in control of decisions that require context and judgement.
Centric helps businesses review their existing Odoo workflows, identify suitable opportunities for automation and configure solutions around the way their teams actually operate.
Still completing repetitive steps manually? Speak to Centric about improving your workflows in Odoo.