Интеграции

Что такое блок «Интеграция»

Блок «Интеграция» позволяет вашему боту обращаться к сторонним сервисам — OpenAI, Google Sheets и другим — прямо в ходе сценария. Бот отправляет запрос, получает ответ и сохраняет результат в переменные.

Подключение сервиса

Перед использованием блока интеграции нужно создать подключение к сервису:

  1. Нажмите кнопку «Интеграции» в шапке конструктора.
  2. Выберите нужный сервис из списка.
  3. Введите данные авторизации:
    • API-ключ — для OpenAI и других сервисов с ключом.
    • OAuth2 — для Google (авторизация через аккаунт Google).
    • Сервисный аккаунт — для Google (JSON-файл сервисного аккаунта).
  4. Нажмите «Проверить» — система протестирует подключение.
  5. Сохраните подключение.

Одно подключение можно использовать в нескольких блоках одного или разных ботов.

Настройка блока интеграции

  1. Добавьте блок «Интеграция» в нужную ноду.
  2. Выберите сервис (например, OpenAI).
  3. Выберите подключение из списка созданных.
  4. Выберите операцию (например, «Отправить сообщение»).
  5. Заполните параметры операции.
  6. Укажите префикс переменных результата (по умолчанию result).

После выполнения блока результат будет доступен как {{result.поле}}.

Переход при ошибке интеграции

В нижней части каждого блока интеграции находится секция «Переход при ошибке».

Если интеграция завершается ошибкой (сервис недоступен, исчерпана квота, неверный ответ и т.д.), бот:

  1. Уведомляет владельца бота о проблеме (если уведомления включены).
  2. Прерывает выполнение оставшихся блоков текущей ноды.
  3. Переходит в ноду ошибки, указанную в поле «Ошибка интеграции».

Если поле «Ошибка интеграции» не заполнено — бот продолжает выполнение сценария как обычно (штатный путь после ноды), что может привести к некорректному поведению.

Рекомендации

  • Всегда указывайте ноду ошибки для интеграций, которые критичны для сценария (AI-ответы, TTS, запросы к БД и т.д.).
  • В ноде ошибки можно отправить пользователю понятное сообщение: «Сервис временно недоступен, попробуйте позже».
  • Кнопка «+ создать» рядом с полем автоматически создаёт новую ноду и сразу связывает её с блоком интеграции.
  • Связь с нодой ошибки отображается на схеме жёлтой стрелкой с подписью «Ошибка интеграции».

Важно: если в одной ноде несколько блоков интеграции, при ошибке первого из них остальные блоки не выполняются — бот сразу переходит к ноде ошибки.

Тестирование блока

Прямо в редакторе блока есть кнопка «Тест» — она выполняет операцию с текущими параметрами и показывает, какие переменные будут установлены. Это удобно для проверки запросов перед публикацией.


OpenAI

Отправить сообщение (Chat)

Отправляет запрос к ChatGPT и получает текстовый ответ.

Параметр Описание
Модель GPT-4o, GPT-4o mini и другие — выбираются из аккаунта
Сообщение пользователя Текст запроса; поддерживает {{переменные}}
Системный промпт Инструкции для модели — роль, стиль, ограничения. Поддерживает markdown-разметку и {{переменные}}. Кнопка открывает редактор на весь экран
Температура Степень случайности ответа 0–2
Макс. токенов Ограничение длины ответа

Результирующие переменные (при префиксе result):

Переменная Значение
{{result.text}} Текст ответа модели
{{result.model}} Использованная модель
{{result.tokens_used}} Потрачено токенов

Запомнить диалог

Позволяет сохранять историю переписки и передавать её в каждый последующий запрос к модели, создавая эффект «памяти». История хранится в базе данных.

Параметр Описание
Время памяти (часов) Через сколько часов неактивности история сбрасывается. 0 — без ограничения по времени
Максимум сообщений в истории Сколько последних сообщений передавать модели при каждом запросе. По умолчанию 100
Название диалога по умолчанию Имя нового диалога до того, как сгенерировано автоматическое. По умолчанию Main
Генерировать названия диалога Если включено — при создании нового диалога бот в фоне отправляет отдельный запрос к ИИ с просьбой сформулировать короткое название (до 5 слов) на основе первого сообщения пользователя. Название сохраняется автоматически, не задерживая ответ
Шифровать данные Если включено — сообщения пользователя и ответы ИИ сохраняются в базе данных в зашифрованном виде (AES-256-CBC). При каждом обращении к ИИ данные автоматически расшифровываются. Уже существующие незашифрованные диалоги продолжают читаться корректно
ID диалога Загрузить конкретный диалог по его идентификатору. Поддерживает {{переменные}} (например, "{{dialog_id}}"). Если не указан — берётся последний активный диалог, либо создаётся новый
Переменная с ID диалога Имя переменной, в которую будет записан ID текущего диалога. Используйте её в других блоках для явного обращения к нужному диалогу
Выводить предварительное сообщение ИИ может долго генерировать ответ. При включении бот немедленно отправляет пользователю короткое сообщение-заглушку, а когда ответ готов — редактирует его. Не задерживает ощущение реакции бота

Когда «Выводить предварительное сообщение» включено, появляются два дополнительных поля:

Параметр Описание
Предварительное сообщение Текст или эмодзи для мгновенного ответа пользователю (например, "⏳ Генерирую ответ...")
Название переменной для ID сообщения Имя переменной, куда сохраняется "message_id" отправленного предварительного сообщения. По умолчанию message_id. Используйте в блоке «Текст» с включённым «Редактировать сообщение»

Типичный сценарий с предварительным сообщением:

  1. Блок «Интеграция» → включить «Выводить предварительное сообщение» → переменная "message_id".
  2. Ответ ИИ сохраняется в "{{result.text}}".
  3. Следующий блок «Текст» с "{{result.text}}" → в «Дополнительных» включить «Редактировать сообщение» → указать переменную "{{message_id}}".
  4. Бот редактирует предварительное сообщение, заменяя заглушку на ответ ИИ.

Сгенерировать изображение

Создаёт изображение по текстовому описанию (DALL·E 3, GPT-image-1 и др.).

Параметр Описание
Модель dall-e-3, dall-e-2, gpt-image-1 и др.
Описание Текст промпта; поддерживает {{переменные}}
Референсы До 5 ссылок на исходные изображения. Если указана хотя бы одна — модель будет принудительно переключена на gpt-image-1, если выбрана DALL·E. Каждое поле поддерживает {{переменные}}
Размер Разрешение изображения
Формат файла PNG / JPEG / WebP — формат выходного файла (только для моделей gpt-image-*)
Качество изображения Авто / Низкое / Среднее / Высокое (только для моделей gpt-image-*)
Прозрачный фон Сгенерировать изображение с прозрачным фоном (только для PNG/WebP, моделями gpt-image-*)
Количество 1–10 изображений

Результирующие переменные:

Переменная Значение
{{result.url}} URL изображения
{{result.revised_prompt}} Уточнённый промпт (возвращается моделями, поддерживающими переформулировку промпта)

Анализировать изображение (Vision)

Задаёт вопрос по изображению — модель отвечает на основе содержимого картинки.

Параметр Описание
Модель GPT-4o, GPT-4 Turbo и другие с поддержкой Vision
URL изображения Ссылка на изображение; поддерживает {{переменные}}
Вопрос Что именно нужно определить или описать

Результат: {{result.text}} — текстовый ответ модели.


Расшифровать аудио (Whisper)

Переводит голосовое сообщение или аудиофайл в текст.

Параметр Описание
file_id Telegram file_id аудио/голосового сообщения; поддерживает {{переменные}}
Модель whisper-1, gpt-4o-transcribe и др.
Язык ISO-код языка (пусто = автоопределение)

Результат: {{result.text}} — расшифрованный текст.

Типичный сценарий: пользователь отправляет голосовое → блок «Ввод данных» сохраняет file_id → блок интеграции Whisper расшифровывает → переменная {{result.text}} доступна в следующих блоках.


Получить список моделей (OpenAI)

Запрашивает OpenAI API и записывает массив моделей, доступных в вашем аккаунте, в указанную переменную.

Параметров нет — укажите только переменную, в которую будет записан результат.

Результат: {{result}} — массив объектов. Доступные свойства каждого элемента (N — порядковый номер с 0):

