Regler för automatisering

Automatiseringsregler tillåter körning av en eller flera fördefinierade åtgärder som svar på en specifik utlösare, t.ex. skapa en aktivitet när ett fält ställs in på ett specifikt värde, eller arkivera en post 7 dagar efter dess senaste uppgradering.

När du skapar en automationsregel gör domänfilter det möjligt att lägga till villkor som måste uppfyllas för att automationsregeln ska köras, t.ex. möjligheten måste vara tilldelad en specifik säljare, eller postens status får inte vara Utkast.

För att skapa en automationsregel med Odoo Studio, gör så här:

  1. Öppna Studio och klicka på Automatiseringar, sedan på Ny.

  2. Ge automatiseringsregeln ett tydligt, meningsfullt namn som identifierar dess syfte.

  3. Välj utlösaren och fyll vid behov i de fält som visas på skärmen baserat på den valda utlösaren.

  4. 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.

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

Example

För att säkerställa uppföljning av mindre nöjda kunder skapar denna automatiseringsregel en aktivitet 3 månader efter att en försäljningsorder skapats för kunder med en nöjdhetsprocent lägre än 30%.

Exempel på en automatiseringsregel på Kontrakt-modellen

Tips

  • Använd fliken Anteckningar för att dokumentera syfte och funktion för automatiseringsregler. Detta gör regler lättare att underhålla och underlättar samarbete mellan användare.

  • För att ändra modellen som automatiseringsregeln riktar sig mot, växla modeller innan du klickar på Automatisering i Studio, eller aktivera utvecklarläge, skapa eller redigera en automatiseringsregel och välj Modell i formuläret Automatiseringsregler.

  • Automatiseringsregler kan skapas från vilken kanban-etapp som helst genom att klicka på ikonen (Inställningar) som visas när du hovrar över kanban-etappens namn, och sedan välja Automatisering. I detta fall är utlösaren inställd på Etapp är inställd på som standard, men den kan ändras om det behövs.

    Skapa automatiseringar från ett kanban-steg

Utlösare

Utlösaren används för att definiera vilken typ av händelse som behöver inträffa för att automatiseringsregeln ska köras. Tillgängliga utlösare beror på modellen. Fem utlösarkategorier är tillgängliga totalt:

Lägga till villkor

Domänfilter gör det möjligt att bestämma vilka handlingar en automatiseringsregel ska rikta in sig på eller exkludera. Effektiv filtrering förbättrar den övergripande prestandan eftersom den undviker onödig bearbetning av handlingar som inte påverkas av regeln.

Tips

Aktivera utvecklarläge innan du skapar en automatiseringsregel för att ha maximal flexibilitet när du lägger till domänfilter.

Beroende på den valda utlösaren är det möjligt att definiera ett eller flera villkor som en handling måste uppfylla innan och/eller efter att en utlösare inträffar.

  • Before Update Domain definierar de villkor en handling måste uppfylla innan utlösarhändelsen inträffar, t.ex. handlingen måste ha Type = Customer Invoice och Status = Posted.

    Med utvecklarläge aktiverat, klicka på Redigera domän, om tillgängligt, och sedan Ny regel.

  • Extra villkor, eller i vissa fall Tillämpa på-filter, definierar de villkor en post måste uppfylla efter att utlösarhändelsen inträffar, t.ex. kundfakturan måste ha Betalningsstatus = Delvis betald.

    Med utvecklarläge aktiverat vid behov, klicka på Lägg till villkor eller Redigera domän, beroende på vad som är relevant, och sedan Ny regel.

När en utlösare inträffar, t.ex. betalningsstatus för en bokförd kundfaktura uppdateras, kontrollerar automatiseringsregeln de definierade villkoren och utför endast åtgärden om handlingen matchar dessa villkor.

Example

Om den automatiserade åtgärden ska utföras när en e-postadress anges för första gången (i motsats till att ändra en e-postadress) på en befintlig kontakt som är en individuell person snarare än ett företag, använd Email is not set och Is a Company is not set som Before Update Domain och Email is set som Apply on-domän.

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

Observera

Before Update Domain kontrolleras inte när en handling skapas.

Värden uppdaterade

