С помощью данного функционала вы можете создавать свои собственные функции и классы, которые можно использовать в поле PHP Код или в PHP коде в автоматизации. Таким образом, выполняя различные интеграции со сторонними сервисами, вы не будет дублировать повторяющийся код для нескольких сущностей. 

Создание кода

Перейдите на страницу "Настройки / Пользовательский PHP" и нажмите на кнопку "Создать". У вас есть возможность создавать несколько страниц с кодом и страницы могут быть сгруппированы по папкам.

В поле "PHP код" введите ваш код. После сохранения записи, введенный код будет автоматически включатся в приложение.

Обратите внимание: перед сохранением кода выполняется проверка на ошибки, таким образом вы не можете добавить нерабочий код в приложение. 

Для удобства работы с редактором были добавлены горячие клавиши:
F11 - разворачивает редактор во весь экран
CRTL+S - сохраняет код

Применение на практике

Предположим, что нам нужно отправлять сообщение в Телеграм при добавлении новой задачи, но только если статус задачи "Новый" и тип "Срочный". Стандартные правила отправки сообщений с данной задачей не справятся, так как в правилах можно применить только одно условие.

Шаг 1: Создаем необходимые глобальные переменные

Шаг 2: создаем функцию для отправки сообщения. В поле "PHP" код вводим следующий код:

function telegram_send_message($message)
{    
  global $alerts;
  
  $params=[
    'chat_id' => VAR_TELEGRAM_CHAT_ID,
    'text' => strip_tags($message,'<b><i><a><code><pre>'),
    'parse_mode' => 'HTML',
    'disable_web_page_preview' => 'true',
  ];
                                    
  $ch = curl_init("https://api.telegram.org/bot" . VAR_TELEGRAM_BOT_TOKEN ."/sendMessage");
  curl_setopt($ch, CURLOPT_HEADER, false);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, ($params));
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_TIMEOUT, 10);            
  $result = curl_exec($ch);
  curl_close($ch);
    
  $result = json_decode($result,true);
  if(isset($result['error_code']) and is_object($alerts))
  {
    $alerts->add('Telegram Error: ' . $result['error_code'] . ' ' .  $result['description'],'error');      
  }     
} 

Шаг 3: В автоматизации действий создаем процесс для сущности "Задачи" и в опции "Расположение кнопки" устанавливаем:
 Выполнить процесс после добавления записи.

Шаг 4: добавляем действие для процесса "выполнить php скрипт" и в опции "PHP код" вводим необходимые нам условия для отправки сообщения в Телеграм:

 

Шаг 5: проверяем работу кода.

В результате, функцию telegram_send_message мы можем применить для любой сущности, где необходима отправка сообщения в Телеграм.