# Pipedream и Baserow - автоматизация через вебхуки и REST API

> Вебхуки Baserow передают события о строках в Pipedream, где бесплатный REST API и код на Node.js или Python собирают workflow без серверов.

Source: https://opennix.org/docs/baserow/integrations/pipedream/


Pipedream подключается к Baserow через бесплатный REST API и вебхуки: вебхук Baserow запускает workflow при изменении строк, а шаги на Node.js или Python обращаются к API Baserow и передают данные в тысячи других сервисов - без выделенного сервера и без платного шлюза.

## Обзор

Pipedream позволяет автоматизировать процессы, связанные с Baserow, не управляя собственными серверами. Когда данные в таблицах Baserow меняются, workflow Pipedream может автоматически выполнить действие в другом сервисе - и наоборот. В шагах workflow можно писать код на Node.js или Python, чтобы преобразовывать данные, применять бизнес-логику и связывать Baserow более чем с 4000 сервисов.

## Что можно делать

| Возможность | Описание |
|---|---|
| **Триггеры по вебхуку** | Запуск workflow при создании, изменении или удалении строк Baserow |
| **Действия через API** | Использование любого эндпоинта Baserow API в Node.js или Python |
| **Преобразование данных** | Сопоставление и трансформация данных между Baserow и другими сервисами |
| **No-code и код** | Сборка workflow из визуальных шагов или написание собственного кода |

## Поддерживаемые операции в Pipedream

### Триггер

- Новая или изменённая строка

### Пользовательские действия

- Произвольный запрос к API Baserow
- Использование любого API Baserow в Node.js
- Использование любого API Baserow в Python

### Готовые действия

- Создать строку
- Удалить строку
- Получить строку
- Получить список строк
- Обновить строку

## Предварительные требования

Прежде чем начать, убедитесь, что у вас есть:

- аккаунт [Pipedream](https://pipedream.com);
- аккаунт Baserow как минимум с одной базой данных и таблицей;
- [токен API Baserow](/docs/baserow/webhook-api/personal-api-tokens/) из настроек аккаунта.

## Как настроить workflow Baserow в Pipedream

### Шаг 1. Создайте новый workflow

В Pipedream workflow создаются внутри проектов. Создайте новый проект, а затем новый workflow внутри него.

Настройте синхронизацию с GitHub для проекта, чтобы вести версионирование на основе git: разрабатывать в ветках, коммитить изменения или подтягивать их из GitHub, просматривать diff и открывать pull request.

### Шаг 2. Настройте триггер

Далее Pipedream откроет конструктор workflow и предложит добавить триггер. Клик по триггеру открывает меню выбора: выберите триггер Baserow **Новая или изменённая строка** либо **New HTTP / Webhook Requests**.

![Выбор триггера Baserow в конструкторе workflow Pipedream](/images/baserow/integrations/pipedream-trigger-selection.jpg)

### Шаг 3. Авторизуйтесь в Baserow

Для новой связки понадобится сгенерировать [токен API](/docs/baserow/webhook-api/personal-api-tokens/) - Pipedream надёжно сохранит его для дальнейшего использования.

Нажмите **Connect Account** и выберите Baserow. Введите [токен API Baserow](/docs/baserow/webhook-api/personal-api-tokens/).

По умолчанию используется адрес `https://api.baserow.io/api`. Если Baserow развёрнут самостоятельно, замените `https://api.baserow.io/api` на базовый URL своего экземпляра, например `https://my-domain.com/api`.

Для настройки нового веб-запроса Pipedream сгенерирует уникальный URL, который будет запускать этот workflow. При необходимости настройте данные события, ответ и фильтры. Скопируйте сгенерированный URL вебхука - он понадобится в Baserow. После публикации workflow будет запускаться при каждом обращении к этому URL.

### Шаг 4. Подключите вебхук Baserow к Pipedream

Для нового веб-запроса сгенерируйте тестовое событие, чтобы было удобнее собирать workflow.

В Baserow откройте нужную базу данных и перейдите к таблице, за которой нужно наблюдать. Создайте [вебхук](/docs/baserow/webhook-api/webhooks/) и укажите в нём URL из Pipedream. Выберите, какие события будут запускать вебхук (создание, изменение, удаление). Проверьте вебхук, создав или изменив строку в Baserow.

Подробнее о настройке вебхуков - в статье [«Вебхуки»](/docs/baserow/webhook-api/webhooks/).

### Шаг 5. Проверьте данные события от вебхука

Вернитесь в Pipedream и выберите входящее событие в списке. Разверните объект `body`, чтобы увидеть данные, отправленные из Baserow.

Pipedream автоматически выберет и покажет содержимое выбранного события. Убедитесь, что сообщение получено внутри `body` события - эти данные будут доступны на всех последующих шагах workflow.

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

![Развёрнутый объект body входящего события в Pipedream](/images/baserow/integrations/pipedream-webhook-event-body.png)

### Шаг 6. Добавьте действие Baserow

Нажмите **+**, чтобы добавить новый шаг. Найдите и выберите приложение **Baserow**.

Выберите любое пользовательское или готовое действие Baserow.

![Список доступных действий Baserow в Pipedream](/images/baserow/integrations/pipedream-action-list.jpg)

### Используйте любой API Baserow в Node.js

Выберите действие **Использование любого API Baserow в Node.js**, чтобы подключить аккаунт и настроить произвольный запрос к API Baserow.

Шаги с кодом в Pipedream определяют логику workflow и позволяют писать любой код на Node.js. Конструктор workflow принимает текстовый ввод для заполнения шагов.

Нажмите **Refresh fields**, чтобы сформировать параметры на основе предыдущих шагов.

Используйте обозреватель объектов, чтобы сопоставить данные из `steps.trigger.event.body`. Пишите вызов API, обращаясь к динамическим значениям через `this.propName`. Замените `[Table_ID]` на реальный идентификатор таблицы Baserow.

![Итоговая настройка шага с кодом Node.js в Pipedream](/images/baserow/integrations/pipedream-nodejs-code-step.png)

### Шаг 8. Проверьте и опубликуйте workflow

Когда настройка завершена, нажмите **Test**, чтобы проверить этот шаг. После завершения теста появится сообщение об успехе и сводка выполненного действия.

Затем вернитесь к workflow в Pipedream и нажмите **Deploy**, чтобы workflow запускался при каждом триггерном событии.

Чтобы убедиться, что workflow работает как ожидается, отправьте новый запрос. Событие сразу появится в списке событий - выберите его, чтобы изучить выполнение workflow.

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

**Какие триггеры можно использовать с Baserow в Pipedream?** Workflow Pipedream можно запускать из Baserow через триггер Baserow или через вебхуки - при создании, изменении или удалении строк. Pipedream также поддерживает триггеры по расписанию (cron) и по HTTP-запросу.

**Обязательно ли писать код, чтобы использовать Pipedream с Baserow?** Нет. В Pipedream есть готовые действия для типовых задач. Но шаги с собственным кодом на Node.js или Python дают полный контроль над преобразованием данных и вызовами API.

**Как найти идентификатор таблицы Baserow?** Откройте таблицу в Baserow и посмотрите на адрес страницы - идентификатор таблицы указан после `/table/` в URL. Также список всех таблиц можно получить через [документацию API Baserow](/docs/baserow/webhook-api/database-api/).

**Можно ли подключить несколько баз данных Baserow в одном workflow?** Да. В один workflow можно добавить несколько шагов Baserow, каждый со своим токеном API или общим токеном - в зависимости от того, как устроено ваше рабочее пространство.

## Похожие материалы

- [Вебхуки в Baserow](/docs/baserow/webhook-api/webhooks/)
- [Токены API Baserow](/docs/baserow/webhook-api/personal-api-tokens/)
- [Документация по API базы данных Baserow](/docs/baserow/webhook-api/database-api/)
- [Интеграция с Zapier](/docs/baserow/integrations/zapier/)
- [Интеграция с Make](/docs/baserow/integrations/make/)
- [Интеграция с n8n](/docs/baserow/integrations/n8n/)

Следующий шаг - статья [«Интеграция с SureTriggers»](/docs/baserow/integrations/suretriggers-integration/): ещё один no-code способ связать Baserow с внешними сервисами через вебхуки.