Свойство Описание
{{result.N.id}} Идентификатор модели (например, gpt-4o)
{{result.N.object}} Тип объекта (всегда "model")
{{result.N.created}} Дата создания (Unix timestamp)
{{result.N.owned_by}} Владелец модели (например, openai)

Нажмите Тест в редакторе, чтобы убедиться в работе и увидеть список моделей. Данные будут доступны через {{result.0.id}}, {{result.1.id}} и т.д.


Реакция на сообщение (OpenAI)

ИИ анализирует текст сообщения пользователя и выбирает одно эмодзи из разрешённого списка, после чего бот ставит эту реакцию на указанное сообщение через Telegram API.

Параметр Описание
ID сообщения ID сообщения, на которое ставится реакция. По умолчанию — {{USER_MESSAGE_ID}} (входящее сообщение пользователя)
Список реакций Сетка из 73 доступных emoji-реакций Telegram — выберите те, из которых ИИ может выбирать
Сообщение пользователя Текст для анализа; поддерживает {{переменные}}. По умолчанию — {{USER_MESSAGE}}
Инструкция Системный промпт для ИИ. Список разрешённых эмодзи добавляется автоматически в конец инструкции
Модель Модель OpenAI (по умолчанию "gpt-4o-mini"). В расширенных параметрах

Результирующие переменные (при префиксе result):

Переменная Значение
{{result.selected_emoji}} Выбранная реакция (пусто, если ИИ не смог подобрать подходящую или вернул null)

Поведение при отсутствии реакции: если ИИ вернул "null", пустую строку или эмодзи не из разрешённого списка — реакция не выставляется, переменная "selected_emoji" остаётся пустой строкой, выполнение сценария продолжается.


Anthropic Claude

Отправить сообщение

Отправляет запрос к Claude и получает текстовый ответ. Поддерживает те же возможности памяти диалога и предварительного сообщения, что и OpenAI Chat.

Параметр Описание
Модель Claude 4.6 Opus, Claude 4.6 Sonnet, Claude 4.5 Sonnet и другие — выбираются из аккаунта
Сообщение пользователя Текст запроса; поддерживает {{переменные}}
Системный промпт Инструкции для модели — роль, стиль, ограничения. Поддерживает markdown-разметку и {{переменные}}. Кнопка открывает редактор на весь экран
Макс. токенов Ограничение длины ответа

Результирующие переменные (при префиксе result):

Переменная Значение
{{result.text}} Текст ответа модели
{{result.model}} Использованная модель
{{result.tokens_used}} Потрачено токенов

Запомнить диалог

Аналогично разделу OpenAI → Запомнить диалог — все настройки (время памяти, максимум сообщений, название диалога, генерация названий, ID диалога, переменная с ID, предварительное сообщение) работают одинаково для Claude.


Получить список моделей (Anthropic)

Запрашивает Anthropic API и записывает массив доступных моделей Claude в указанную переменную.

Параметров нет — укажите только переменную, в которую будет записан результат.

Результат: {{result}} — массив объектов (sorted by created_at desc). Доступные свойства каждого элемента (N — порядковый номер с 0):

Свойство Описание
{{result.N.id}} Идентификатор модели (например, claude-sonnet-4-6)
{{result.N.display_name}} Отображаемое имя модели
{{result.N.created_at}} Дата создания (ISO 8601)
{{result.N.type}} Тип объекта (всегда "model")
{{result.N.max_input_tokens}} Максимальное число токенов контекста
{{result.N.max_tokens}} Максимальное число токенов ответа

Нажмите Тест в редакторе, чтобы убедиться в работе. После теста автодополнение {{result.0.id}}, {{result.1.id}} и т.д. будет доступно в редакторе.


Реакция на сообщение (Claude)

Идентична операции OpenAI → Реакция на сообщение: ИИ Claude анализирует текст сообщения и выбирает одну реакцию из разрешённого списка, после чего бот ставит её через Telegram API.

Параметр Описание
ID сообщения ID сообщения, на которое ставится реакция. По умолчанию — {{USER_MESSAGE_ID}}
Список реакций Сетка из 73 emoji-реакций Telegram — выберите допустимые для ИИ
Сообщение пользователя Текст для анализа; поддерживает {{переменные}}
Инструкция Системный промпт; список разрешённых эмодзи добавляется автоматически
Модель Модель Claude (по умолчанию "claude-sonnet-4-6"). В расширенных параметрах

Результирующая переменная: {{result.selected_emoji}} — выбранное эмодзи (пусто, если ИИ не смог подобрать).


Google Sheets

Подключение

Поддерживаются два способа авторизации:

  • OAuth2 — авторизация через Google-аккаунт. Создайте OAuth2-клиент в Google Cloud Console (тип: Веб-приложение), включите Google Sheets API и Google Drive API и добавьте URI перенаправления.
  • Сервисный аккаунт — JSON-ключ сервисного аккаунта. После создания аккаунта откройте нужные таблицы и выдайте email сервисного аккаунта доступ (редактор).

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


Получить строку

Ищет строку в таблице Google Sheets по значению в указанном столбце.

Параметр Описание
ID или URL таблицы Идентификатор Google Sheets
Название листа Имя вкладки
Колонка для поиска Заголовок столбца, по которому искать
Значение для поиска Что искать; поддерживает {{переменные}}

Имена переменных результата соответствуют заголовкам столбцов таблицы:


{{result.Email}} → значение столбца «Email» в найденной строке {{result.Имя}} → значение столбца «Имя» {{result.Телефон}} → значение столбца «Телефон»


Если строка не найдена — переменные будут пустыми.


Добавить строку

Добавляет новую строку в конец листа.

Параметр Описание
ID или URL таблицы Идентификатор Google Sheets
Название листа Имя вкладки
Колонки и значения Список пар «Колонка → Значение»; поддерживает {{переменные}}

Переменных не возвращает. Используйте для сохранения заявок, ответов пользователей, логов.


Добавить или обновить запись

Ищет строку по значению в указанном столбце. Если строка найдена — обновляет её. Если нет — добавляет новую строку в конец листа.

Параметр Описание
ID или URL таблицы Идентификатор Google Sheets
Название листа Имя вкладки
Колонка для поиска совпадения Заголовок столбца, по которому определяется уникальность
Значение для поиска Поддерживает {{переменные}}
Данные (маппинг) Список пар «Колонка → Значение»; поддерживает {{переменные}}

Переменных не возвращает.


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

Находит строку по значению в указанном столбце и обновляет её данные.

Параметр Описание
ID или URL таблицы Идентификатор Google Sheets
Название листа Имя вкладки
Колонка для поиска Заголовок столбца для поиска строки
Значение для поиска Поддерживает {{переменные}}
Данные для обновления Список пар «Колонка → Новое значение»; поддерживает {{переменные}}

Если строка не найдена — обновление не производится. Переменных не возвращает.


Получить записи

Возвращает все строки листа, соответствующие заданным фильтрам.

Параметр Описание
ID или URL таблицы Идентификатор Google Sheets
Название листа Имя вкладки
Фильтры Список условий «Колонка = Значение»; без фильтров возвращаются все строки
Комбинация фильтров И — все условия; ИЛИ — хотя бы одно
Вернуть первую совпадающую строку (доп.) Если включён — возвращает только первую найденную строку

Результат при «Вернуть первую строку» = включён (как «Получить строку»):

""" {{result.НазваниеКолонки}} → значение колонки в найденной строке """

Результат при «Вернуть первую строку» = выключен:

Переменная Значение
{{result}} JSON-массив всех найденных строк
{{result.count}} Количество найденных строк

Очистить лист

Удаляет содержимое ячеек, не удаляя сам лист.

Параметр Описание
ID или URL таблицы Идентификатор Google Sheets
Название листа Имя вкладки
Что очистить Весь лист / Определённые строки / Определённые столбцы / Определённый диапазон
Начальная строка (доп.) Для режима «Определённые строки»
Количество строк (доп.) Для режима «Определённые строки»
Начальный столбец (доп.) Для режима «Определённые столбцы» (например: A)
Количество столбцов (доп.) Для режима «Определённые столбцы»
Диапазон (доп.) Для режима «Определённый диапазон» (например: A2:C10)

Переменных не возвращает.


Удалить строки или столбцы

Удаляет указанные строки или столбцы со сдвигом оставшихся.

