Created with Sketch. MENU
  • Сервисы
  • Тарифы
  • Кейсы
  • База знаний
  • Все статьи
  • Партнёрам
+7 499 216-72-06 Настроить связки
  • Builder
  • Инструкции по настройке
  • Инструменты
  • Новости
  • Полезные статьи
  • Все статьи
Главная страница » Инструменты » Пример настройки и использования инструмента «Запуск Python кода»

Пример настройки и использования инструмента «Запуск Python кода»

С новым инструментом «Запуск Python кода» вы можете выполнять любые вычисления и преобразования данных внутри автоматизации: 

  • форматировать текст;
  • чистить HTML;
  • работать с датами, числами, JSON;
  • создавать собственную логику обработки данных.

Этот шаг выполняет ваш Python-код в изолированной среде и возвращает результаты дальше по связке.

Если вам удобнее работать с JavaScript, используйте инструмент Запуск JavaScript кода.

Как работает инструмент

Чтобы добавить «Запуск Python кода» в связку:

  • Добавьте действие (код) и выберите Python.

  • Настройте входные данные. Это переменные, которые будут доступны внутри кода.

    Каждой переменной нужно:
  • Задать имя.
  • Указать тип данных.
  • Выбрать значение из предыдущих шагов.

При необходимости добавляйте новые переменные. Для этого нажмите на кнопку Добавить поле. Это создаст новую строку, в которой можно указать имя новой переменной и настроить её значение. Лишние переменные (поля) можно удалить.

  • Далее вам нужно настроить «Выходные данные». Нужно вручную прописать имя переменной, которую необходимо получить на выходе и указать тип переменной. Во всех следующих шагах связки вам будут доступны поля этого шага.

При этом, как и во «Входных данных», можно создавать несколько переменных (полей).


Правило: если в «Выходных данных» есть поле Outputdata, то в коде обязательно должна быть строка: Outputdata = …

Правило: если в «Выходных данных» есть поле Outputdata, то в коде обязательно должна быть строка:
Outputdata = ...Без этого шаг не выполнится.

Нажмите Сохранить.

  • После этого можно написать любой код на языке Python, используя объявленные переменные. Также вы можете создать новые переменные на основе уже существующих.

Важно: Мы не можем гарантировать работу вашего кода и, к сожалению, не предоставляем поддержку по этому шагу.
Пожалуйста, используйте его только в том случае, если вы уверенно работаете с Python.
Код выполняется в изолированной среде (песочнице). Чтобы обеспечить безопасное выполнение кода, мы ограничили внешние запросы и работу с сетью. Например, нельзя использовать библиотеки для HTTP-запросов.
Полный список ограничений и доступных модулей смотрите ниже.

В последующих шагах можно будет увидеть те поля, которые вы настроили в разделе «Выходные данные», и использовать их дальше в связке.

Кроме того, в журнале будет отображаться статус выполнения самого Python-кода.


Ограничения и безопасность

  1. Версия Python: 3.11
  2. Таймзона окружения: UTC
  3. Лимит памяти: 512 мб
  4. Максимальное время выполнения одного шага (timeout): 10 секунд


Код выполняется в изолированной среде (песочнице).

В рамках текущей реализации:

  • Нельзя устанавливать произвольные внешние библиотеки. Доступны только модули из whitelist (см. ниже).
  • Запрещены внешние запросы и сеть (например, requests, urllib и socket).

Whitelist модулей (библиотек)

В Python-шаге доступны модули из разрешённого списка (whitelist). Разрешены, например:

string, re, math, cmath, statistics, random, datetime, calendar,
collections, collections.abc, functools, itertools, operator,
heapq, bisect, array, copy, json, numpy, csv, base64, binascii,
hashlib, hmac, pprint, textwrap, uuid, typing, dataclasses,
traceback, decimal, fractions

Ошибки и диагностика

Если шаг завершился ошибкой:

  1. Проверьте, что «Выходные данные» настроены и имена выходных переменных совпадают с тем, что вы присваиваете в коде.
    Инструмент «Запуск Python кода»
  2. Проверьте входные данные: достаточно ли строк/структуры. Часто ошибки возникают при split, когда строка не содержит ожидаемых строк.
  3. Убедитесь, что не используете запрещённые модули/внешние запросы.

Применение инструмента “Запуск Python кода”

Кейс 1.  Вычесть из даты и времени начала дату и время окончания и вывести результат в минутах

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

С помощью Python можно легко превратить две даты в одно числовое значение и использовать его дальше в автоматизации, например, для фильтрации, создания отчётов, расчётов стоимости, аналитики.

Код:

from datetime import datetime
date_start = datetime.fromisoformat(date_start) # или другой формат, в котором приходит строка
date_end = datetime.fromisoformat(date_end)
dif_minutes = (date_end – date_start).total_seconds() / 60


