Jedną z największych zalet Odoo jest głęboka integracja między aplikacjami. Standardowo, gdy oferta sprzedaży usługi (moduł Sales) zostanie zaakceptowana, system może automatycznie utworzyć nowy projekt lub zadanie w module Projekty. To świetna funkcja, ale co w sytuacji, gdy potrzebujemy uruchomić działania operacyjne jeszcze zanim klient podpisze umowę?

Możemy ustalić planowane aktywności bazując na spodziewanej dacie zamknięcia, a co jeśli chcemy aby wyzwalaczem było samo przeciągnięcie szansy do danego etapu procesu?

Wyobraź sobie sytuację: Twój handlowiec przesuwa szansę sprzedaży w lejku CRM do etapu "Propozycja". W tym momencie zespół techniczny musi przygotować szczegółową wycenę lub wstępny plan działania. Jak zapewnić, że to zadanie zostanie utworzone i przypisane za każdym razem, bezbłędnie i natychmiast?

Tu z pomocą przychodzą Automatyzacje!

Czym są Akcje Automatyczne w Odoo?

Automatyzacje to spersonalizowane akcje, które uruchamiają się na podstawie jakiegoś wyzwalacza.

Obraz przedstawiający gdzie znaleźć zakładkę automatyzacje w Odoo CRM.

Pic. 1. Aby znaleźć manu automatyzacji, należy kliknąć  przy Etapie, do którego chcemy dodać automatyzację (widoczne po najechaniu na etap).

Wyzwalaczem może być na przykład dodanie tagu, webhook lub przesunięcie do danego etapu (wśród wielu innych). Akcje to na przykład aktualizacja rekordu, wysłanie SMSa lub wykonanie kodu.

Obraz przedstawiający Typy automatyzacji oraz konfigurację automatyzacji w Odoo.

Pic. 2. Widok tworzenia automatyzacji dla etapu "Propozycja".

Bardzo dużo akcji może zostać zdefiniowanych bez znajomości programowania, jednak czasem, gdy potrzebujemy niestandardowego działania, znajomość programowania może być niezbędna. Odoo pozwala nam zdefiniować kod źródłowy, który zostanie wykonany. To bardzo potężna opcja.

Praktyczny przykład: Automatyczne tworzenie zadania krok po kroku

Nasz cel: Gdy Szansa Sprzedaży (Lead) zostanie przesunięta do etapu "Propozycja", system ma automatycznie utworzyć nowe zadanie w projekcie o nazwie "Wyceny dla Klientów". W tym przykładzie, prosty kod pozwoli na dodanie Taska do istniejącego Projektu.

Krok 1: Znajdź menu automatyzacji

W widoku Kanban modułu CRM, najedź kursorem na nagłówek etapu, do którego chcesz dodać regułę (w naszym przypadku "Propozycja"). Kliknij w ikonę koła zębatego, a następnie wybierz z menu opcję "Automatyzacje".

Krok 2: Skonfiguruj akcję

W formularzu tworzenia automatyzacji nadajemy jej nazwę (np. "Utwórz zadanie do wyceny") i wybieramy typ akcji. W naszym przypadku, ponieważ chcemy stworzyć zupełnie nowy rekord w innej aplikacji, wybieramy opcję "Wykonaj kod w Pythonie".

Krok 3: Dodaj kod i zapisz

Teraz czas na najważniejszą część. Wklej poniższy kod w zakładce "Kod do wykonania". Kod niezbędny do wykonania tej automatyzacji to zaledwie kilka linii, i wygląda następująco:

# Wyszukaj projekt o konkretnej nazwie  
project = env['project.project'].search([('name', '=', 'Wyceny dla Klientów')], limit=1)  

# Jeśli projekt został znaleziony, utwórz nowe zadanie  
if project:  
    env['project.task'].create({  
        'name': f"Przygotuj propozycję dla: {record.name}",  
        'project_id': project.id,  
        # Tutaj można dodać inne pola, np. przypisanie do użytkownika  
        # 'user_ids': [env.user.id],  
    })  
# Jeśli projekt nie istnieje, wyświetl błąd  
else:  
    raise UserError("Nie znaleziono projektu 'Wyceny dla Klientów'! Upewnij się, że projekt istnieje.")

Co tutaj się dzieje?

I to tyle! Od teraz każde przesunięcie szansy sprzedaży do etapu "Propozycja" natychmiastowo utworzy zadanie dla odpowiedniego zespołu, eliminując ryzyko przeoczenia i przyspieszając proces przygotowania oferty.

Ważna informacja o licencjach

Pełna funkcjonalność Automatyzacji, w tym wykonywanie kodu w Pythonie, jest dostępna w Odoo Enterprise (licencja Custom). W wersji Odoo Community istnieje podobny mechanizm "Automatyzacji", jednak jego możliwości mogą być bardziej ograniczone (jeśli nie możesz tego u siebie znaleźć, sprawdź czy moduł base_automation​ jest zainstalowany).