Параметр Описание
ID или URL таблицы Идентификатор Google Sheets
Название листа Имя вкладки
Что удалить Строки или Столбцы
Начальный номер Номер первой строки/столбца (считая с 1); поддерживает {{переменные}}
Количество Сколько строк/столбцов удалить; поддерживает {{переменные}}

Переменных не возвращает.


Создать лист

Добавляет новую вкладку в существующую таблицу.

Параметр Описание
ID или URL таблицы Идентификатор Google Sheets
Название нового листа Имя вкладки; поддерживает {{переменные}}

Переменных не возвращает.


Удалить лист

Удаляет вкладку из таблицы вместе со всеми данными.

Параметр Описание
ID или URL таблицы Идентификатор Google Sheets
Название листа Имя вкладки для удаления

Переменных не возвращает.


Google Drive

Управление файлами, папками и общими дисками Google Drive прямо из бота.

Подключение

Поддерживаются два способа авторизации:

  • OAuth2 — авторизация через Google-аккаунт. Создайте OAuth2-клиент в Google Cloud Console (тип: Веб-приложение), включите Google Drive API и добавьте URI перенаправления, показанный при создании подключения.
  • Сервисный аккаунт — JSON-ключ сервисного аккаунта. После создания аккаунта выдайте его email доступ к нужным папкам или файлам Google Drive.

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


Действия с файлами

Копировать файл

Параметр Описание
Файл Выберите из списка или укажите ID
Новое имя Имя копии; оставьте пустым, чтобы сохранить оригинальное. Поддерживает {{переменные}}
Папка назначения (доп.) Папка для копии; если не указана — копия создаётся в той же папке

Результирующие переменные (при префиксе result):

Переменная Значение
{{result.file_id}} ID созданной копии
{{result.name}} Имя копии
{{result.webViewLink}} Ссылка на файл в Google Drive

Создать файл из текста

Создаёт текстовый файл из содержимого переменной.

Параметр Описание
Имя файла Поддерживает {{переменные}}
Содержимое Текст файла; поддерживает {{переменные}}
Тип файла Текст (.txt), CSV, HTML, JSON
Папка (доп.) Папка для сохранения файла

Результирующие переменные — те же, что у «Копировать файл» (file_id, name, webViewLink).


Удалить файл

Параметр Описание
Файл Выберите из списка или укажите ID

Переменных не возвращает.


Скачать файл

Скачивает файл с Google Drive и сохраняет его для дальнейшего использования.

Параметр Описание
Файл Выберите из списка или укажите ID
Формат экспорта (доп.) Для Google Docs/Sheets: PDF, DOCX, XLSX, TXT, CSV. Оставьте «Авто» для обычных файлов

Результирующие переменные:

Переменная Значение
{{result.file_url}} URL скачанного файла
{{result.name}} Имя файла
{{result.mime_type}} MIME-тип
{{result.size}} Размер в байтах

Переместить файл

Параметр Описание
Файл Файл для перемещения
Папка назначения Папка, в которую переместить файл

Результирующие переменные: {{result.file_id}}, {{result.name}}.


Поделиться файлом

Предоставляет доступ к файлу пользователю, группе, домену или всем.

Параметр Описание
Файл Файл, к которому предоставляется доступ
Роль Читатель / Комментатор / Редактор
Тип Пользователь / Группа / Домен / Все
Email-адрес Для типов «Пользователь» и «Группа». Поддерживает {{переменные}}
Отправить уведомление Отправить email-уведомление получателю

Результирующие переменные: {{result.permission_id}}, {{result.role}}, {{result.type}}.


Обновить файл

Параметр Описание
Файл Файл для обновления
Новое имя Поддерживает {{переменные}}

Результирующие переменные: {{result.file_id}}, {{result.name}}, {{result.mimeType}}.


Загрузить файл

Загружает файл из указанного URL в Google Drive.

Параметр Описание
URL файла Ссылка на файл; поддерживает {{переменные}}. Для Telegram-файлов используйте file_url из переменных блока «Ввод данных»
Имя файла Определяется из URL автоматически, если не указано. Поддерживает {{переменные}}
Папка (доп.) Папка назначения
ID общего диска (доп.) Загрузить в общий диск (Shared Drive). Поддерживает {{переменные}}

Если URL начинается с адреса локального Telegram Bot API — файл читается с сервера напрямую, без HTTP-загрузки.

Результирующие переменные: {{result.file_id}}, {{result.name}}, {{result.webViewLink}}, {{result.mimeType}}.


Поиск файлов и папок

Найти файлы и папки

Выполняет поиск по Google Drive с использованием синтаксиса Drive Query Language.

Параметр Описание
Поисковый запрос Например: "name contains 'отчёт'" или "mimeType = 'application/pdf'". Поддерживает {{переменные}}
Максимум результатов (доп.) До 1000, по умолчанию 50
ID общего диска (доп.) Ограничить поиск конкретным общим диском. Поддерживает {{переменные}}

Результирующие переменные:

Переменная Значение
{{result.files}} Массив файлов (id, name, mimeType, size, webViewLink)
{{result.count}} Количество найденных элементов

Действия с папками

Создать папку

Параметр Описание
Название папки Поддерживает {{переменные}}
Родительская папка (доп.) Папка, внутри которой создаётся новая
ID общего диска (доп.) Создать в общем диске

Результирующие переменные: {{result.folder_id}}, {{result.name}}, {{result.webViewLink}}.


Cloudflare R2

Cloudflare R2 — S3-совместимое объектное хранилище. Подходит для хранения файлов с прямым доступом по URL.

Подключение

  1. Откройте Cloudflare DashboardR2 Object Storage → ваш бакет → вкладка Settings.
  2. Найдите поле S3 API — оно выглядит как "https://<account_id>.r2.cloudflarestorage.com/". Часть "<account_id>" — это ваш Account ID.
  3. Перейдите в R2 → Manage R2 API TokensCreate API Token.
  4. Выберите права Object Read & Write (или ограничьте конкретным бакетом), сохраните.
  5. Скопируйте Access Key ID и Secret Access Key.

Вставьте JSON в поле подключения:

"""json { "account_id": "abc123...", "access_key_id": "...", "secret_access_key": "...", "bucket_name": "my-bucket", "public_url": "https://pub-xxx.r2.dev" } """

"public_url"необязательное поле. Нужно для получения прямых ссылок на файлы после загрузки. Где взять:

  • Public Development URL (для тестов): Settings бакета → раздел Public Development URL → нажмите Enable. После включения скопируйте появившийся URL вида "https://pub-xxx.r2.dev".
  • Кастомный домен (для продакшна): Settings → Custom Domains → Add.

Если ни то ни другое не настроено — оставьте поле пустым; "{{result.public_url}}" будет пустой строкой.

Загрузить файл

Загружает файл в R2 по URL или из внутреннего хранилища бота.

Параметр Описание
URL файла Прямая ссылка на файл. Поддерживает {{переменные}}, в т.ч. "{{result.file_url}}" из предыдущих блоков
Ключ объекта Путь и имя файла внутри бакета, например "uploads/{{user.id}}/photo.jpg". Поддерживает {{переменные}}
MIME-тип (доп.) Если не указан — определяется автоматически по содержимому файла

Результирующие переменные:

Переменная Значение
{{result.key}} Ключ сохранённого объекта в бакете
{{result.public_url}} Прямая ссылка для скачивания (если задан "public_url" в подключении)
{{result.size}} Размер файла в байтах

Удалить файл

Параметр Описание
Ключ объекта Путь к файлу в бакете. Поддерживает {{переменные}}

Операция не возвращает результат.

Список файлов

Возвращает список объектов в бакете.

Параметр Описание
Префикс (папка) Фильтрует файлы по началу ключа, например "uploads/photos/". Необязательно
Максимум файлов От 1 до 1000. По умолчанию 100

Результирующие переменные:

Переменная Значение
{{result.files}} Массив объектов: "key", "size", "last_modified", "public_url"
{{result.count}} Количество найденных файлов

Скопировать файл

Копирует объект внутри бакета без повторной загрузки.

Параметр Описание
Исходный ключ Ключ исходного файла в бакете
Ключ назначения Ключ нового файла-копии

Результирующие переменные: {{result.key}}, {{result.public_url}}.

Информация о файле

