# Интеграция Baserow с Tally - приём данных формы через вебхук

> Baserow принимает данные Tally-форм через вебхуки: разбираем настройку HTTP-триггера, сопоставление полей JSON и запасной способ через прямой вызов REST API.

Source: https://opennix.org/docs/baserow/integrations/tally-integration/


Каждая отправка формы Tally может автоматически создавать строку в таблице Baserow: Baserow принимает POST-запрос с JSON-данными через вебхук-триггер автоматизации, после чего действие «Создать строку» сопоставляет поля формы со столбцами таблицы; ниже описана пошаговая настройка обеих сторон, а также запасной вариант через прямой вызов REST API.

## Как это работает

Интеграция строится по схеме из трёх шагов:

1. **Триггер (Tally):** отправка формы генерирует HTTP POST-запрос с JSON-полезной нагрузкой.
2. **Слушатель (Baserow):** URL вебхука принимает этот запрос.
3. **Действие (Baserow):** данные JSON сопоставляются со столбцами таблицы.

## Часть 1. Настройка слушателя в Baserow

Создайте приёмник вебхука:

1. Откройте вкладку **Automations** в нужной таблице Baserow.
2. Создайте новый рабочий процесс.
3. Выберите триггер **«Receive an HTTP request (webhook)»**.
4. Задайте метку (например, «Incoming Tally Submissions»).
5. Укажите **POST** в качестве разрешённого HTTP-метода.
6. Скопируйте сгенерированный URL вебхука.

![Настройка слушателя вебхука в Baserow для приёма данных Tally](/images/baserow/integrations/tally-integration-baserow-listener-setup.png)

## Часть 2. Настройка вебхука в Tally

Настройте Tally на отправку данных:

1. Откройте опубликованную форму Tally и перейдите на вкладку **Integrations**.
2. Выберите **Connect to Webhooks**.
3. Вставьте URL вебхука Baserow в поле **Endpoint URL**.
4. По желанию добавьте секретный ключ подписи для безопасности (генерирует SHA256-хэш в заголовке **Tally-Signature**).
5. Сохраните интеграцию.

![Настройка вебхука Tally с URL-адресом эндпоинта Baserow](/images/baserow/integrations/tally-integration-webhook-configuration.png)

## Часть 3. Сопоставление данных

### Шаг 1. Получение образца данных

Отправьте тестовый ответ через форму Tally. Нажмите **«Test event»** в конструкторе автоматизации Baserow. Типичная структура JSON:

```json
{
  "data": {
    "formName": "Customer Feedback",
    "fields": [
      { "label": "Full Name", "value": "Jane Doe" },
      { "label": "Email", "value": "jane@example.com" }
    ]
  }
}
```

### Шаг 2. Создание действия «Создать строку»

Добавьте действие **«Create Row»**:

- Выберите целевую таблицу.
- Используйте синюю иконку «+», чтобы сопоставить поля JSON от Tally со столбцами Baserow.
- Пример: сопоставьте `fields[0].value` со столбцом **Name**.

## Альтернатива: прямой метод через API

Используйте бессерверную функцию или промежуточный сервис как мост между системами.

**API Tally:** REST-based, только HTTPS, базовый URL `https://api.tally.so`.

**Пример вызова API Baserow:**

```bash
curl -X POST "https://api.baserow.io/api/database/rows/table/{table_id}/?user_field_names=true" \
  -H "Authorization: Token YOUR_DATABASE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"Full Name": "Jane Doe", "Email": "jane@example.com"}'
```

Токен `YOUR_DATABASE_TOKEN` - это [database-токен (API-токен)](/docs/baserow/webhook-api/personal-api-tokens/) Baserow, который используется вместо личных данных для входа.

### Сравнение подходов

- **Автоматизации Baserow:** решение без кода, разбор данных выполняется прямо в интерфейсе.
- **Прямой API:** лучше подходит для сложной логики, требующей преобразования данных перед сохранением.

## Практический сценарий: обработка входящих заявок

Преимущества интеграции через вебхук:

- **Стабильность:** Tally повторяет неудачные запросы (через 5 минут, 30 минут и вплоть до суток).
- **Эффективность:** нет ограничений частоты запросов, характерных для опроса API (100 запросов в минуту).
- **Автоматизация:** запускает дополнительные действия, например уведомления в Slack или обновление CRM.

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

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

**Что делать, если структура формы Tally меняется?** Обновите сопоставление полей в действии «Create Row» вручную - автоматического пересопоставления при изменении формы нет, поэтому после редактирования формы стоит повторно отправить тестовое событие.

**Можно ли использовать этот же подход для других форм, а не только Tally?** Да - любой сервис, умеющий отправлять HTTP POST-запросы с JSON, может работать со «слушателем» Baserow тем же образом; принцип «триггер → слушатель → действие» универсален.

Смежные темы - [обзор Baserow REST API](/docs/baserow/webhook-api/database-api/) для прямых вызовов без вебхуков и [интеграция с Power Automate](/docs/baserow/integrations/power-automate-integration/) как альтернативный способ подключения форм и таблиц.