Кейс 2.  Разбивка даты и времени на два параметра + обрезка секунд

Некоторые приложения принимают данные по дате и времени отдельно, а не одним полем. Иногда также нужно записать данные в Google Sheets/CRM в определённом формате, например, без секунд.

Этот кейс полезен, если:

  • сервис отдаёт «грязную» дату в unix, ISO или строкой;
  • требуется дальнейшее сравнение дат, где важны только часы и минуты;
  • нужно привести данные к одному виду для последующих шагов автоматизации.

В этом примере мы разбиваем входной параметр «Дата и время» на два отдельных значения: дату и время. Потом обрезаем секунды, оставляя только формат Часы:Минуты.

Код: 

from datetime import datetimedate_time_str = date_time.strip() # вход ВСЕГДА строка

# Определяем формат
if date_time_str.isdigit():
# Если строка содержит только цифры → считаем что это timestamp в миллисекундах
dt = datetime.fromtimestamp(int(date_time_str) / 1000)
else:
# Пробуем ISO 8601
try:
dt = datetime.fromisoformat(date_time_str)
except ValueError:
# Пробуем формат “YYYY-MM-DD HH:MM:SS”
dt = datetime.strptime(date_time_str, “%Y-%m-%d %H:%M:%S”)

def date_edit(arr):
return [(f“0{el}” if el < 10 else str(el)) for el in arr]

date_str = “.”.join(date_edit([dt.day, dt.month, dt.year]))
time_str = “:”.join(date_edit([dt.hour, dt.minute]))

 

Кейс 3. Очистка писем от тегов

Некоторые сервисы отправляют письма или уведомления в формате HTML: с тегами <br>, <p>, <strong>, с пробелами или с лишними переносами строк.

Если такие данные используются в автоматизации дальше, например, переходят в задачу, Slack, CRM или отправляются клиенту, они выглядят некрасиво и могут “сломать” формат.

Код: 

import reregexp = re.compile(
r'<(/?[^>]+)>|(\\n)|(\\s{4,})’,
flags=re.MULTILINE
)html = regexp.sub(”, html).strip()

 

Теперь вы можете использовать инструмент «Запуск Python кода» для расчётов, преобразования данных, очистки текста внутри вашей автоматизации. Если у вас появились вопросы, вы можете связаться с нашей поддержкой в чате.

Присоединяйтесь к сообществу автоматизаторов в Telegram — делитесь опытом, находите решения и обсуждайте лучшие подходы к автоматизации бизнес-процессов вместе с 1700+ участниками!

05.12.2025

python

 Like

Просмотры: 32 Albato

Предыдущая запись:
Как автоматически передавать заявки из Tilda в Skillaz
Следующая запись:
Поделиться в соц. сетях
  • Читайте также

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Последние статьи
  • Пример настройки и использования инструмента «Запуск Python кода»
  • Как автоматически передавать заявки из Tilda в Skillaz
  • Интеграция Ozon и Яндекс Доставки: автоматическая передача заказов с возвратом трек-номера
  • Обновления в Альбато — октябрь 2025
  • Как подключить PRM Online к Альбато
  • Как преподаватель сэкономил 10 часов в месяц с Альбато: автоматическая email-рассылка учебных материалов
  • Как автоматически считать сумму без НДС в сделках amoCRM
  • Как подключить WebAsk к Альбато
  • Как подключить Profsalon к Альбато
Последние статьи
  • Пример настройки и использования инструмента «Запуск Python кода»
  • Как автоматически передавать заявки из Tilda в Skillaz
  • Интеграция Ozon и Яндекс Доставки: автоматическая передача заказов с возвратом трек-номера
  • Обновления в Альбато — октябрь 2025
  • Как подключить PRM Online к Альбато
  • Как преподаватель сэкономил 10 часов в месяц с Альбато: автоматическая email-рассылка учебных материалов
  • Как автоматически считать сумму без НДС в сделках amoCRM
  • Как подключить WebAsk к Альбато
  • Как подключить Profsalon к Альбато

Albato — Один сервис для всех интеграций

info@albato.ru

Support

+7 499 216-72-06

Новые интеграции
  • Интеграция VK Рекламы с Telegram
  • Интеграция GetCourse с amoCRM
  • Интеграция OpenAI с Google Sheets
  • Интеграция Adalo с Airtable
  • Интеграция Discord с Telegram
  • Интеграция Facebook Group с Slack
  • Интеграция Telegram bot с ChatGPT
Подробнее об Albato
  • Тарифы
  • Контакты
  • Блог
  • Инструкции настройке
  • Новости
  • Полезные статьи

Исследования осуществляются при грантовой поддержке Фонда "Сколково"

Подпишитесь, чтобы быть в курсе последних обновлений


    © 2025 Albato - один сервис для всех интеграций
    Оферта и Лицензионный договор
    Политика конфеденциальности