Правила автоматизації

Правила автоматизації дозволяють виконувати одну або кілька визначених дій у відповідь на конкретний тригер, наприклад, створення операції, коли поле встановлено на певне значення, або архівування запису через 7 днів після його останнього оновлення.

Під час створення правила автоматизації можна додати умови, які мають бути виконані, щоб правило автоматизації запустилося, наприклад, можливість має бути призначена конкретному менеджеру з продажу або стан запису не повинен бути Чернетка.

Щоб створити правило автоматизації за допомогою Odoo Studio:

  1. Відкрийте Studio і натисніть Автоматизації, потім Створити.

  2. Дайте правилу автоматизації чітку, змістовну назву, яка визначає його призначення.

  3. Виберіть Тригер і, якщо потрібно, заповніть поля, що з’являються на екрані, залежно від обраного тригера.

  4. Клацніть Додати дію на вкладці Дії до виконання.

  5. Виберіть Тип дії та заповніть відповідні поля на основі обраної дії.

  6. Натисніть Зберегти й закрити або, щоб визначити додаткові дії, Зберегти й створити.

Example

Щоб забезпечити подальшу роботу з менш задоволеними клієнтами, це правило автоматизації створює операцію через 3 місяці після створення замовлення на продаж для клієнтів із відсотком задоволеності нижче 30%.

Приклад правила автоматизації на моделі Підписка

Порада

  • Використовуйте вкладку Примітки, щоб задокументувати призначення та функціонування правил автоматизації. Це спрощує обслуговування правил і полегшує співпрацю між користувачами.

  • Щоб змінити модель, на яку націлено правило автоматизації, перемкніть моделі перед натисканням Автоматизації у Studio, або активуйте режим розробника, створіть чи відредагуйте правило автоматизації та виберіть Модель у формі Правила автоматизації.

  • Правила автоматизації можна створити з будь-якого етапу канбан, натиснувши піктограму (Налаштування), яка з’являється при наведенні на назву етапу канбан, а потім вибравши Автоматизації. У цьому випадку Тригер типово встановлено на Етап встановлено на, але його можна змінити за потреби.

    Створення автоматизацій з етапу kanban

Запуск

Тригер використовується для визначення, яка подія має статися, щоб правило автоматизації запустилося. Доступні тригери залежать від моделі. Загалом доступні п’ять категорій тригерів:

Додавання умов

Фільтри домену дозволяють визначити записи, на які має бути націлене правило автоматизації, або виключити їх. Ефективна фільтрація покращує загальну продуктивність, оскільки уникає непотрібної обробки записів, на які правило не впливає.

Порада

Активуйте режим розробника перед створенням правила автоматизації, щоб мати максимальну гнучкість у додаванні фільтрів домену.

Залежно від обраного тригера можна визначити одну або кілька умов, які запис має відповідати до та/або після настання тригера.

  • Домен до оновлення визначає умови, яким запис має відповідати до настання події тригера, наприклад, запис має мати Тип = Рахунок клієнта та Статус = Проведено.

    З активованим режимом розробника натисніть Редагувати домен, якщо доступно, потім Нове правило.

  • Домен Застосувати до визначає умови, яким запис має відповідати після настання події тригера, наприклад, рахунок клієнта має мати Статус оплати = Частково оплачено.

    З активованим режимом розробника натисніть Редагувати домен, потім Нове правило.

    Порада

    Якщо режим розробника не активовано, щоб визначити домен Застосувати до, натисніть Додати умову. Заповніть або видаліть запропоновану умову. Щоб додати умову, натисніть Нове правило.

Коли настає тригер, наприклад, оновлюється статус оплати проведеного рахунка клієнта, правило автоматизації перевіряє визначені умови та виконує дію лише якщо запис відповідає цим умовам.

Example

Якщо автоматизована дія має виконуватися, коли електронна адреса встановлюється вперше (на відміну від зміни електронної адреси) на існуючому контакті, який є фізичною особою, а не компанією, використовуйте Email не встановлено та Є компанією не встановлено як Домен до оновлення та Email встановлено як домен Застосувати до.