Возвращает метаданные объекта (без скачивания содержимого).

Параметр Описание
Ключ объекта Путь к файлу в бакете

Результирующие переменные:

Переменная Значение
{{result.exists}} "1" — файл существует, "0" — не найден
{{result.size}} Размер в байтах
{{result.content_type}} MIME-тип файла
{{result.last_modified}} Дата последнего изменения

Удалить папку

Параметр Описание
Папка Папка для удаления (удаляется вместе со всем содержимым)

Переменных не возвращает.


Поделиться папкой

Аналогично «Поделиться файлом» — те же параметры и результат, только для папки.


Действия с общими дисками

Создать общий диск

Параметр Описание
Название диска Поддерживает {{переменные}}

Результирующие переменные: {{result.drive_id}}, {{result.name}}.


Удалить общий диск

Параметр Описание
ID общего диска Поддерживает {{переменные}}

Переменных не возвращает.


Получить общий диск

Параметр Описание
ID общего диска Поддерживает {{переменные}}

Результирующие переменные: {{result.drive_id}}, {{result.name}}, {{result.created_time}}.


Список общих дисков

Параметр Описание
Максимум результатов (доп.) До 100, по умолчанию 50

Результирующие переменные: {{result.drives}} — массив дисков · {{result.count}} — количество.


Обновить общий диск

Параметр Описание
ID общего диска Поддерживает {{переменные}}
Новое название Поддерживает {{переменные}}

Результирующие переменные: {{result.drive_id}}, {{result.name}}.


Google Calendar

Управление событиями в Google Calendar: создание, получение, обновление, удаление и проверка доступности.

Подключение

Поддерживаются два способа авторизации:

  • OAuth2 — авторизация через Google-аккаунт. Необходимо создать OAuth2-клиент в Google Cloud Console (тип: Веб-приложение), включить Google Calendar API и добавить URI перенаправления.
  • Сервисный аккаунт — JSON-ключ сервисного аккаунта. После создания аккаунта поделитесь нужными календарями с email сервисного аккаунта в настройках самого Calendar.

Создать событие

Параметр Описание
Календарь Выберите из списка или укажите ID (primary — основной)
Название события Текст заголовка; поддерживает {{переменные}}
Весь день Да — событие на весь день (формат даты YYYY-MM-DD); Нет — с временем (RFC3339)
Начало Дата и время начала
Конец Дата и время окончания

Дополнительные параметры (раздел «Дополнительные»):

Параметр Описание
Описание Текст описания события
Место проведения Адрес или название места
Участники Email-адреса через запятую
Цвет события Один из 11 цветов Google Calendar
Видимость По умолчанию / Публичное / Приватное / Конфиденциальное
Статус события Подтверждено / Предварительно / Отменено
Гости могут приглашать других Да / Нет
Гости могут изменять событие Да / Нет
Гости видят других участников Да / Нет
Отправлять уведомления Всем / Только внешним / Никому
Использовать напоминания по умолчанию Да / Нет
ID события Пользовательский идентификатор (генерируется автоматически, если не указан)

Результирующие переменные (при префиксе result):

Переменная Значение
{{result.id}} ID созданного события
{{result.summary}} Название события
{{result.status}} Статус (confirmed, tentative)
{{result.htmlLink}} Ссылка на событие в Google Calendar
{{result.start}} Время начала
{{result.end}} Время окончания

Удалить событие

Параметр Описание
Календарь ID календаря
ID события Идентификатор события ({{result.id}} из предыдущей операции)
Отправлять уведомления (advanced) Всем / Только внешним / Никому

Переменных не возвращает.


Получить событие

Параметр Описание
Календарь ID календаря
ID события Идентификатор события
Временная зона (advanced) IANA timezone, например Europe/Moscow
Макс. участников (advanced) Ограничение числа участников в ответе

Результирующие переменные (при префиксе result):

Переменная Значение
{{result.id}} ID события
{{result.summary}} Название
{{result.status}} Статус
{{result.description}} Описание
{{result.location}} Место
{{result.start}} Начало
{{result.end}} Конец
{{result.htmlLink}} Ссылка
{{result.creator}} Email создателя
{{result.organizer}} Email организатора

Получить события

Параметр Описание
Календарь ID календаря
Начало диапазона (advanced) timeMin — RFC3339
Конец диапазона (advanced) timeMax — RFC3339
Поиск по тексту (advanced) Поиск по названию и описанию
Макс. результатов (advanced) По умолчанию 250, максимум 2500
Сортировка (advanced) По времени начала / По дате изменения
Разворачивать повторяющиеся (advanced) Требуется для сортировки по startTime
Показывать удалённые (advanced)

Результирующие переменные:

Переменная Значение
{{result.events}} Массив событий (каждое — объект с id, summary, start, end и др.)
{{result.count}} Количество найденных событий

Используйте {{result.count}} в блоке «Условие» для проверки наличия событий.


Обновить событие

Обязательные параметры: Календарь и ID события. Все остальные поля (название, время, описание и т.д.) опциональны — обновляются только те, что указаны.

Используйте «Дополнительные» (advanced) параметры — там доступны все те же поля, что и при создании события.

Результирующие переменные — те же, что у «Создать событие» (id, summary, status, htmlLink, start, end).


Доступность в календаре

Проверяет, свободен ли указанный временной диапазон в календаре (использует Google Calendar FreeBusy API).

Параметр Описание
Календарь ID календаря
Начало диапазона RFC3339 дата-время начала проверяемого периода
Конец диапазона RFC3339 дата-время конца проверяемого периода
Временная зона (advanced) IANA timezone

Результирующие переменные:

Переменная Значение
{{result.is_available}} true если период свободен, false если есть занятые слоты
{{result.busy_periods}} Массив занятых интервалов [{ "start": "...", "end": "..." }]

Редактирование сообщения в блоке «Текст»

В блоке «Текст» в разделе «Дополнительные» доступна опция «Редактировать сообщение».

При её включении вместо отправки нового сообщения бот редактирует существующее — заменяет его текст на содержимое блока.

Параметр Описание
Редактировать сообщение Включить режим редактирования вместо отправки
ID сообщения ID сообщения для редактирования. Укажите число или подставьте переменную, например "{{message_id}}"

Типичное применение — связка с предварительным сообщением ИИ:

  1. Блок «Интеграция» (OpenAI / Claude) → включить «Выводить предварительное сообщение» → переменная для ID, например "message_id".
  2. Пока ИИ генерирует ответ, пользователь видит заглушку.
  3. Следующий блок «Текст» с текстом ответа "{{result.text}}" → «Дополнительные»«Редактировать сообщение» → "{{message_id}}".
  4. Бот редактирует предварительное сообщение: заглушка заменяется готовым ответом.

Если переменная пуста или указан несуществующий ID — блок отправит сообщение как обычный текст.


ElevenLabs

ElevenLabs — платформа для работы с голосом на основе ИИ: высококачественная озвучка текста, распознавание речи, изменение голоса, клонирование голоса и генерация звуковых эффектов.

Подключение

  1. Зарегистрируйтесь на elevenlabs.io.
  2. Перейдите в Settings → API Keys → нажмите Create API Key.
  3. Скопируйте созданный ключ и вставьте в поле подключения.
  4. Нажмите «Проверить» — система проверит доступ к API.

Бесплатный план ElevenLabs имеет лимит символов в месяц. Клонирование голоса требует платного плана Creator или выше.


Озвучить текст (Text-to-Speech)

Преобразует текст в аудиофайл с использованием выбранного голоса.

Параметр Описание
Голос Выберите голос из списка аккаунта или укажите voice_id вручную
Текст Текст для озвучки; поддерживает {{переменные}}

Дополнительные параметры:

Параметр Описание
Модель Multilingual v2 (рекомендуется для русского), Flash v2.5, Turbo v2.5, v3
Формат аудио MP3 128 kbps (рекомендуется), MP3 64 kbps, PCM, μ-law
Стабильность (0–1) Ниже — эмоциональнее и динамичнее; выше — монотоннее, но стабильнее
Усиление сходства (0–1) Насколько близко ИИ копирует оригинальный голос
Преувеличение стиля (0–1) Усиливает манеру речи; рекомендуется оставлять 0 для естественного звука
Скорость речи 1.0 — норма; меньше — медленнее, больше — быстрее
Усиление диктора Делает голос более насыщенным (требует чуть больше ресурсов)
Seed Фиксирует генерацию для воспроизводимости результата

