Интеграция Baserow и Power Automate: коннектор и API

Данные в таблицах Baserow можно превратить в автоматические письма, обновления списков SharePoint или документы Word - для этого в Microsoft Power Automate собирается пользовательский коннектор, который обращается к свободному REST API Baserow через токен базы данных; ниже пошагово разобрана сборка коннектора, действия со строками, устранение типичных ошибок и два практических сценария, включая запуск по вебхуку вместо расписания.

Архитектура интеграции

Схема интеграции состоит из трёх частей:

  1. Baserow - хранит данные таблиц.
  2. Пользовательский коннектор - переводит действия Power Automate («создать строку», «получить строки») в вызовы REST API Baserow.
  3. Поток (Flow) - содержит саму логику автоматизации, например «если статус изменился на Done, отправить письмо».

Коннектор можно заменить обычными HTTP-запросами, но тогда каждый поток пришлось бы собирать вручную из JSON-кода. Пользовательский коннектор даёт готовое меню с полями для заполнения, которое можно переиспользовать во всей команде - это и есть его практическая ценность.

Что потребуется

  • Аккаунт Baserow с database-токеном . Baserow различает действия с данными строк, для которых достаточно токена базы данных, и действия с пользователем или файлами, для которых нужен JWT-токен.
  • Аккаунт Power Automate с правом создавать потоки.

Схема интеграции Baserow и Power Automate через пользовательский коннектор

Сборка коннектора через OpenAPI

Коннектор описывает операции и структуры данных API, чтобы Power Automate понимал, как их вызывать. Собрать его можно с нуля, как показано ниже, либо импортировать готовое OpenAPI-описание Baserow - файл должен быть меньше 1 МБ и в формате OpenAPI 2.0 (Swagger).

Шаг 1. Создание коннектора

  1. Откройте make.powerautomate.com и войдите в аккаунт.
  2. В боковой панели выберите DataCustom Connectors (либо …More, если пункта не видно).
  3. Нажмите + NewCustom connectorCreate from blank.
  4. Введите имя коннектора Baserow и нажмите Continue.

Дальше нужно заполнить пять разделов мастера: General, Security, Definition, Code (необязательно) и Test.

Шаг 2. Общие данные

В разделе General задаются иконка, описание, схема, хост и базовый URL:

ПараметрЗначение
Description«Simplified Baserow API for Power Automate with Webhook Trigger and Row Actions»
Connector’s URL schemeHTTPS
Hostapi.baserow.io (или домен самостоятельно размещённого инстанса)
Base URL/

Base URL - это отправная точка для всех вызовов API коннектора. Загрузите логотип Baserow (PNG или JPG, до 1 МБ) и переходите к разделу Security.

Раздел General при создании пользовательского коннектора Baserow в Power Automate

Шаг 3. Аутентификация

Baserow использует аутентификацию по API-ключу. В разделе Security выберите тип API Key и укажите:

ПараметрЗначениеНазначение
Parameter labelAuthorizationОтображается пользователю при первом подключении
Parameter nameAuthorizationТочное имя заголовка, которое ожидает Baserow
Parameter locationHeaderКлюч передаётся в заголовке запроса

После этого переходите к разделу Definition.

Настройка аутентификации по API-ключу для коннектора Baserow в Power Automate

Раздел Definition показывает уже заданные действия, триггеры и общие параметры (references) коннектора - их удобно переиспользовать между несколькими действиями.

Раздел Definition пользовательского коннектора Baserow со списком действий

Шаг 4. Настройка действий

Действия определяют операции, доступные пользователю потока. Для каждого действия в разделе General указываются summary, description и operation ID, а видимость (Visibility) настраивается как none (обычное отображение), advanced (скрыто в подменю), internal (скрыто от пользователя) или important (показывается первым).

Базовый набор действий для работы со строками таблицы:

  • List tables (list_database_tables)
  • List fields (list_database_table_fields)
  • List rows (list_database_table_rows)
  • Get row (get_database_table_row)
  • Create row (create_database_table_row)
  • Update row (update_database_table_row)
  • Delete row (delete_database_table_row)

Для каждого действия выберите Import from sample и вставьте образец запроса и ответа из документации REST API Baserow - например, для списка строк:

https://api.baserow.io/api/database/rows/table/{table_id}/?user_field_names=true&page=1&size=100&search="string"