Приклад тригера з доменом перед оновленням

Примітка

Домен до оновлення не перевіряється при створенні запису.

Значення оновлено

Запускайте автоматизовані дії, коли в базі даних відбуваються певні зміни. Тригери, доступні в цій категорії, залежать від моделі та базуються на загальних змінах, таких як додавання певної мітки (наприклад, до завдання) або встановлення значення поля (наприклад, встановлення поля Користувач).

Виберіть тригер, потім виберіть значення, якщо потрібно.

Email події

Запуск автоматичних дій при отриманні або надсиланні електронних листів.

Часові умови

Запускайте автоматизовані дії в певний момент часу відносно поля дати або відносно створення чи оновлення запису. Доступні такі тригери:

  • На основі поля дати: дія запускається за визначений проміжок часу до або після дати обраного поля дати, наприклад, за 30 днів до дати закінчення контракту.

  • Після створення: дія запускається через певний період часу після створення та збереження запису.

  • Після останнього оновлення: дія запускається через певний період часу після редагування та збереження існуючого запису.

Щоб налаштувати тригер Умови часу, з активованим режимом розробника:

  1. Виберіть відповідний Тригер із категорії Умови часу. Якщо ви вибрали тригер На основі поля дати, виберіть відповідне поле дати.

  2. Налаштуйте Затримку, щоб визначити дату та час виконання дії (дій). Для цього введіть кількість Хвилин, Годин, Днів або Місяців, через які має запуститися дія. Якщо ви вибрали тригер На основі поля дати, дія може запуститися Після або Перед обраним полем дати.

  3. За бажанням додайте умови, які запис повинен задовольняти до та/або після спрацювання правила.

  4. Клацніть Зберегти вручну.

  5. Клацніть Заплановану дію, щоб відкрити заплановану дію Правила автоматизації: перевірка та виконання.

    Примітка

    Ця запланована дія перевіряє дати та час виконання, які настали з моменту її останнього запуску, і виконує пов’язану дію (дії), якщо це доречно. За замовчуванням запланована дія налаштована на Виконувати кожні 4 години, що зазвичай достатньо для затримок, таких як 3 місяці після дати замовлення або 7 днів після останнього оновлення.

    Якщо будь-яке правило автоматизації має часовий тригер із затримкою менше еквівалента 40 годин, наприклад, за 3 години до дати та часу початку події, частота запланованої дії автоматично збільшується, наприклад, до Виконувати кожні 18 хвилин. Це дозволяє виконувати дію ближче до запланованої дати та часу виконання.

  6. Клацніть Запустити вручну у верхньому лівому куті.

    Попередження

    Цей крок є критичним для запобігання ретроактивному виконанню правила на історичних записах. Ручний запуск запланованої дії ініціалізує позначку часу її останнього запуску в правилі автоматизації, що є ключовим елементом логіки виконання правила.

  7. Клацніть назву правила автоматизації в навігаційній стрічці, щоб повернутися до налаштування правила автоматизації.

  8. Додайте дію(дії), які слід виконати, а потім, коли всі дії будуть визначені, клацніть Зберегти вручну.

Дія виконується вперше, коли запланована дія Правила автоматизації: перевірка та виконання запуститься після досягнення дати та часу виконання, і коли умови виконані.

Логіка виконання

При використанні тригера на основі часу дія виконується лише тоді, коли дата та час виконання припадають між останнім запуском запланованої дії та поточним запуском (запланованим або ручним), тобто:

останній запуск –> дата та час виконання –> поточний запуск

Примітка

Ручний запуск запланованої дії Правила автоматизації: перевірка та виконання не обов’язково призводить до виконання дії правила. При тестуванні правила автоматизації з тригером на основі часу переконайтеся, що ця послідовність вірна, а потім перевірте, чи було виконано дію.

Example

Вранці 15 жовтня ви створюєте правило автоматизації, яке запускає надсилання листа за 30 днів до Дати завершення контракту; контракти завершуються о 23:59 у дату їх закінчення. Під час створення правила запланована дія Правила автоматизації: перевірка та виконання була запущена вручну о 11:00 і налаштована на запуск кожні чотири години після цього.