Результирующие переменные (при префиксе result):

Переменная Значение
{{result.url}} URL аудиофайла — передайте в блок «Аудио»
{{result.character_count}} Количество использованных символов
{{result.request_id}} ID запроса

Важно: Ссылка на аудиофайл доступна в течение 24 часов, после чего удаляется автоматически.

Типичный сценарий — бот-диктор:

  1. Блок «Интеграция» → ElevenLabs → Озвучить текст → выбрать голос → текст "{{news_text}}".
  2. Следующий блок «Аудио» → в поле «file_id или URL» указать "{{result.url}}".
  3. Бот отправляет озвученную новость как аудиосообщение.

Распознать речь (Speech-to-Text)

Преобразует голосовое сообщение или аудиофайл в текст (модели серии Scribe).

Параметр Описание
file_id аудио Telegram file_id голосового/аудио сообщения; поддерживает {{переменные}}
Модель Scribe v2 (рекомендуется), Scribe v1
Язык (ISO 639-1) Например: ru, en, de. Оставьте пустым для автоопределения

Дополнительные параметры:

Параметр Описание
Разделить по спикерам Диаризация: помечает реплики «Спикер 1», «Спикер 2»
Очистить текст от слов-паразитов Убирает «э-э-э», «ну», повторы и ложные старты

Результирующие переменные:

Переменная Значение
{{result.text}} Распознанный текст
{{result.language_code}} Определённый язык
{{result.transcription_id}} ID транскрипции

Типичный сценарий — голосовой ассистент:

  1. Блок «Ввод данных» → сохраняет голосовое в переменную "voice_input".
  2. Блок «Интеграция»Распознать речь → "file_id: {{voice_input}}" → "{{result.text}}".
  3. Блок «Интеграция» → OpenAI / ChatGPT → "{{result.text}}" → ответ "{{ai.text}}".
  4. Блок «Текст» → "{{ai.text}}".

Изменить голос (Speech-to-Speech)

Заменяет голос в аудиозаписи, сохраняя все интонации и эмоции оригинала.

Параметр Описание
Целевой голос Голос, на который заменяется оригинальный
file_id аудио Telegram file_id голосового/аудио сообщения; поддерживает {{переменные}}

Дополнительные параметры: Модель, Формат аудио, Стабильность, Усиление сходства.

Результирующие переменные: {{result.url}} — URL аудиофайла · {{result.request_id}}.

Важно: Ссылка на аудиофайл доступна в течение 24 часов, после чего удаляется автоматически.


Сгенерировать звуковой эффект

Генерирует аудио по текстовому описанию: природные звуки, шумы, технические звуки.

Параметр Описание
Описание звука Текст описания; поддерживает {{переменные}}
Длительность (сек.) Желаемая длительность звука (необязательно)

Дополнительные параметры: Влияние промпта (0–1), Формат аудио.

Результирующие переменные: {{result.url}} — URL аудиофайла.

Важно: Ссылка на аудиофайл доступна в течение 24 часов, после чего удаляется автоматически.


Музыка к видео (Video-to-Music)

Генерирует музыкальный саундтрек под видеофайл — автоматически подбирает темп, настроение и инструментовку.

Параметр Описание
file_id видео Telegram file_id видеосообщения; поддерживает {{переменные}}
Описание музыки Необязательное текстовое направление стиля; поддерживает {{переменные}}

Дополнительные параметры: Формат аудио.

Результирующие переменные: {{result.url}} — URL аудиофайла с музыкой.

Важно: Ссылка на аудиофайл доступна в течение 24 часов, после чего удаляется автоматически.


Клонировать голос (Instant Voice Cloning)

Создаёт цифровую копию голоса по короткой аудиозаписи (от нескольких секунд до минуты). Клонированный голос сохраняется в аккаунте ElevenLabs и его можно использовать в операции «Озвучить текст».

Параметр Описание
Название голоса Имя нового голоса в аккаунте ElevenLabs; поддерживает {{переменные}}
file_id аудио Telegram file_id записи с нужным голосом; поддерживает {{переменные}}

Дополнительные параметры: Описание голоса, Убрать фоновый шум.

Результирующие переменные:

Переменная Значение
{{result.voice_id}} ID клонированного голоса — используйте в операции «Озвучить текст»
{{result.voice_name}} Название голоса

Типичный сценарий — персональный голос бота:

  1. Блок «Ввод данных» → пользователь отправляет голосовое → "voice_sample".
  2. Блок «Интеграция»Клонировать голос → "name: Мой голос", "file_id: {{voice_sample}}" → "{{result.voice_id}}".
  3. Сохранить "{{result.voice_id}}" в базу данных.
  4. В следующих сценариях: блок «Интеграция»Озвучить текст → "voice_id: {{saved_voice_id}}".

Клонирование голоса требует платного плана ElevenLabs Creator или выше.


Советы по работе с интеграциями

  • Сохраняйте результаты интеграций в переменные с понятными именами: ai_answer, sheet_row.
  • Используйте блок «Условие» после интеграции, чтобы проверить, нашла ли операция нужные данные.
  • Тестируйте блок прямо в редакторе кнопкой «Тест» — это экономит время при разработке.
  • При использовании памяти диалога с ИИ включайте «Генерировать названия диалога» — это помогает ориентироваться в истории переписки в будущих версиях панели.
  • Для сложных сценариев с несколькими AI-блоками используйте «Переменная с ID диалога», чтобы каждый блок работал с нужным диалогом явно, а не по принципу «последний».
  • Если бот обрабатывает конфиденциальные данные пользователей, включите «Шифровать данные» в настройках памяти диалога — сообщения будут сохранены в БД в зашифрованном виде.

Supabase

Supabase — open-source-альтернатива Firebase на базе PostgreSQL. Интеграция позволяет выполнять CRUD-операции с таблицами через Supabase REST API (PostgREST) прямо из сценария бота.

Подключение

  1. Откройте настройки вашего проекта: supabase.com/dashboard → ваш проект → Settings → API.
  2. Скопируйте Project URL из раздела Project URL.
  3. Скопируйте ключ service_role (secret) из раздела Project API keys.
  4. В диалоге подключения заполните два поля:
Поле Значение
URL проекта "https://xxxx.supabase.co"
Service Role Key "eyJ..." (секретный ключ)
  1. Нажмите «Проверить подключение» — система выполнит запрос к API и подтвердит корректность данных.
  2. Сохраните подключение.

Важно: Используйте ключ "service_role" (secret), а не "anon". Это позволяет обходить Row Level Security и работать с данными в обход политик доступа. Храните ключ в безопасности.


Создать запись

Вставляет новую строку в таблицу.

Параметр Описание
Таблица Название таблицы в БД; поддерживает {{переменные}}
Данные Список пар «Колонка → Значение»; поддерживает {{переменные}}

Результирующие переменные (при префиксе result):

Переменная Значение
{{result.id}} ID созданной записи (и другие поля, возвращённые базой)
{{result.НазваниеКолонки}} Значение любой возвращённой колонки

Удалить запись

Удаляет строки, соответствующие условиям.

Параметр Описание
Таблица Название таблицы; поддерживает {{переменные}}
Select Conditions Условия отбора строк (поле, оператор, значение); поддерживает {{переменные}}
Must Match (доп.) All — все условия (AND); Any — хотя бы одно (OR)

Результирующие переменные:

Переменная Значение
{{result}} Массив удалённых записей
{{result.count}} Количество удалённых записей

Получить запись

Получает первую строку, удовлетворяющую условиям.

Параметр Описание
Таблица Название таблицы; поддерживает {{переменные}}
Select Conditions Условия поиска; без условий вернётся первая строка

Результирующие переменные:

Переменная Значение
{{result.id}} ID найденной записи
{{result.НазваниеКолонки}} Значение любой колонки найденной строки

Если запись не найдена — переменные не устанавливаются.


Получить список записей

Возвращает массив строк, соответствующих фильтрам.

Параметр Описание
Таблица Название таблицы; поддерживает {{переменные}}
Return All Если включено — возвращаются все строки (игнорирует Limit)
Limit (доп.) Максимум записей. По умолчанию 50; поддерживает {{переменные}}
Filters Условия отбора (поле, оператор, значение); поддерживает {{переменные}}
Must Match (доп.) All — AND; Any — OR