Параметр user_field_names=true важен отдельно: без него Baserow возвращает технические имена вида field_45 вместо читаемых названий столбцов. Аутентификация во всех действиях выполняется заголовком Authorization: Token your_token_here с database-токеном. После заполнения запроса и примера ответа мастер проверит определение - раздел Validation должен показать зелёную галочку без ошибок.

Определение действий List rows и Create row у коннектора Baserow

Шаг 5. Проверка подключения

  1. Откройте вкладку Test.
  2. Нажмите New Connection.
  3. Введите ключ в формате Token your_token_here (со словом «Token» и пробелом перед самим ключом).
  4. Нажмите Create Connection, затем обновите вкладку Test.
  5. Выберите действие, укажите значение ID таблицы и нажмите Test operation.

Успешный запрос возвращает статус 200. После этого коннектор готов к использованию в потоках, а также его можно передать другим участникам команды.

Тестовый запрос коннектора Baserow в Power Automate со статусом 200

Устранение неполадок

ПроблемаПричинаРешение
401 UnauthorizedВ подключении указан только сам ключ, без слова «Token»Отредактируйте подключение и укажите значение в формате Token [ключ]
Ошибка на шаге «Apply to Each»Для цикла выбран не тот списокВыберите results из динамического содержимого, а не тело ответа целиком
Названия столбцов нечитаемыНе задан параметр user_field_namesДобавьте user_field_names=true в запрос действия List rows
Таймаут или «Bad Gateway»Слишком большой объём данных в ответеДобавьте пагинацию или фильтр в действие List rows

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

  • Фильтруйте данные на стороне Baserow. Не забирайте в поток тысячи строк, чтобы отфильтровать их условием Power Automate - используйте фильтры REST API прямо в действии List rows (например, filter__Status__equal=Done), это экономит лимит действий (Action Credits).
  • Защищайте токен. Не публикуйте скриншоты потока, на которых виден API-ключ.
  • Используйте ID полей в критичных потоках. Параметр user_field_names=true удобен, но переименование столбца в Baserow ломает поток, который ищет поле по старому названию. Для критичных сценариев обращайтесь к полю по числовому ID (например, field_123), который не меняется при переименовании.

Практические сценарии

Сценарий 1. Утренний отчёт по расписанию

  1. Создайте Scheduled Cloud Flow с повтором раз в сутки.
  2. Добавьте действие коннектора BaserowList rows, укажите ID таблицы.
  3. При необходимости добавьте фильтр, например filter__field_123__equal=Active.
  4. Добавьте шаг Apply to each, в качестве входных данных выберите results из предыдущего шага.
  5. Внутри цикла добавьте действие Send an email (V2): тема и тело письма формируются из полей строки, например [Name] и [Status].

Сценарий 2. Мгновенный запуск через вебхук

Расписание подходит не всегда - когда нужна реакция сразу после создания строки, вместо опроса API используется вебхук Baserow :

Часть A. Подготовка Power Automate. Создайте Automated Cloud Flow с триггером When an HTTP request is received, сохраните поток и скопируйте сгенерированный URL для POST-запросов.

Часть B. Настройка Baserow. Откройте раздел Webhooks в боковой панели таблицы, создайте вебхук, вставьте URL из Power Automate, выберите метод POST и событие rows.created (или updated/deleted).

Часть C. Логика потока. Добавьте шаг Parse JSON, чтобы разобрать данные, которые прислал Baserow, а затем любые дальнейшие действия - например, отправку сообщения в Teams.

Часто задаваемые вопросы

Обязательно ли использовать пользовательский коннектор, а не обычный HTTP-запрос? Нет, действие «HTTP» в Power Automate тоже подключается к REST API Baserow , но каждый запрос придётся собирать вручную в JSON. Коннектор превращает это в готовое меню с полями и переиспользуется всей командой.

Чем токен базы данных отличается от JWT-токена в этой интеграции? Токен базы данных предназначен именно для действий со строками таблицы и используется во всех примерах выше; JWT-токен нужен только для операций с пользователем или файлами и получается через обычный вход в аккаунт.

Работает ли коннектор с самостоятельно размещённым (self-hosted) Baserow? Да - в разделе General коннектора достаточно указать домен своего инстанса вместо api.baserow.io, остальная настройка не меняется.

Что произойдёт, если переименовать столбец после настройки потока? Поток, использующий user_field_names=true, перестанет находить поле по старому названию и сломается - отсюда рекомендация использовать числовые ID полей для критичных сценариев.

Следующий шаг - статья «Интеграция Baserow с Tally» : похожая схема с вебхуком, но со стороны формы, а не расписания.

Проверено OpenNix LLC · Обновлено