Це нове правило автоматизації застосовуватиметься для контрактів, дата закінчення яких принаймні на 30 днів пізніше створення правила, тобто дата закінчення 14 листопада або пізніше.

Для контракту з датою закінчення 14 листопада дата та час виконання дії — 23:59 15 жовтня. Тому дію буде виконано вперше, коли запланована дія Правила автоматизації: перевірка та виконання запуститься після проходження цієї дати та часу, тобто:

  • останній запуск запланованої дії: 23:00 15 жовтня

  • дата та час виконання: 23:59 15 жовтня

  • поточний запуск запланованої дії: 3:00 16 жовтня

Кастомний

Запуск автоматичних дій:

  • При створенні: коли запис зберігається вперше.

  • При створенні та редагуванні: коли запис зберігається вперше та кожного наступного разу.

  • При видаленні: коли запис видаляється.

  • При зміні в інтерфейсі: коли значення поля змінюється в представленні форми, навіть до збереження запису.

Для тригерів При створенні та редагуванні та При зміні в інтерфейсі ви повинні вибрати поле (поля), які використовуватимуться для запуску правила автоматизації, у полі При оновленні.

Попередження

Якщо в полі При оновленні не вибрано жодного поля, автоматична дія може виконуватися кілька разів для одного запису.

За бажанням ви також можете визначити додаткові умови, які мають бути виконані для запуску правила автоматизації, у полі Застосувати до.

Примітка

Тригер При зміні в інтерфейсі можна використовувати лише з дією Виконати код і він працює лише при ручній зміні. Дія не виконується, якщо поле змінюється через інше правило автоматизації.

Зовнішній

Запускайте автоматизовані дії на основі певної події у зовнішній системі або застосунку за допомогою вебхука.

Після налаштування вебхука в Odoo, де генерується URL вебхука та визначається цільовий запис, його потрібно впровадити у зовнішній системі.

Попередження

Наполегливо рекомендується проконсультуватися з розробником, архітектором рішень або іншим фахівцем з технічних питань, приймаючи рішення про використання вебхуків і протягом усього процесу впровадження. Якщо вебхуки налаштовані неправильно, вони можуть порушити роботу бази даних Odoo, і на їх відновлення може знадобитися час.

Приклад тригера на основі поля дати

Примітка

Також можна налаштувати автоматизовану дію, яка надсилає дані на вебхук зовнішньої системи, коли в базі даних Odoo відбувається подія.

Дії

Коли ви визначили тригер правила автоматизації, натисніть Додати дію на вкладці Дії до виконання, щоб визначити дію (дії), які виконуватимуться.

Порада

  • Якщо явна назва не введена, назва дії буде автоматично згенерована на основі дії, яку ви визначаєте; назву можна оновити в будь-який час.

  • Ви можете визначити кілька дій для одного правила автоматизації. За замовчуванням дії виконуються в порядку їх визначення.

    Це означає, наприклад, що якщо ви визначите дію Оновити запис, а потім дію Надіслати email, де email посилається на оновлене поле, email використовує оновлені значення. Проте якщо дія Надіслати email визначена перед дією Оновити запис, email використовує значення, встановлені до оновлення запису.

    Щоб змінити порядок визначених дій, натисніть піктограму (маркер перетягування) біля дії та перетягніть її в потрібну позицію.

Оновити запис

Ця дія використовується для оновлення одного з полів запису (пов’язаних). Доступні наступні опції:

  • Оновити: оновлює вибране поле зазначеним значенням.

  • Оновити за допомогою ШІ: динамічно оновлює вибране поле на основі наданого запиту до ШІ. Ця опція вимагає встановлення застосунку Odoo AI.

  • Послідовність: оновлює вибране поле визначеною послідовністю.

  • Обчислити: динамічно оновлює вибране поле за допомогою коду Python.