Результирующие переменные:

Переменная Значение
{{result}} Массив записей
{{result.count}} Количество записей
{{result.0.НазваниеКолонки}} Значение колонки в первой записи

Используйте {{result}} с динамическими кнопками (тип «Динамические кнопки») или блоком «Условие» для проверки "{{result.count}}".


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

Обновляет строки, соответствующие условиям.

Параметр Описание
Таблица Название таблицы; поддерживает {{переменные}}
Select Conditions Условия отбора строк для обновления; поддерживает {{переменные}}
Must Match All — AND; Any — OR
Fields to Send Список пар «Колонка → Новое значение»; поддерживает {{переменные}}

Результирующие переменные:

Переменная Значение
{{result}} Массив обновлённых записей
{{result.count}} Количество обновлённых записей

Операторы условий

В блоках с условиями (Select Conditions / Filters) поддерживаются следующие операторы:

Оператор Описание
"=" Равно
"!=" Не равно
"<" Меньше
"<=" Меньше или равно
">" Больше
">=" Больше или равно
"like" Поиск по шаблону ("%текст%")
"ilike" То же, без учёта регистра

Пример: сохранение заявки пользователя

  1. Блок «Ввод данных» — имя → "user_name", телефон → "user_phone".
  2. Блок «Интеграция» → Supabase → Создать запись:
    • Таблица: "leads"
    • Данные: "name" → "{{user_name}}", "phone" → "{{user_phone}}", "chat_id" → "{{USER_ID}}"
  3. Переменная "{{result.id}}" — ID созданной заявки в Supabase.

Grok (xAI)

Grok — мощная языковая модель от компании xAI, предоставляющая возможности чат-ИИ, анализа изображений, генерации медиа и работы с аудио.

API Base URL: "https://api.x.ai/v1"
API ключ: Начинается с "xai-". Получить можно на console.x.ai.


Настройка подключения

В настройках интеграции введите API ключ в формате "xai-...".
Кнопка «Проверить соединение» отправит запрос к "/models" для проверки валидности ключа.


Операции

Отправить сообщение ("send_message")

Отправляет текстовый запрос языковой модели Grok и возвращает ответ.

Параметры:

Параметр Описание
Модель ID модели (по умолчанию "grok-3")
Системный промпт Контекст/инструкция для модели
Сообщение пользователя Запрос к модели
Температура Случайность ответа (0–2)
Макс. токенов Ограничение длины ответа
История диалога Переменная с историей для поддержания контекста
JSON-режим Принудительный ответ в JSON-формате

Результирующие переменные:

  • "{prefix}.text" — текст ответа модели
  • "{prefix}.model" — использованная модель
  • "{prefix}.tokens_used" — количество потреблённых токенов
  • "{prefix}." — поля JSON (если включён JSON-режим со схемой)

Анализировать изображение ("analyze_image")

Отправляет изображение модели для визуального анализа (Vision API).

Параметры:

Параметр Описание
Модель ID модели с поддержкой Vision (напр. "grok-4.20-reasoning")
URL или file_id изображения Telegram "file_id" или прямая ссылка
Вопрос Что нужно узнать об изображении
Детализация "auto", "low" или "high"
Макс. токенов Ограничение длины ответа

Результирующие переменные:

  • "{prefix}.text" — ответ модели
  • "{prefix}.model" — использованная модель
  • "{prefix}.tokens_used" — количество потреблённых токенов

Создать изображение ("generate_image")

Генерирует изображение по текстовому описанию с помощью модели "grok-imagine-image".

Параметры:

Параметр Описание
Промпт Описание изображения
Соотношение сторон "auto", "1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "2:1", "1:2"
Разрешение "1k" (стандарт) или "2k" (высокое)
Количество Число изображений (1–10)

Результирующие переменные:

  • "{prefix}.url" — URL сгенерированного изображения (временный)
  • "{prefix}.file_id" — Telegram "file_id" первого изображения (стабильный)
  • "{prefix}.file_ids" — массив Telegram "file_id" всех изображений
  • "{prefix}.count" — количество сгенерированных изображений
  • "{prefix}.{i}.file_id" — "file_id" каждого изображения по индексу

Примечание: URL изображений, возвращаемые xAI, являются временными. Блок автоматически загружает изображения в Telegram и сохраняет стабильный "file_id".


Реакция на сообщение ("react_to_message")

Анализирует сообщение пользователя с помощью ИИ и ставит подходящую эмодзи-реакцию в Telegram.

Параметры:

Параметр Описание
ID сообщения Telegram "message_id" для реакции
Допустимые реакции Список эмодзи, из которых ИИ выбирает
Сообщение пользователя Текст для анализа
Модель ID модели (по умолчанию "grok-3-mini")
Системный промпт Дополнительные инструкции для выбора реакции

Результирующие переменные:

  • "{prefix}.selected_emoji" — выбранный эмодзи (или пустая строка, если ИИ решил не реагировать)

Создать видео ("generate_video")

Генерирует видеоролик по текстовому описанию с помощью модели "grok-imagine-video".

⚠️ Важно: Генерация видео занимает 1–5 минут (иногда до 10 минут). Блок выполняет асинхронный опрос API каждые 5 секунд. Убедитесь, что ваша очередь задач поддерживает длительное выполнение.

Параметры:

Параметр Описание
Промпт Описание видео
Длительность Продолжительность в секундах (1–15)
Соотношение сторон "16:9", "9:16", "1:1"
Разрешение "480p" или "720p"

Результирующие переменные:

  • "{prefix}.url" — URL готового видео (временный)
  • "{prefix}.file_id" — Telegram "file_id" видео (стабильный)
  • "{prefix}.duration" — продолжительность видео в секундах
  • "{prefix}.model" — использованная модель

Расшифровать аудио ("transcribe_audio")

Конвертирует голосовое сообщение или аудиофайл из Telegram в текст (Speech-to-Text).

Параметры:

Параметр Описание
File ID аудио Telegram "file_id" аудио- или голосового сообщения
Язык ISO-код языка аудио (необязательно — для повышения точности)
Нормализация Привести числа и аббревиатуры в текстовый вид

Результирующие переменные:

  • "{prefix}.text" — расшифрованный текст
  • "{prefix}.language" — определённый язык
  • "{prefix}.duration" — продолжительность аудио в секундах

Озвучить текст ("text_to_speech")

Синтезирует речь из текста и возвращает временный URL аудиофайла.

Параметры:

Параметр Описание
Текст Текст для озвучивания
Голос Один из: "eve" (энергичный), "ara" (тёплый), "rex" (профессиональный), "sal" (плавный), "leo" (авторитетный)
Язык ISO-код языка (или "auto" для автоопределения)
Формат Аудиоформат: "mp3", "wav", "pcm", "mulaw"

Результирующие переменные:

  • "{prefix}.url" — временный URL аудиофайла (действителен 24 часа)

Файл автоматически удаляется через 24 часа после генерации.


Получить список моделей ("list_models")

Получает актуальный список доступных моделей Grok.

Результирующие переменные:

  • "{prefix}" — массив объектов с полями "id" и "created"

Примеры моделей

Модель Назначение
"grok-3" Флагманская языковая модель — тексты, чат
"grok-3-mini" Лёгкая и быстрая — короткие задачи, реакции
"grok-4.20-reasoning" Vision + рассуждения — анализ изображений
"grok-imagine-image" Генерация изображений
"grok-imagine-video" Генерация видео

Актуальный список доступен через операцию «Получить список моделей».


Twilio

Отправка SMS-сообщений и проверка статуса доставки через Twilio.

Подключение

Вставьте учётные данные Twilio в формате JSON:

{
  "account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "auth_token": "ваш_auth_token"
}

Найдите Account SID и Auth Token в Twilio Console.


Отправить SMS

Параметр Описание
Номер получателя Номер телефона в формате E.164 (например +79161234567). Поддерживает {{переменные}}
Номер отправителя Ваш номер Twilio (например +15017122661). Поддерживает {{переменные}}
Текст сообщения Текст до 1600 символов. Поддерживает {{переменные}}

Результирующие переменные (при префиксе result):

