Reguli de automatizare¶
Automation rules allow the execution of one or more predefined actions in response to a specific trigger, e.g., create an activity when a field is set to a specific value, or archive a record 7 days after its last update.
When creating an automation rule, domain filters allow you to add conditions that must be met for the automation rule to run, e.g., the opportunity must be assigned to a specific salesperson, or the state of the record must not be Draft.
To create an automation rule with Odoo Studio, proceed as follows:
Deschideți Studio și faceți clic pe Automatizări, apoi pe Nou.
Give the automation rule a clear, meaningful name that identifies its purpose.
Select the trigger and, if necessary, fill in the fields that appear on the screen based on the chosen trigger.
Faceți clic pe Adăugați o acțiune, apoi selectați Tipul de acțiune și completați câmpurile care apar pe ecran în funcție de acțiunea selectată.
Faceți clic pe Salvează și închide sau Salvează și nou.
Example
To ensure follow-up on less satisfied clients, this automation rule creates an activity 3 months after a sales order is created for clients with a satisfaction percentage lower than 30%.

Sfat
Use the Notes tab to document the purpose and functioning of automation rules. This makes rules easier to maintain and facilitates collaboration between users.
To modify the model targeted by the automation rule, switch models before clicking Automations in Studio, or activate developer mode, create or edit an automation rule, and select the Model in the Automation Rules form.
Automation rules can be created from any kanban stage by clicking the (Settings) icon that appears when hovering over the kanban stage name, then selecting Automations. In this case, the Trigger is set to Stage is set to by default, but it can be changed if necessary.
Declanșator¶
The Trigger is used to define what kind of event needs to occur for the automation rule to run. The available triggers depend on the model. Five trigger categories are available overall:
Adding conditions¶
Domain filters allow you to determine the records an automation rule should target or exclude. Efficient filtering enhances overall performance as it avoids unnecessary processing on records that are not impacted by the rule.
Sfat
Activate developer mode before creating an automation rule to have the most flexibility in adding domain filters.
Depending on the trigger chosen, it is possible to define one or more conditions a record must meet before and/or after a trigger occurs.
The Before Update Domain defines the conditions a record must meet before the trigger event occurs, e.g., the record must have
Type = Customer Invoice
andStatus = Posted
.With developer mode activated, click Edit Domain, if available, then New Rule.
Extra Conditions, or in some cases Apply on filters, define the conditions a record must meet after the trigger event occurs, e.g., the customer invoice must have
Payment Status = Partially Paid
.With developer mode activated if needed, click Add conditions or Edit Domain, as relevant, then New Rule.
When a trigger occurs, e.g., the payment status of a posted customer invoice is updated, the automation rule checks the defined conditions and only executes the action if the record matches those conditions.
Example
If the automated action should be executed when an email address is set for the first time (in
contrast to modifying an email address) on an existing contact that is an individual rather than
a company, use Email is not set
and Is a Company is not set
as the Before Update
Domain and Email is set
as the Apply on domain.

Notă
The Before Update Domain is not checked upon the creation of a record.
Valori actualizate¶
Trigger automated actions when specific changes happen in the database. The triggers available in this category depend on the model and are based on common changes, such as adding a specific tag (e.g., to a task) or setting a field’s value (e.g., setting the User field).
Select the trigger, then select a value if required.
Evenimente e-mail¶
Declanșează acțiuni automate la primirea sau trimiterea de e-mailuri.
Condiții de timp¶
Trigger automated actions at a point in time relative to a date field or to the creation or update of a record. The following triggers are available:
Based on date field: The action is triggered a defined period of time before or after the date of the selected date field.
After creation: The action is triggered a defined period of time after a record is created and saved.
After last update: The action is triggered a defined period of time after an existing record is edited and saved.
Puteți apoi defini:
a Delay: Specify the number of minutes, hours, days, or months. To have an action executed before the trigger date, specify a negative number. If you selected the Based on date field trigger, you must also select the date field to be used to determine the delay.
Notă
By default, the scheduler checks for time-triggered automation rules every 240 minutes, or 4 hours. This frequency is generally sufficient for delays such as 3 months after the order date or 7 days after the last update.
For delays of less than the equivalent of 2400 minutes, or 40 hours, the system recalculates the frequency of this check to ensure that more granular delays, e.g., 1 hour before the event start date and time, or 30 minutes after creation, can be respected as closely as possible.
An on-screen message indicates the possible delay after the scheduled triggering of the rule.
To view or manually edit the frequency of the scheduler, with developer mode activated, go to to see all scheduled actions for your database.
Enter
Automation
in the search bar, then, in the list of results, click Automation Rules: check and execute. If desired, update the value of the Execute Every field. Click Run Manually at any time to manually trigger this scheduled action.Extra Conditions: Click Add condition, then specify the conditions to be met for the automation rule to run. Click New Rule to add another condition.
The action is executed when the delay is reached and the conditions are met.
Example
To send a reminder email 30 minutes before the start of a calendar event, select
Start (Calendar Event) as the date field for the Trigger and set the
Delay to -30
Minutes.