Щоб визначити дію:

  1. Виберіть відповідну опцію Оновити, Оновити за допомогою ШІ, Послідовність або Обчислити, після чого виберіть або знайдіть поле для оновлення чи обчислення. За потреби натисніть (стрілка праворуч) поруч із назвою поля для доступу до списку пов’язаних полів.

  2. Надайте відповідну інформацію на основі вибраної опції.

Оновити

Виберіть або введіть оновлене значення для поля.

Якщо оновлюється поле many2many, виберіть, чи потрібно оновити поле шляхом Додавання, Видалення, Встановлення вибраного значення або Очищення.

Example

Якщо ви хочете, щоб автоматична дія видалила тег із запису клієнта, встановіть поле Оновити на Клієнт > Теги, виберіть Видалити, а потім виберіть тег для видалення.

Приклад дії оновлення запису

Оновити за допомогою ШІ

Введіть запит, щоб вказати Odoo AI, як оновити поле. Введіть / для відкриття інструментів запитів до ШІ; використовуйте Вибір поля, щоб повідомити Odoo AI, які пов’язані поля перевіряти для контексту, та Вибір записів, щоб надати можливі значення для оновленого поля.

Example

Якщо ви хочете, щоб правило автоматизації оновлювало поле Відповідальні щойно створеного завдання на основі експертизи співробітників, ви можете написати запит, щоб вказати Odoo AI перевірити поле Назва завдання для контексту, а потім призначити найбільш підходящого співробітника.

Приклад оновлення запису за допомогою ШІ

Послідовність

Виберіть існуючу послідовність або, щоб створити нову послідовність:

  1. Натисніть Шукати більше, потім натисніть Створити.

  2. У вікні, що відкриється, введіть Назва послідовності.

  3. На вкладці Послідовність налаштуйте послідовність:

    • Префікс: символи, додані перед наступним номером у послідовності.

    • Суфікс: символи, додані після наступного номера у послідовності.

    • Розмір послідовності: визначає кількість цифр у кожному номері послідовності. За потреби перед номером додаються нулі на початку для досягнення вказаного розміру послідовності, наприклад, для розміру послідовності 5 перший номер у послідовності — 00001.

    • Крок: визначає приріст між номерами в послідовності.

    • Наступний номер: наступний номер, який буде використано в послідовності, без нулів на початку.

    Порада

    • Використовуйте динамічні заповнювачі, такі як %(year)s або %(month)s, як Префікс та/або Суфікс для створення послідовностей з елементами на зразок поточного року, місяця тощо. Можливі заповнювачі показано внизу вікна.

    • Щоб використовувати підпослідовності, наприклад, щоб послідовність перезапускалася щороку або щомісяця, увімкніть Використовувати підпослідовності для діапазону дат, потім Додайте рядок для кожного діапазону дат і вкажіть Наступний номер для діапазону.

  4. Натисніть Зберегти.

Example

Якщо ви хочете, щоб автоматична дія створювала послідовний посилання клієнта кожного разу, коли створюється новий клієнт, встановіть поле Послідовність на Посилання, потім у спадному меню натисніть Шукати більше. Натисніть Створити, щоб створити нову послідовність.

У прикладі кожен новий клієнт отримує послідовну посилання з префіксом #-REF-%(year)s-, де %(year)s — це поточний рік, включаючи сторіччя, та суфіксом /CL, наприклад, #-REF-2025-00001/CL, #-REF-2025-00002/CL тощо.

Приклад дії «Оновити запис» з використанням послідовності

Розрахувати

Введіть код для обчислення значення поля.

Example

Якщо ви хочете, щоб правило автоматизації обчислювало користувацьке поле datetime, Ескальовано, коли пріоритет завдання встановлюється на Дуже високий (три зірки), ви можете визначити тригер Пріоритет встановлено на Дуже високий і визначити дію Оновити запис таким чином:

Обчислення користувацького поля datetime за допомогою виразу Python

Створити запис і Дублювати запис

Ці дії використовуються для створення нового або дубльованого запису в будь-якій моделі.

