Regler för automatisering

Automation rules are used to trigger automatic changes based on user actions (e.g., apply a modification when a field is set to a specific value), email events, time conditions (e.g., archive a record 7 days after its last update), or external events.

To create an automation rule with Studio, proceed as follows:

  1. Open Studio and click Automations, then New.

  2. Select the Utlösare and, if necessary, fill in the fields that appear on the screen based on the chosen trigger.

  3. Klicka på Lägg till en åtgärd, välj sedan Typ av åtgärd och fyll i fälten som visas på skärmen baserat på den åtgärd du har valt.

  4. Klicka på Save & Close eller Save & New.

Example

Example of an automated action on the Subscription model

Tips

  • To modify the model of the automation rule, switch models before clicking Automations in Studio, or activate the developer mode, create or edit an automation rule, and select the Model in the Automation Rules form.

  • You can also create automation rules from any kanban stage by clicking the gear icon ( ) next to the kanban stage name, then selecting Automations. In this case, the Trigger is set to Stage is set to by default, but you can change it if necessary.

    Skapa automatiseringar från ett kanban-steg

Utlösare

The Trigger is used to define when the automation rule should be applied. The available triggers depend on the model. Five trigger categories are available overall:

Tips

You can also define a Before Update Domain to specify the conditions that must be met before the automation rule is triggered. In contrast, the conditions defined using the Extra Conditions and Apply on filters are checked during the execution of the automation rule.

To define a Before Update Domain, activate the developer mode, create or edit an automation rule, click Edit Domain, then click New Rule.

For example, if you want the automated action to happen when an email address is set on a contact that did not have an address before (in contrast to modifying their existing address), define the Before Update Domain to Email is not set, and the Apply on domain to Email is set.

Exempel på en trigger med en Before Update-domän

Värden uppdaterade

The triggers available in this category depend on the model and are based on common field changes, such as adding a specific tag (e.g., to a task) or setting the User field. Select the trigger, then select a value if required.

Example of a Values Updated trigger

E-post evenemang

Utlösa automatiska åtgärder när du tar emot eller skickar e-post.

Villkor för tidsinställning

Trigger automated actions based on a date field. The following triggers are available:

  • Based on date field: Select the field to be used next to the Delay field.

  • After creation: The action is triggered when a record is created and saved.

  • After last update: The action is triggered when an existing record is edited and saved.

Du kan sedan definiera:

  • a Delay: Specify the number of minutes, hours, days, or months. To trigger the action 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.

  • Extra Conditions: Click Add condition, then specify the conditions to be met to trigger the automation rule. Click New Rule to add another condition.

The action is triggered when the delay is reached and the conditions are met.

Example

If you want to send a reminder email 30 minutes before the start of a calendar event, select the Start (Calendar Event) under Trigger Date and set the Delay to -30 Minutes.

Exempel på en trigger för fältet Baserat på datum

Observera

By default, the scheduler checks for trigger dates every 4 hours, meaning lower granularity in time-based automations may not always be honored.

Anpassad

Utlösa automatiserade åtgärder:

  • On save: When the 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 saving the record.

För utlösarna On save och On UI change måste du must sedan välja det eller de fält som ska användas för att utlösa automatiseringsregeln i fältet When updating.

Varning

Om inget fält har valts i fältet When updating kan den automatiska åtgärden utföras flera gånger per post.

Alternativt kan du också definiera ytterligare villkor som ska uppfyllas för att utlösa automatiseringsregeln i fältet Apply on.

Observera

The On UI change trigger can only be used with the Utför kod 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 an external event using a webhook. A webhook is a method of communication between two systems where the source system sends an HTTP(S) request to a destination system based on a specific event. It usually includes a data payload containing information about the event that occurred.

To configure the On webhook trigger, copy the URL generated by Odoo into the destination system (i.e., the system receiving the request). Then, in the Target Record field, enter the code to run to define the record(s) to be updated using the automation rule.

Varning

The URL must be treated as confidential; sharing it online or without caution could potentially expose your system to malicious parties. Click the Rotate Secret button to change the URL’s secret if necessary.

Observera

  • The code defined by default in the Target Record field works for webhooks coming from another Odoo database. It is used to determine the record(s) to be updated using the information in the payload.

  • If you wish to use the webhook’s content for a purpose other than to find the record(s) (e.g., create a record), your only option is to use an Utför kod action. In this case, the Target record field must contain any valid code, but its result doesn’t have any effect on the automated action itself.

  • The webhook content is available in the server action context as a payload variable (i.e., a dictionary that contains the GET parameters or POST JSON body of the incoming request).

