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

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

Щоб створити правило автоматизації за допомогою Studio, виконайте такі дії:

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

  2. Виберіть Запуск і, якщо необхідно, заповніть поля, які з’являться на екрані на основі вибраного тригера.

  3. Натисніть Додати дію, потім виберіть Тип action і заповніть поля, які з’являться на екрані відповідно до вибраної дії.

  4. Click Save & Close or Save & New.

Example

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

Порада

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

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

    Створення автоматизації з етапу канбан

Запуск

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

Порада

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

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

Наприклад, якщо ви хочете, щоб автоматична дія відбувалася, коли адреса електронної пошти встановлена для контакту, який раніше не мав адреси (на відміну від зміни існуючої адреси), визначте Перед оновленням домену значення Електронна адреса не встановлена, а Застосувати до домену - значення Електронна адреса встановлена.

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

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

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

Приклад тригера Оновлені значення

Email події

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

Часові умови

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

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

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

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

Тоді ви можете визначити:

  • a Затримка: вкажіть кількість хвилин, годин, днів або місяців. Щоб запустити дію до дати запуску, вкажіть від’ємне число. Якщо ви вибрали тригер На основі поля дати, ви також повинні вибрати поле дати, яке використовуватиметься для визначення затримки.

  • Додаткові умови: клацніть Додати умову, а потім вкажіть умови, які мають бути виконані, щоб активувати правило автоматизації. Натисніть Нове правило, щоб додати іншу умову.

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

Example

Якщо ви хочете надіслати електронний лист із нагадуванням за 30 хвилин до початку події календаря, виберіть Початок (подія календаря) у Дата запуску та встановіть Затримка на -30 Хвилин.

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

Примітка

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

Кастомний

Активувати автоматичні дії:

  • Після збереження: коли запис збережено;

  • При видаленні: Коли запис видалено;

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

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

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

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

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

Примітка

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

Зовнішній

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

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

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

URL-адресу слід розглядати як конфіденційна; Поширення в Інтернеті або без обережності може потенційно наразити вашу систему на зловмисників. Натисніть кнопку Повернути секрет, щоб за потреби змінити секрет URL-адреси.

Примітка

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

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

  • Вміст веб-хуку доступний у контексті дії сервера як змінна корисного навантаження (тобто словник, який містить параметри GET або тіло POST JSON вхідного запиту).

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

Дії

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

Порада

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

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

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

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

Example

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

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

Порада

Крім того, ви також можете динамічно встановити поле запису за допомогою коду Python. Для цього виберіть Обчислити замість Оновити, а потім введіть код, який використовуватиметься для обчислення значення поля. Наприклад, якщо ви хочете, щоб правило автоматизації обчислювало настроюване поле дати і часу, коли пріоритет завдання встановлено на Високий (позначивши завдання зірочкою), ви можете визначити для тригера Пріоритет встановлено значення на Високий і визначити дію Оновити запис наступним чином:

Обчислити настроюване поле дати й часу за допомогою виразу Python

Створіть дію

Ця дія використовується для планування нової дії, пов’язаної із записом. Виберіть Тип активності, введіть Назва та опис, потім вкажіть, коли ви бажаєте запланувати дію в полі Дата завершення, і виберіть Тип користувача:

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

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

Example

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

Приклад дії Створити активність

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

Ці дії використовуються для надсилання електронного листа або текстового повідомлення контакту, пов’язаному з певним записом. Для цього виберіть або створіть Шаблон електронної пошти або Шаблон SMS, а потім у полі Надіслати електронну пошту як або Надіслати SMS як виберіть, як ви хочете надіслати електронну пошту або текстове повідомлення:

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

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

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

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

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

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

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

Використовуйте ці дії, щоб (скасувати) підписку наявних контактів на/від запису.

Створити запис

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

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

Примітка

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

Порада

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

Виконати код

Ця дія використовується для виконання коду 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 = {...}: повертає дію

Порада

Доступні змінні описані у вкладках Код і Довідка.

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

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

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

Виконати наявні дії

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