Personalizat¶
Declanșează acțiuni automate:
On save: when a record is saved.
On deletion: when a record is deleted.
On UI change: when a field’s value is changed on the Form view, even before the record is saved.
Pentru declanșatoarele La salvare și La modificarea interfeței de utilizare, trebuie apoi să selectați câmpurile care vor fi utilizate pentru a declanșa regula de automatizare în La actualizare camp.
Atenționare
Dacă nu este selectat niciun câmp în câmpul La actualizare, acțiunea automată poate fi executată de mai multe ori pe înregistrare.
Opțional, puteți defini și condiții suplimentare care trebuie îndeplinite pentru a declanșa regula de automatizare în câmpul Aplicați pe.
Example
To trigger an automated action upon the creation of a record, e.g., when a new contact is
created, select the On save trigger and use
ID is not set
as the Before Update Domain and ID is set
as the
Apply on domain. Make sure the correct field is selected in the When
updating field.
When a new contact is saved, it is automatically assigned a database ID, thereby triggering the automation rule.

Notă
The On UI change trigger can only be used with the Execute Code action and only works when a modification is made manually. The action is not executed if the field is changed through another automation rule.
Extern¶
Trigger automated actions based on a specific event in an external system or application using a webhook.
After the webhook is configured in Odoo, where the webhook’s URL is generated and the target record defined, it needs to be implemented in the external system.
Atenționare
It is highly recommended to consult with a developer, solution architect, or another technical role when deciding to use webhooks and throughout the implementation process. If not properly configured, webhooks may disrupt the Odoo database and can take time to revert.

Notă
It is also possible to set up an automated action that sends data to a external system’s webhook when an event occurs in your Odoo database.
Vedeți și
Acțiuni¶
Once you have defined the automation rule’s trigger, click Add an action in the Actions To Do tab to define the action to be executed.
Sfat
You can define multiple actions for the same automation rule. By default, actions are executed in the order in which they were defined.
This means, for example, that if you define an Update record action and then a Send email action where the email references the field that was updated, the email uses the updated values. However, if the Send email action is defined before the Update record action, the email uses the values set before the record is updated.
To change the order of defined actions, click the (drag handle) icon beside an action and drag it to the desired position.
Actualizare înregistrare¶
This action updates one of the record’s (related) fields. Click the Update field and, in the list that opens, select or search for the field to be updated. If needed, click the (right arrow) next to the field name to access the list of related fields.
If you selected a many2many field, choose whether the field must be updated by Adding, Removing, or Setting it to the selected value or by Clearing it.
Example
If you want the automated action to remove a tag from the customer record, set the Update field to Customer > Tags, select by Removing, then select the tag.

Sfat
Alternatively, you can also set a record’s field dynamically using Python code. To do so, select
Compute instead of Update, then enter the code to be used for computing
the field’s value. For example, if you want the automation rule to compute a custom
datetime field when a task’s priority is set to
High
(by starring the task), you can define the trigger Priority is set to to
High
and define the Update Record action as follows:

Creează activitate¶
Această acțiune este utilizată pentru a programa o nouă activitate legată de înregistrare. Selectați un Tip de activitate, introduceți un Titlu și o descriere, apoi specificați când doriți să fie programată activitatea în câmpul Data scadență în și selectați un :guilabel:` Tip utilizator`:
To always assign the activity to the same user, select Specific User, then add the user in the Responsible field;
Pentru a viza un utilizator conectat la înregistrare în mod dinamic, selectați Utilizator dinamic (bazat pe înregistrare) și modificați Câmpul utilizatorului, dacă este necesar.
Example
După ce un client potențial este transformat într-o oportunitate, doriți ca acțiunea automată să stabilească un apel pentru utilizatorul responsabil pentru client potențial. Pentru a face acest lucru, setați Tipul de activitate la Apel și Tipul utilizatorului la Utilizator dinamic (bazat pe înregistrare).