Щоб визначити дію:

  1. Вибравши Створити запис або Дублювати запис як Тип дії, виберіть потрібну модель у полі Запис для створення; за замовчуванням це поле містить поточну модель.

  2. Вкажіть Назву для запису або, якщо дія дублює запис, вкажіть запис, який дублюється, у полі Дублювати з.

  3. Якщо новий або дубльований запис створюється в іншій моделі, виберіть поле у полі Поле зв’язку, щоб зв’язати запис, який ініціював створення нового або дубльованого запису.

Порада

Розкривне меню Поле зв’язку містить лише поля one2many, що існують у поточній моделі і пов’язані з полем many2one у цільовій моделі.

Example

Якщо ви хочете, щоб правило автоматизації дублювало проєкт, наприклад, шаблон проєкту з попередньо визначеними завданнями, коли можливість встановлюється на Виграно, додайте користувацьке поле Пов'язана можливість many2one у модель Проєкт і користувацьке поле Пов'язаний проєкт one2many у модель Лід, а потім надайте такі відомості про запис, який дублюється:

Дублювати запис в іншій моделі

Порада

За потреби ви можете створити інше правило автоматизації з діями Оновити запис, щоб оновити поля нового або дубльованого запису. Наприклад, ви можете використовувати дію Створити запис, щоб створити нове завдання проєкту, а потім призначити його конкретному користувачу за допомогою дії Оновити запис.

Створіть дію

Ця дія використовується для планування нової активності, пов’язаної із записом.

Щоб визначити дію:

  1. Вибравши Створити активність як Тип дії, виберіть відповідний Тип активності з розкривного меню.

  2. Введіть Назву.

  3. Вкажіть, коли активність має бути завершена, вказавши кількість Днів, Тижнів або Місяців у полі Термін виконання через.

  4. Виберіть Тип користувача:

    • Щоб завжди призначати активність одному й тому самому користувачу, виберіть Конкретний користувач, потім додайте користувача у поле Відповідальний.

    • Щоб динамічно вибрати користувача, пов’язаного із записом, виберіть Динамічний користувач (на основі запису). За потреби змініть Поле користувача, клацнувши на назву поля-заповнювача, а потім вибравши або знайшовши поле користувача у списку, що з’явиться. Клацання (стрілка праворуч) поруч із назвою поля дає змогу отримати доступ до пов’язаних полів за потреби.

  5. За бажанням додайте Примітку, щоб надати більше інформації про активність.

Example

Після того, як пропозицію надіслано потенційному клієнту з високим очікуваним доходом, ви хочете створити активність для керівника команди менеджера з продажу, щоб зателефонувати потенційному клієнту для збільшення шансів на укладення угоди.

Для цього встановіть Тип активності на Дзвінок, а Тип користувача на Динамічний користувач (на основі запису). Клацніть на поле-заповнювач і виберіть Команда продажів, потім клацніть (стрілка праворуч) і виберіть Керівник команди.

Приклад дії створення активності

Надіслати електронний лист і надіслати SMS

Ці дії використовуються для надсилання електронного листа або текстового повідомлення контакту, пов’язаному з конкретним записом.

Щоб визначити дію:

  1. Вибравши Надіслати електронний лист або Надіслати SMS як Тип дії, відповідно, виберіть або створіть Шаблон електронного листа або Шаблон SMS.

  2. У полі Надіслати електронний лист як або Надіслати SMS як виберіть, як ви хочете надіслати електронний лист або текстове повідомлення.

    Для електронного листа виберіть:

    • Електронний лист: щоб надіслати повідомлення як електронний лист одержувачам Шаблону електронного листа.

    • Повідомлення: щоб опублікувати повідомлення в записі та сповістити підписників запису.

    • Примітка: щоб надіслати повідомлення як внутрішню примітку, видиму для внутрішніх користувачів у чаті.

    Для текстового повідомлення виберіть:

    • SMS (без примітки): щоб надіслати повідомлення як текстове повідомлення одержувачам SMS-шаблону.

    • SMS (з нотаткою): надіслати повідомлення як текстове повідомлення одержувачам шаблону SMS і опублікувати його як внутрішню нотатку в обговоренні.

    • Лише нотатка: лише опублікувати повідомлення як внутрішню нотатку в обговоренні.