Utlös automatiserade åtgärder när specifika förändringar sker i databasen. De utlösare som är tillgängliga i denna kategori beror på modellen och baseras på vanliga ändringar, såsom att lägga till en specifik tagg (t.ex. till en arbetsuppgift) eller att ange ett fälts värde (t.ex. att ange fältet Användare).

Välj utlösaren och välj sedan ett värde om det krävs.

E-post evenemang

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

Villkor för tidsinställning

Utlös automatiserade åtgärder vid en tidpunkt i förhållande till ett datumfält eller till skapandet eller uppdateringen av en handling. Följande utlösare är tillgängliga:

  • Baserad på datumfält: Åtgärden utlöses en definierad tidsperiod före eller efter datumet för det valda datumfältet.

  • After creation: Åtgärden utlöses en definierad tidsperiod efter att en handling har skapats och sparats.

  • After last update: Åtgärden utlöses en definierad tidsperiod efter att en befintlig handling har redigerats och sparats.

Du kan sedan definiera:

  • en Fördröjning: Ange antalet minuter, timmar, dagar eller månader. För att få en åtgärd utförd före utlösardatumet, ange ett negativt tal. Om du valde utlösaren Baserad på datumfält, måste du också välja det datumfält som ska användas för att bestämma fördröjningen.

    Observera

    Som standard kontrollerar schemaläggaren tidsutlösta automationsregler var 240:e minut, eller var 4:e timme. Denna frekvens är i allmänhet tillräcklig för fördröjningar som 3 månader efter beställningsdatumet eller 7 dagar efter senaste uppdateringen.

    För fördröjningar som är mindre än motsvarande 2400 minuter, eller 40 timmar, räknar systemet om frekvensen för denna kontroll för att säkerställa att mer detaljerade fördröjningar, t.ex. 1 timme före händelsens startdatum och starttid, eller 30 minuter efter skapandet, kan respekteras så nära som möjligt.

    Ett meddelande på skärmen visar den möjliga fördröjningen efter den schemalagda utlösningen av regeln.

    Meddelande om möjlig fördröjning efter schemalagd körning

    För att visa eller manuellt redigera schemaläggares frekvens, med utvecklarläge aktiverat, gå till Inställningar ‣ Teknisk ‣ Schemalagda åtgärder för att se alla schemalagda åtgärder för din databas.

    Ange Automation i sökfältet, och klicka sedan i resultatlistan på Automationsregler: kontrollera och kör. Om så önskas, uppdatera värdet för fältet Kör var. Klicka på Kör manuellt när som helst för att manuellt utlösa denna schemalagda åtgärd.

  • Extra villkor: Klicka på Lägg till villkor, och ange sedan de villkor som måste uppfyllas för att automationsregeln ska köras. Klicka på Ny regel för att lägga till ytterligare ett villkor.

Åtgärden körs när fördröjningen har nåtts och villkoren är uppfyllda.

Example

För att skicka en påminnelse via e-post 30 minuter innan en kalenderhändelse börjar, välj Start (Calendar Event) som datumfält för utlösare och ställ in Delay till -30 Minutes.

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

Anpassad

Utlösa automatiserade åtgärder:

  • On save: när en post sparas.

  • On deletion: när en handling raderas.

  • Vid UI-ändring: när ett fältvärde ändras i formulärvyn, även innan posten sparas.

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.

Example

För att utlösa en automatiserad åtgärd vid skapandet av en post, t.ex. när en ny kontakt skapas, välj On save utlösare och använd ID is not set som Before Update Domain och ID is set som Apply on domän. Se till att rätt fält är valt i fältet When updating.

När en ny kontakt sparas tilldelas den automatiskt ett databas-ID, vilket utlöser automatiseringsregeln.

Exempel på utlösning av en åtgärd vid skapande av en post

Observera

Utlösaren Vid UI-ändring kan endast användas med åtgärden Verkställ kod och fungerar bara när en ändring görs manuellt. Åtgärden verkställs inte om fältet ändras genom en annan automatiseringsregel.

Extern

Utlös automatiserade åtgärder baserat på en specifik händelse i ett externt system eller en extern applikation med hjälp av en webhook.

Efter att webhooken har konfigurerats i Odoo, där webhookens URL genereras och målposten definieras, måste den implementeras i det externa systemet.

