Интеграция Baserow и Power Automate: коннектор и API
Данные в таблицах Baserow можно превратить в автоматические письма, обновления списков SharePoint или документы Word - для этого в Microsoft Power Automate собирается пользовательский коннектор, который обращается к свободному REST API Baserow через токен базы данных; ниже пошагово разобрана сборка коннектора, действия со строками, устранение типичных ошибок и два практических сценария, включая запуск по вебхуку вместо расписания.
Архитектура интеграции
Схема интеграции состоит из трёх частей:
- Baserow - хранит данные таблиц.
- Пользовательский коннектор - переводит действия Power Automate («создать строку», «получить строки») в вызовы REST API Baserow.
- Поток (Flow) - содержит саму логику автоматизации, например «если статус изменился на Done, отправить письмо».
Коннектор можно заменить обычными HTTP-запросами, но тогда каждый поток пришлось бы собирать вручную из JSON-кода. Пользовательский коннектор даёт готовое меню с полями для заполнения, которое можно переиспользовать во всей команде - это и есть его практическая ценность.
Что потребуется
- Аккаунт Baserow с database-токеном . Baserow различает действия с данными строк, для которых достаточно токена базы данных, и действия с пользователем или файлами, для которых нужен JWT-токен.
- Аккаунт Power Automate с правом создавать потоки.

Сборка коннектора через OpenAPI
Коннектор описывает операции и структуры данных API, чтобы Power Automate понимал, как их вызывать. Собрать его можно с нуля, как показано ниже, либо импортировать готовое OpenAPI-описание Baserow - файл должен быть меньше 1 МБ и в формате OpenAPI 2.0 (Swagger).
Шаг 1. Создание коннектора
- Откройте
make.powerautomate.comи войдите в аккаунт. - В боковой панели выберите Data → Custom Connectors (либо …More, если пункта не видно).
- Нажмите + New → Custom connector → Create from blank.
- Введите имя коннектора
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 scheme | HTTPS |
| Host | api.baserow.io (или домен самостоятельно размещённого инстанса) |
| Base URL | / |
Base URL - это отправная точка для всех вызовов API коннектора. Загрузите логотип Baserow (PNG или JPG, до 1 МБ) и переходите к разделу Security.

Шаг 3. Аутентификация
Baserow использует аутентификацию по API-ключу. В разделе Security выберите тип API Key и укажите:
| Параметр | Значение | Назначение |
|---|---|---|
| Parameter label | Authorization | Отображается пользователю при первом подключении |
| Parameter name | Authorization | Точное имя заголовка, которое ожидает Baserow |
| Parameter location | Header | Ключ передаётся в заголовке запроса |
После этого переходите к разделу Definition.

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

Шаг 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 должен показать зелёную галочку без ошибок.

Шаг 5. Проверка подключения
- Откройте вкладку Test.
- Нажмите New Connection.
- Введите ключ в формате
Token your_token_here(со словом «Token» и пробелом перед самим ключом). - Нажмите Create Connection, затем обновите вкладку Test.
- Выберите действие, укажите значение ID таблицы и нажмите Test operation.
Успешный запрос возвращает статус 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. Утренний отчёт по расписанию
- Создайте Scheduled Cloud Flow с повтором раз в сутки.
- Добавьте действие коннектора Baserow → List rows, укажите ID таблицы.
- При необходимости добавьте фильтр, например
filter__field_123__equal=Active. - Добавьте шаг Apply to each, в качестве входных данных выберите
resultsиз предыдущего шага. - Внутри цикла добавьте действие 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» : похожая схема с вебхуком, но со стороны формы, а не расписания.