Переменная Значение
{{result.sid}} SID отправленного сообщения
{{result.status}} Статус (queued, sent, delivered, failed и т.д.)
{{result.body}} Текст сообщения
{{result.to}} / {{result.from}} Номера получателя и отправителя
{{result.date_created}} Дата создания
{{result.error_code}} / {{result.error_message}} Код и текст ошибки доставки (пусто, если ошибки нет)
{{result.num_segments}} Количество SMS-сегментов
{{result.price}} / {{result.price_unit}} Стоимость отправки и валюта

Получить статус сообщения

Параметр Описание
SID сообщения SID сообщения для запроса (например {{result.sid}} из «Отправить SMS»). Поддерживает {{переменные}}

Результирующие переменные — те же, что у «Отправить SMS», с актуальным статусом доставки ({{result.status}}, {{result.error_code}} и т.д.).

SMS доставляется не мгновенно: сразу после отправки статус обычно queued. Запросите статус позже, чтобы увидеть delivered или ошибку.


Airtable

Чтение и управление записями, таблицами и базами в Airtable.

Подключение

Создайте Personal Access Token на airtable.com/create/tokens и вставьте его в поле подключения. Необходимые разрешения (scopes): schema.bases:read, data.records:read, data.records:write.

Общие параметры операций:

Параметр Описание
ID базы Идентификатор базы Airtable (appXXXXXXXXXXXXXX). Поддерживает {{переменные}}
Таблица ID или название таблицы (например tblXXXXXX или Contacts). Поддерживает {{переменные}}
Автоматическое приведение типов Если включено, Airtable попытается преобразовать строковые значения к нужному типу поля

Получить список баз

Параметров нет — возвращает базы, доступные токену.

Переменная Значение
{{result}} Массив баз
{{result.count}} Количество баз
{{result.N.id}} / {{result.N.name}} ID и название N-й базы (N — с 0)

Получить схему базы

Параметр Описание
ID базы База, схему которой нужно получить

Результат: {{result}} — массив таблиц базы; {{result.count}}, {{result.N.id}}, {{result.N.name}}, {{result.N.fields}} (JSON-описание полей N-й таблицы).


Создать запись

Параметр Описание
ID базы, Таблица См. общие параметры
Поля Список пар «Название поля → Значение»; поддерживает {{переменные}}
Автоматическое приведение типов Необязательно

Результирующие переменные:

Переменная Значение
{{result.id}} ID созданной записи (recXXXXXXXXXXXXXX)
{{result.createdTime}} Время создания (ISO 8601)
{{result.fields.НазваниеПоля}} Значение каждого поля записи

Создать или обновить запись

Ищет запись по совпадению значений в указанных полях. Если найдена — обновляет, иначе создаёт новую.

Параметр Описание
ID базы, Таблица, Поля Как у «Создать запись»
Поля для сопоставления Названия полей через запятую для поиска существующих записей (например Email,Name). Поддерживает {{переменные}}

Результирующие переменные: те же, что у «Создать запись», плюс:

Переменная Значение
{{result.createdCount}} Количество созданных записей (0 или 1)
{{result.updatedCount}} Количество обновлённых записей (0 или 1)

Удалить запись

Параметр Описание
ID базы, Таблица См. общие параметры
ID записи Идентификатор записи Airtable (recXXXXXXXXXXXXXX). Поддерживает {{переменные}}

Результирующие переменные: {{result.deleted}}true/false · {{result.id}} — ID удалённой записи.


Получить запись

Параметр Описание
ID базы, Таблица См. общие параметры
ID записи Идентификатор записи. Поддерживает {{переменные}}

Результирующие переменные: {{result.id}}, {{result.createdTime}}, {{result.fields.НазваниеПоля}}.


Поиск записей

Параметр Описание
ID базы, Таблица См. общие параметры
Формула фильтра Формула Airtable для фильтрации записей (например {Status}='Active'). Поддерживает {{переменные}}
Представление (доп.) ID или название вида для ограничения выборки
Максимум записей (доп.) По умолчанию 100. Поддерживает {{переменные}}

Результирующие переменные:

Переменная Значение
{{result}} Массив найденных записей
{{result.count}} Количество записей
{{result.N.id}} / {{result.N.createdTime}} ID и время создания N-й записи
{{result.N.fields.НазваниеПоля}} Значение поля N-й записи

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

Параметр Описание
ID базы, Таблица См. общие параметры
ID записи Запись для обновления. Поддерживает {{переменные}}
Поля Пары «Название поля → Новое значение»; обновляются только указанные поля

Результирующие переменные: {{result.id}}, {{result.createdTime}}, {{result.fields.НазваниеПоля}}.


HubSpot

Управление контактами, сделками и компаниями в HubSpot CRM.

Подключение

Получите Access Token вашего Private App в HubSpot: Настройки → Интеграции → Private Apps → Создать приложение. Токен начинается с pat- — вставьте его в поле подключения.


Создать или обновить контакт

Ищет контакт по email или телефону. Если найден — обновляет, иначе создаёт новый.

Параметр Описание
Искать по Email или Телефон
Email Email для поиска или установки (напр. john@acme.com). Поддерживает {{переменные}}
Телефон Телефон для поиска или установки. Поддерживает {{переменные}}
Имя / Фамилия Поддерживает {{переменные}}
Стадия жизненного цикла lifecyclestage контакта
Дополнительные свойства Имя свойства HubSpot → значение. Поддерживает {{переменные}}

Результирующие переменные:

Переменная Значение
{{result.action}} created или updated
{{result.id}} ID контакта
{{result.email}} / {{result.phone}} Email и телефон
{{result.firstname}} / {{result.lastname}} Имя и фамилия
{{result.lifecyclestage}} Стадия жизненного цикла

Получить контакт

Параметр Описание
Искать по Email, Телефон или ID
Email / Телефон / ID контакта Значение для поиска. Поддерживает {{переменные}}
Возвращаемые свойства (доп.) Список свойств через запятую (напр. firstname,email,phone)

Результирующие переменные: те же, что у «Создать или обновить контакт» (без action). Если контакт не найден — переменные пустые.


Создать сделку

Параметр Описание
Название сделки Поддерживает {{переменные}}
Воронка ID воронки (напр. default). Найдите в Настройках HubSpot → Сделки → Воронки
Стадия сделки ID стадии (напр. appointmentscheduled)
Сумма Сумма сделки (число). Поддерживает {{переменные}}
Дата закрытия Ожидаемая дата закрытия (ГГГГ-ММ-ДД)
Связать с контактом (доп.) ID контакта для связи со сделкой
Связать с компанией (доп.) ID компании для связи со сделкой
Дополнительные свойства Имя свойства → значение

Результирующие переменные: {{result.id}}, {{result.dealname}}, {{result.pipeline}}, {{result.dealstage}}, {{result.amount}}.


Обновить стадию сделки

Параметр Описание
ID сделки ID сделки для обновления. Поддерживает {{переменные}}
Новая стадия ID стадии (напр. closedwon)
Воронка (доп.) ID воронки, если сделка переносится
Дополнительные обновления Доп. поля для обновления (свойство → значение)

Результирующие переменные: {{result.id}}, {{result.dealstage}}.


Найти или создать компанию

Параметр Описание
Искать по Домен или Название
Домен Домен сайта компании (напр. acme.com). Поддерживает {{переменные}}
Название компании Название для поиска или создания
Создать если не найдена Если выключено и компания не найдена — вернётся {{result.action}} = not_found
Дополнительные свойства Имя свойства → значение

Результирующие переменные:

Переменная Значение
{{result.action}} found, created или not_found
{{result.id}} ID компании (пусто при not_found)
{{result.name}} / {{result.domain}} Название и домен

Связать контакт с компанией

Параметр Описание
ID контакта Поддерживает {{переменные}}
ID компании Поддерживает {{переменные}}

Результирующая переменная: {{result.success}} = true.


Создать заметку

Параметр Описание
Текст заметки Поддерживает {{переменные}}
ID контакта / ID сделки / ID компании (доп.) Объекты, к которым привязывается заметка

Результирующая переменная: {{result.id}} — ID созданной заметки.


Создать звонок

Параметр Описание
Название звонка Заголовок записи о звонке
Заметки по звонку Описание или заметки о звонке
Время звонка ISO 8601 дата-время (напр. 2024-01-15T10:00:00Z)
Длительность (мс) Например 60000 = 1 мин
Результат Статус звонка
ID контакта / ID сделки (доп.) Объекты для привязки