You can also choose to Log Calls to record the payloads received, e.g., to make sure the data sent by the source system matches the expected format and content. This also helps identify and diagnose any issues that may arise. To access the logs, click the Logs smart button at the top of the Automation rules form.

Se även

Webhooks

Åtgärder

Once you have defined the automation rule’s trigger, click Add an action to define the action to be executed.

Tips

You can define multiple actions for the same trigger/automation rule. The actions are executed in the order they are defined. This means, for example, that if you define an Update record action and then a Send email action, 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 update action is run.

Uppdatera rekord

This action allows to update 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; click the right arrow next to the field name to access the list of related fields if needed.

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.

Exempel på en Update Record-åtgärd

Tips

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:

Beräkna ett anpassat datetime-fält med hjälp av ett Python-uttryck

Skapa aktivitet

Den här åtgärden används för att schemalägga en ny aktivitet som är kopplad till posten. Välj en Activity Type, ange en Title och en beskrivning, ange sedan när du vill att aktiviteten ska schemaläggas i fältet Due Date In och välj en User type:

  • To always assign the activity to the same user, select Specific User and add the user in the Responsible field;

  • Om du vill rikta in dig på en användare som är dynamiskt kopplad till posten väljer du Dynamic User (based on record) och ändrar User Field om det behövs.

Example

När ett lead har omvandlats till en möjlighet vill du att den automatiska åtgärden ska ringa upp den användare som är ansvarig för leadet. Det gör du genom att ange Activity Type till Call och User Type till Dynamic User (based on record).

Exempel på en åtgärd för att skapa en aktivitet

Skicka e-post och skicka SMS

Dessa åtgärder används för att skicka ett e-postmeddelande eller ett textmeddelande till en kontakt som är kopplad till en viss post. Det gör du genom att välja eller skapa en Email Template eller en SMS Template och sedan välja hur du vill skicka e-postmeddelandet eller textmeddelandet i fältet Send Email As eller Send SMS As:

  • Email: för att skicka meddelandet som ett e-postmeddelande till mottagarna i Email Template.

  • Message: för att lägga upp meddelandet på posten och meddela postens följare.

  • Note: för att skicka meddelandet som en intern anteckning som är synlig för interna användare i chatten.

  • SMS (utan anteckning): för att skicka meddelandet som ett textmeddelande till mottagarna av SMS-mallen.

  • SMS (med anteckning): för att skicka meddelandet som ett textmeddelande till mottagarna av SMS-mallen och lägga upp det som en intern anteckning i chatten.

  • Note only: för att endast lägga upp meddelandet som en intern anteckning i chatten.

Send WhatsApp

Viktigt

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 drop-down menu.

Lägg till följare och ta bort följare

Use these actions to (un)subscribe existing contacts to/from the record.

Skapa rekord

Denna åtgärd används för att skapa en ny post i en valfri modell.

Välj önskad modell i fältet Record to Create; som standard innehåller det den aktuella modellen. Ange ett Name för posten, och om du vill skapa posten i en annan modell väljer du ett fält i fältet Link Field för att länka den post som utlöste skapandet av den nya posten.

Observera

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.

Tips

You can create another automation rule with Uppdatera rekord 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.

Utför kod

Denna åtgärd används för att exekvera Python-kod. Du kan skriva din kod i fliken Code med hjälp av följande variabler:

  • env: miljö där åtgärden utlöses

  • model: modell av den post där åtgärden utlöses; är en void recordset

  • post: post där åtgärden utlöses; kan vara ogiltig

  • records: postmängd av alla poster som åtgärden utlöses på i multiläge; detta kan lämnas tomt

  • time, datetime, dateutil, timezone: användbara Python-bibliotek

  • float_compare: verktygsfunktion för att jämföra flyttal baserat på specifik precision

  • log(message, level='info'): loggningsfunktion för att registrera felsökningsinformation i ir.logging-tabellen

  • _logger.info(message): logger för att skicka meddelanden i serverloggar

  • UserError: undantagsklass för varningsmeddelanden riktade till användaren

  • Command: x2many kommandon namnområde

  • action = {...}: för att returnera en åtgärd

Tips

De tillgängliga variablerna beskrivs både i flikarna Code och Help.

Skicka Webhook-avisering

This action allows to send a POST request with the values of the Fields to the URL specified in the URL field.

Sample Payload ger en förhandsvisning av de data som ingår i begäran med hjälp av data från en slumpmässig post eller dummydata om ingen post finns tillgänglig.

Utföra befintliga åtgärder

Åtgärden används för att utlösa flera åtgärder (kopplade till den aktuella modellen) samtidigt. För att göra detta klickar du på Add a line och sedan, i popup-fönstret Add: Child Actions”, välj en befintlig åtgärd eller klicka på :guilabel:`New för att skapa en ny.