Varning

Det är starkt rekommenderat att rådfråga en utvecklare, lösningsarkitekt eller en annan teknisk roll när man beslutar att använda webhooks och under hela implementeringsprocessen. Om de inte är korrekt konfigurerade kan webhooks störa Odoo-databasen och kan ta tid att återställa.

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

Observera

Det är också möjligt att skapa en automatiserad åtgärd som skickar data till ett externt systems webhook när en händelse inträffar i din Odoo-databas.

Åtgärder

När du har definierat automatiseringsregelns trigger, klicka på Add an action i fliken Actions To Do för att definiera åtgärden som ska utföras.

Tips

Du kan definiera flera åtgärder för samma automatiseringsregel. Som standard verkställs åtgärder i den ordning de definierades.

Detta innebär till exempel att om du definierar en Uppdatera post-åtgärd och sedan en Skicka e-post-åtgärd där e-posten refererar till fältet som uppdaterades, använder e-posten de uppdaterade värdena. Om däremot Skicka e-post-åtgärden definieras före Uppdatera post-åtgärden, använder e-posten värdena som satts innan posten uppdateras.

För att ändra ordningen på definierade åtgärder, klicka på ikonen (draghandtag) bredvid en åtgärd och dra den till önskad position.

Uppdatera rekord

Denna åtgärd uppdaterar ett av postens (relaterade) fält. Klicka på fältet Uppgradering och välj eller sök efter det fält som ska uppdateras i listan som öppnas. Om det behövs, klicka på (höger pil) bredvid fältnamnet för att komma åt listan över relaterade fält.

Om du valde ett många till många-fält, välj om fältet ska uppdateras genom att Lägga till, Ta bort, eller Ställa in det till det valda värdet eller genom att Rensa det.

Example

Om du vill att den automatiserade åtgärden ska ta bort en tagg från kundposten, ställ in fältet Uppgradering till Customer > Tags, välj by Removing och välj sedan taggen.

Exempel på en Update Record-åtgärd

Tips

Alternativt kan du också ställa in ett posts fält dynamiskt med Python-kod. För att göra detta väljer du Beräkna istället för Uppdatera, och anger sedan koden som ska användas för att beräkna fältets värde. Om du till exempel vill att automationsregeln ska beräkna ett anpassat datum- och tidsfält när en arbetsuppgifts prioritet ställs in på Hög (genom att markera arbetsuppgiften med en stjärna), kan du definiera utlösaren Prioritet är inställd på till Hög och definiera åtgärden Uppdatera post enligt följande:

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:

  • För att alltid tilldela aktiviteten till samma användare, välj Specific User och lägg sedan till användaren i fältet Ansvarig;

  • 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.

Skicka WhatsApp

Viktigt

För att automatisera skickandet av WhatsApp-meddelanden måste en eller flera WhatsApp-mallar skapas.

Denna åtgärd används för att skicka ett WhatsApp-meddelande till en kontakt kopplad till en specifik post. För att göra detta, välj lämplig WhatsApp Template från rullgardinsmenyn.

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

Denna åtgärd används för att prenumerera/avprenumerera befintliga kontakter till/från posten.

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

Rullgardinsmenyn som är relaterad till fältet Länkfält innehåller endast en till många-fält som finns på den aktuella modellen och som är länkade till ett många till ett-fält på målmodellen.

Tips

Du kan skapa en annan automatiseringsregel med Uppdatera rekord åtgärder för att uppdatera fälten i den nya posten om det behövs. Till exempel kan du använda en Skapa åtgärd för att skapa en ny projektuppgift och sedan tilldela den till en specifik användare med hjälp av en Uppgradering Record åtgärd.

Utför kod

Viktigt

För automatiseringsregler som kräver verkställande av anpassad kod, notera att underhåll av anpassad kod inte ingår i prisplanerna Standard eller Anpassad och medför ytterligare avgifter.

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

Denna åtgärd används för att skicka en ”POST” API-förfrågan med värdena från de valda Fälten till webhook-URL:en som anges i fältet URL.

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.

Observera

Det är också möjligt att installera en automatisk åtgärd som använder en webhook för att ta emot data från ett externt system när en fördefinierad händelse inträffar i det systemet.

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.