Результирующая переменная: {{result.id}} — ID записи о звонке.


Создать встречу

Параметр Описание
Название встречи Заголовок встречи
Заметки к встрече Описание или заметки
Время начала / Время окончания ISO 8601 (напр. 2024-01-15T10:00:00Z)
ID контакта / ID сделки (доп.) Объекты для привязки

Результирующая переменная: {{result.id}} — ID встречи.


Поиск объектов CRM

Параметр Описание
Тип объекта contacts, companies, deals и др.
Фильтры поиска Условия (свойство, оператор, значение); операторы как у Supabase: =, !=, <, <=, >, >=, like, ilike
Логика фильтров И — все условия; ИЛИ — хотя бы одно
Возвращаемые свойства (доп.) Список свойств через запятую (напр. firstname,email)
Сортировка по (доп.) Свойство для сортировки (напр. createdate)
Макс. результатов (доп.) По умолчанию 10, максимум 200

Результирующие переменные:

Переменная Значение
{{result.count}} Количество возвращённых объектов
{{result.total}} Общее количество совпадений в HubSpot
{{result.N.id}} ID N-го объекта (N — с 0)
{{result.N.свойство}} Значение каждого запрошенного свойства

Salesforce

Управление лидами, контактами, аккаунтами, сделками и задачами в Salesforce CRM.

Подключение

Вставьте учётные данные Salesforce Connected App в формате JSON:

{
  "login_url": "https://login.salesforce.com",
  "client_id": "ваш_consumer_key",
  "client_secret": "ваш_consumer_secret",
  "username": "api@yourcompany.com",
  "password": "ПарольТокенБезопасности"
}

Создайте Connected App в Setup → App Manager (включите OAuth и Username-Password flow).

Примечание: «password» = ваш пароль + токен безопасности (без разделителя). Для sandbox используйте https://test.salesforce.com в качестве login_url.


Создать или обновить лид

Ищет лид по email, телефону или ID. Если найден — обновляет, иначе создаёт новый.

Параметр Описание
Поиск по Email, Телефон или По ID
Email / Телефон Используются для поиска и установки поля. Поддерживает {{переменные}}
ID лида ID лида в Salesforce (начинается с 00Q)
Имя / Фамилия / Компания Поддерживает {{переменные}}
Статус Статус лида
Источник лида LeadSource
Дополнительные поля Имя поля → Значение. Поддерживает {{переменные}}

Результирующие переменные:

Переменная Значение
{{result.id}} ID лида
{{result.action}} created или updated
{{result.email}} / {{result.firstname}} / {{result.lastname}} / {{result.company}} Данные лида

Конвертировать лид

Конвертирует лид в контакт + аккаунт (и опционально сделку).

Параметр Описание
ID лида ID лида в Salesforce (начинается с 00Q). Поддерживает {{переменные}}
Статус конвертации Статус лида после конвертации (по умолчанию Closed - Converted)
Название сделки (доп.) Название новой Opportunity
Не создавать Opportunity Конвертировать без создания сделки
Отправить уведомление по email Уведомить владельца записи

Результирующие переменные:

Переменная Значение
{{result.contact_id}} ID созданного контакта
{{result.account_id}} ID созданного аккаунта
{{result.opportunity_id}} ID созданной сделки (пусто, если не создавалась)
{{result.success}} true / false

Создать или обновить контакт

Параметр Описание
Поиск по Email, Телефон или По ID
Email / Телефон / ID контакта ID контакта начинается с 003. Поддерживает {{переменные}}
Имя / Фамилия Поддерживает {{переменные}}
ID аккаунта Привязка к аккаунту (начинается с 001)
Дополнительные поля Имя поля → Значение

Результирующие переменные: {{result.id}}, {{result.action}} (created/updated), {{result.email}}, {{result.firstname}}, {{result.lastname}}.


Создать сделку

Параметр Описание
Название сделки Поддерживает {{переменные}}
ID аккаунта ID аккаунта в Salesforce (начинается с 001)
Стадия Стадия сделки (StageName)
Дата закрытия Дата в формате YYYY-MM-DD. Поддерживает {{переменные}}
Сумма Числовая сумма (например 5000)
Описание Поддерживает {{переменные}}
Дополнительные поля Имя поля → Значение

Результирующие переменные: {{result.id}}, {{result.name}}, {{result.stagename}}, {{result.closedate}}, {{result.amount}}.


Обновить стадию сделки

Параметр Описание
ID сделки ID сделки в Salesforce (начинается с 006). Поддерживает {{переменные}}
Стадия Новая стадия (StageName)
Дата закрытия (доп.) YYYY-MM-DD
Дополнительные обновления Имя поля → Значение

Результирующие переменные: {{result.id}}, {{result.stagename}}.


Создать или обновить аккаунт

Параметр Описание
Поиск по По названию или По сайту
Название Название компании. Поддерживает {{переменные}}
Сайт Домен сайта (например acme.com). Используется для поиска
Телефон Поддерживает {{переменные}}
Город (BillingCity) / Страна (BillingCountry) Адресные поля
Дополнительные поля Имя поля → Значение

Результирующие переменные: {{result.id}}, {{result.action}} (created/updated), {{result.name}}.


Создать задачу / Записать активность

Параметр Описание
Тема Заголовок задачи. Поддерживает {{переменные}}
Тип Task, Call или Email (Call/Email записываются как активности)
Who ID ID лида или контакта для привязки задачи (WhoId)
What ID ID аккаунта или сделки для привязки задачи (WhatId)
Описание Поддерживает {{переменные}}
Дата активности Дата выполнения в формате YYYY-MM-DD
Статус / Приоритет Стандартные поля задачи Salesforce

Результирующая переменная: {{result.id}} — ID созданной задачи.


Поиск записей (SOQL)

Параметр Описание
SOQL-запрос Полный SOQL-запрос, например SELECT Id, Name FROM Lead WHERE Email = '{{email}}' LIMIT 10. Поддерживает {{переменные}}

Результирующие переменные:

Переменная Значение
{{result.count}} Количество возвращённых записей
{{result.total}} Общее количество совпадений (totalSize)
{{result.N.Поле}} Значение каждого выбранного поля N-й записи (N — с 0), например {{result.0.Name}}

Mailchimp

Управление подписчиками, тегами и событиями автоматизации в Mailchimp.

Подключение

Вставьте ваш API-ключ Mailchimp. Найдите его в Account → Extras → API keys. Ключ заканчивается кодом дата-центра, например -us21.


Добавить или обновить подписчика

Добавляет email в аудиторию или обновляет существующего подписчика (поиск по email).

Параметр Описание
ID аудитории ID списка аудитории. Найдите в Audience → Settings → Audience name and defaults. Поддерживает {{переменные}}
Email Email-адрес подписчика. Поддерживает {{переменные}}
Статус Subscribed — добавляет сразу. Pending — отправляет письмо подтверждения (double opt-in, рекомендуется для соответствия US/EU законам)
Merge-поля Merge-тег → Значение. Стандартные: FNAME, LNAME, PHONE, BIRTHDAY. Поддерживает {{переменные}}

Результирующие переменные:

Переменная Значение
{{result.id}} ID подписчика (subscriber hash)
{{result.email_address}} Email подписчика
{{result.status}} Итоговый статус (subscribed, pending и т.д.)
{{result.web_id}} ID для веб-интерфейса Mailchimp

Добавить или удалить теги

Параметр Описание
ID аудитории ID списка аудитории
Email Email подписчика. Поддерживает {{переменные}}
Теги для добавления Теги через запятую (например VIP, Рассылка). Теги создаются автоматически. Поддерживает {{переменные}}
Теги для удаления Теги через запятую. Поддерживает {{переменные}}

Результирующая переменная: {{result.email_address}}.


Создать событие подписчика

Отправляет пользовательское событие — им можно запускать автоматизации Customer Journey.

Параметр Описание
ID аудитории ID списка аудитории
Email Email подписчика. Поддерживает {{переменные}}
Название события Будет приведено к нижнему регистру, макс. 30 символов. Поддерживает {{переменные}}
Свойства события Пары ключ → Значение, передаваемые вместе с событием. Поддерживает {{переменные}}

Результирующие переменные: {{result.email_address}} · {{result.event_name}} — нормализованное название события.