Відправити WhatsApp

Важливо

Щоб автоматизувати надсилання повідомлень WhatsApp, потрібно створити один або кілька шаблонів WhatsApp.

Ця дія використовується для надсилання повідомлення WhatsApp контакту, пов’язаному з конкретним записом.

Вибравши Надіслати WhatsApp як Тип дії, виберіть відповідний Шаблон WhatsApp зі спадного меню.

Додавання та видалення підписників

Ця дія використовується для підписування/відписування існуючих контактів як підписників запису.

Вибравши Додати підписників або Видалити підписників як Тип дії, відповідно, виберіть Тип підписників:

  • Щоб завжди додавати/видаляти одних і тих самих контактів, виберіть Конкретні підписники, а потім виберіть контакти зі спадного меню. Можна додати/видалити кілька контактів.

  • Щоб динамічно додати/видалити контакт, пов’язаний із записом, виберіть Динамічні підписники. За потреби змініть Поле підписників, клацнувши на назву поля-заповнювача, а потім вибравши або знайшовши поле партнера в списку, що з’явиться. Клацання (стрілка праворуч) поруч із назвою поля дозволяє отримати доступ до пов’язаних полів, якщо потрібно.

Example

Щоб інформувати клієнтів про прогрес проекту, ця автоматична дія додає відповідного клієнта як підписника, коли завдання проекту встановлюється на В процесі.

Додавання клієнта як підписника, коли завдання проекту встановлено в процес виконання

Виконати код

Важливо

Для правил автоматизації, які вимагають виконання власного коду, зверніть увагу, що підтримка власного коду не включена до тарифних планів Стандартний або Індивідуальний і передбачає додаткові збори.

Ця дія використовується для виконання коду Python. Ви можете написати свій код на вкладці Код, використовуючи наступні змінні:

  • env: середовище, в якому запускається дія

  • model: модель запису, для якого запускається дія; є порожнім набором записів

  • record: запис, для якого запускається дія; може бути порожнім

  • records: набір записів усіх записів, для яких запускається дія в багатозаписному режимі; може бути порожнім

  • time, datetime, dateutil, timezone: корисні бібліотеки Python

  • float_compare: допоміжна функція для порівняння чисел з рухомою комою на основі конкретної точності

  • log(message, level='info'): функція журналювання для запису налагоджувальної інформації в таблиці ir.logging

  • _logger.info(message): засіб журналювання для виведення повідомлень у журнали сервера

  • UserError: клас винятків для виведення попереджувальних повідомлень для користувача

  • Command: простір імен команд x2many

  • action = {...}: для повернення дії

Порада

Доступні змінні описані як на вкладці Код, так і на вкладці Допомога.

Див. також

Можливості ORM Odoo

Надіслати сповіщення Webhook

Ця дія використовується для надсилання API-запиту POST зі значеннями вибраних Полів на URL вебхука, вказаний у полі URL.

Зразок даних надає попередній перегляд даних, включених до запиту, використовуючи дані випадкового запису або фіктивні дані, якщо запис недоступний.

Примітка

Також можна налаштувати автоматичну дію, яка використовує вебхук для отримання даних із зовнішньої системи, коли в цій системі відбувається заздалегідь визначена подія.

Багаторазові дії

Ця дія використовується для запуску кількох дій (пов’язаних з поточною моделлю) одночасно.

Щоб визначити дії:

  1. Коли вибрано Множинні дії як Тип дії, натисніть Додати дію.

  2. У спливаючому вікні Додати: Дочірні дії:

    • виберіть одну або кілька існуючих дій і натисніть Вибрати; або

    • натисніть Створити, визначте дію для виконання, потім натисніть Зберегти та закрити або, щоб створити додаткові дії, Зберегти та створити.

  3. Повторюйте стільки разів, скільки потрібно.

Визначити кілька дій для виконання