Trimite e-mail și trimite SMS¶
Aceste acțiuni sunt folosite pentru a trimite un e-mail sau un mesaj text unui contact legat de o anumită înregistrare. Pentru a face acest lucru, selectați sau creați un Șablon de e-mail sau un Șablon SMS, apoi, în câmpul Trimite e-mail ca sau Trimite SMS ca, alegeți cum doriți să trimiteți e-mailul sau mesajul text:
E-mail: pentru a trimite mesajul ca e-mail către destinatarii Șablonului de e-mail.
Mesaj: pentru a posta mesajul pe înregistrare și pentru a notifica adepții înregistrării.
Notă: pentru a trimite mesajul ca o notă internă vizibilă utilizatorilor interni în chat.
SMS (fără notă): pentru a trimite mesajul ca mesaj text către destinatarii Șablonul SMS.
SMS (cu notă): pentru a trimite mesajul ca mesaj text către destinatarii Șablon SMS și pentru a-l posta ca notă internă în chatter.
Numai notă: pentru a posta mesajul doar ca notă internă în chatter.
Trimite WhatsApp¶
Important
To automate the sending of WhatsApp messages, one or more WhatsApp templates must be created.
This action is used to send a WhatsApp message to a contact linked to a specific record. To do so, select the appropriate WhatsApp Template from the dropdown menu.
Adăugați urmăritori și eliminați urmăritori¶
This action is used to subscribe/unsubscribe existing contacts to/from the record.
Creează înregistrare¶
Această acțiune este folosită pentru a crea o înregistrare nouă pe orice model.
Selectați modelul dorit în câmpul Înregistrați pentru a crea; conține implicit modelul curent. Specificați un Nume pentru înregistrare și apoi, dacă doriți să creați înregistrarea pe alt model, selectați un câmp în câmpul Câmp de legătură pentru a lega înregistrarea care a declanșat crearea noului model. record.
Notă
The dropdown list related to the Link Field field only contains one2many fields existing on the current model that are linked to a many2one field on the target model.
Sfat
You can create another automation rule with Actualizare înregistrare actions to update the fields of the new record if necessary. For example, you can use a Create Record action to create a new project task and then assign it to a specific user using an Update Record action.
Executați codul¶
Important
For automation rules that require the execution of custom code, note that maintenance of custom code is not included in the Standard or Custom pricing plans and incurs additional fees.
Această acțiune este folosită pentru a executa codul Python. Puteți scrie codul în fila Cod folosind următoarele variabile:
env
: mediu în care este declanșată acțiuneamodel
: modelul înregistrării pe care se declanșează acțiunea; este un set de înregistrări nulrecord
: înregistrare pe care este declanșată acțiunea; poate fi nulărecords
: setul de înregistrări al tuturor înregistrărilor pe care acțiunea este declanșată în multi-mode; aceasta poate fi lăsată goalătime
,datetime
,dateutil
,timezone
: biblioteci utile Pythonfloat_compare
: funcție de utilitate pentru a compara elementele flotante pe baza preciziei specificelog(message, level='info')
: funcție de înregistrare pentru a înregistra informațiile de depanare în tabelul ir.logging_logger.info(message)
: logger pentru a emite mesaje în jurnalele serveruluiUserError
: clasă de excepție pentru ridicarea mesajelor de avertizare adresate utilizatoruluiComand
: x2many comenzi spațiu de numeComand
: x2many comenzi spațiu de nume
Sfat
Variabilele disponibile sunt descrise atât în filele Cod, cât și în filele Ajutor.
Vedeți și
Trimiteți o notificare Webhook¶
This action is used to send a POST
API request with the values of the selected Fields
to the webhook URL specified in the URL field.
Sample Payload oferă o previzualizare a datelor incluse în cerere folosind datele unei înregistrări aleatorii sau date fictive dacă nu este disponibilă nicio înregistrare.
Notă
It is also possible to set up an automated action that uses a webhook to receive data from an external system when a predefined event occurs in that system.
Executați acțiunile existente¶
Acțiunea este folosită pentru a declanșa mai multe acțiuni (legate de modelul curent) în același timp. Pentru a face acest lucru, faceți clic pe Adăugați o linie, apoi, în fereastra pop-up Adăugați: Acțiuni pentru copii, selectați o acțiune existentă sau faceți clic pe Nou pentru a crea una nouă.