> ## Documentation Index
> Fetch the complete documentation index at: https://help.teable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# При получении вебхука

> Запускайте рабочий процесс при получении HTTP-запроса от любой внешней системы

<Tip>Обратите внимание: все настройки триггера можно выполнить в ИИ-чате. Сообщите ИИ, что должен делать рабочий процесс, и он позаботится обо всём остальном.</Tip>

Этот триггер создаёт уникальный URL. Когда внешняя система отправляет на него HTTP-запрос POST, запускается рабочий процесс.

## Создание с помощью ИИ

Откройте ИИ-чат на правой боковой панели Таблицы и опишите, что вам нужно.

ИИ сделает всё необходимое: выберет подходящий триггер, сопоставит нужные Поля и автоматически настроит все действия.

Достаточно один раз описать цель — и рабочий процесс будет готов без ручной настройки.

**Пример:** *"При получении вебхука об оплате от Stripe создай запись о заказе."*

## Конфигурация

| Настройка   | Обязательно | Описание                                                                                                                                                       |
| ----------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Авторизация | Нет         | **Нет** (публичный доступ — запустить процесс может любой, у кого есть URL) или **Bearer-токен** (в заголовке запроса требуется автоматически созданный токен) |
| Ответ       | Нет         | **По умолчанию** (Teable возвращает собственное подтверждение) или **Пользовательский** (вы задаёте код состояния, тип содержимого и тело)                     |

## Настройка

1. Откройте Автоматизацию и добавьте новый триггер.
2. Выберите **При получении вебхука**.
3. Триггер сразу создаст уникальный **URL вебхука**. Скопируйте его: он понадобится для внешней системы.
4. Необязательно, но рекомендуется: нажмите **Создать токен**, чтобы включить авторизацию по Bearer-токену. Будет создан токен, который необходимо включать в заголовок `Authorization` входящих запросов.
5. Сохраните и активируйте Автоматизацию.
6. Настройте внешнюю систему на отправку POST-запроса на URL вебхука. Если вы включили авторизацию, добавьте токен в заголовок.
7. Отправьте тестовый запрос (см. примеры ниже). Проверьте историю запусков Автоматизации, чтобы убедиться, что данные получены правильно.
8. Добавьте шаги действий. Чтобы сослаться на значения из JSON-тела вебхука, нажмите **+** в любом Поле действия.

## Какие данные доступны следующим шагам

Всё JSON-тело входящего POST-запроса доступно в виде переменных. Например, если отправить:

```json theme={null}
{
  "order_id": "12345",
  "customer": "Алиса",
  "amount": 99.95
}
```

В действиях можно по отдельности ссылаться на `order_id`, `customer` и `amount`: нажмите **+** и перейдите к выходным Полям триггера.

Teable автоматически разбирает JSON и создаёт именованные переменные для каждого ключа верхнего уровня. Вложенные объекты также доступны.

## Настройка ответа

По умолчанию Teable отвечает на каждый входящий запрос собственным подтверждением. Некоторые платформы не принимают такой ответ: они проверяют URL подписки, отправляя контрольный запрос и требуя, чтобы конечная точка вернула значение одного из его Полей. Так работает Slack, поэтому его события смогут поступать в Автоматизацию только после того, как вебхук ответит на проверочный запрос.

На панели триггера переключите параметр **Ответ** со значения **По умолчанию** на **Пользовательский**:

| Поле                | Описание                                                                                         |
| ------------------- | ------------------------------------------------------------------------------------------------ |
| **Код состояния**   | Любой код от 200 до 299. По умолчанию — 200.                                                     |
| **Тип содержимого** | **JSON** или **неформатированный текст**. По умолчанию — JSON.                                   |
| **Тело ответа**     | Возвращаемый текст. Используйте `{{body.<path>}}`, чтобы вставить значения из входящего запроса. |

При выборе значения **Пользовательский** в тело автоматически подставляется ответ на проверочный запрос, необходимый большинству вызывающих систем:

```json theme={null}
{"challenge":"{{body.challenge}}"}
```

Пути внутри `{{ }}` совпадают с путями выходных переменных триггера, поэтому путь можно скопировать прямо из полезной нагрузки, уже полученной при тестовом запуске. Вложенные значения также поддерживаются, например `{{body.event.type}}`. Если JSON-тело не содержит указанного в пути значения, оно отображается как `null`, поэтому ответ остаётся допустимым JSON.

<Info>Slack не может отправить заголовок `Authorization`, поэтому при подключении оставьте для параметра **Авторизация** значение **Нет**. Если оба параметра включены одновременно, на панели триггера появится предупреждение.</Info>

В любой момент переключите параметр **Ответ** обратно на **По умолчанию**, чтобы Teable снова возвращал собственное подтверждение. Автоматизации, в которых этот параметр не менялся, продолжат работать без изменений.

## Тестирование вебхука

Проще всего выполнить тест с помощью `curl` в командной строке. Скопируйте настоящий URL с панели триггера, а не вводите его вручную: он содержит идентификаторы Базы и рабочего процесса.

**Без авторизации:**

```bash theme={null}
curl -X POST https://your-teable-instance.com/api/webhook/base/bseXXXXXXXXXXXX/workflow/wflXXXXXXXXXXXX \
  -H "Content-Type: application/json" \
  -d '{"test": true, "message": "Привет от curl"}'
```

**С авторизацией по Bearer-токену:**

```bash theme={null}
curl -X POST https://your-teable-instance.com/api/webhook/base/bseXXXXXXXXXXXX/workflow/wflXXXXXXXXXXXX \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-generated-token" \
  -d '{"order_id": "12345", "status": "оплачено"}'
```

**Отправка более сложных данных:**

```bash theme={null}
curl -X POST https://your-teable-instance.com/api/webhook/base/bseXXXXXXXXXXXX/workflow/wflXXXXXXXXXXXX \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-generated-token" \
  -d '{
    "event": "invoice.paid",
    "data": {
      "invoice_id": "INV-001",
      "amount": 250.00,
      "currency": "USD",
      "customer_email": "alice@example.com"
    }
  }'
```

После отправки тестового запроса проверьте историю запусков Автоматизации и убедитесь, что данные получены и разобраны правильно.

## Ограничения частоты запросов

| Область            | Ограничение           |
| ------------------ | --------------------- |
| На Базу            | 50 запросов в секунду |
| На рабочий процесс | 2 запроса в секунду   |

Запросы, превышающие ограничение частоты, получают HTTP-ответ 429. Если внешняя система отправляет запросы всплесками, предусмотрите повторные попытки с экспоненциальной задержкой.

## Рекомендации по безопасности

* **Всегда используйте авторизацию по Bearer-токену** для рабочих вебхуков. Публичный URL вебхука может запустить любой, кто его обнаружит.
* **Не раскрывайте URL вебхука.** Относитесь к нему как к паролю. Не сохраняйте его в общедоступных репозиториях и не публикуйте в открытых каналах.
* **Создайте токен заново**, если подозреваете, что он скомпрометирован. Новый токен можно создать на панели триггера в любое время.
* **Проверяйте данные в рабочем процессе.** Не считайте входящие данные заведомо корректными. С помощью фильтров или шагов со скриптом проверяйте наличие обязательных Полей до начала обработки.
* **Контролируйте историю запусков.** Регулярно проверяйте журналы запусков Автоматизации, чтобы выявлять неожиданные или неавторизованные запросы.

## Когда использовать

* **Получать события оплаты от Stripe или PayPal.** Настройте вебхук Stripe на отправку событий `invoice.paid` в Автоматизацию Teable, чтобы автоматически создавать или обновлять записи заказов.
* **Принимать отправленные формы с вашего сайта.** Направьте контактную форму или форму регистрации сайта на URL вебхука, чтобы создавать записи непосредственно в Teable.
* **Получать данные от устройств Интернета вещей.** Датчики и устройства, способные отправлять HTTP-запросы, могут передавать данные в Teable для мониторинга и оповещения.
* **Подключать конвейеры CI/CD.** Запускайте рабочие процессы при успешной или неудачной сборке: создавайте записи, отправляйте уведомления или обновляйте статус проекта.
* **Получать события из любого SaaS-инструмента.** Многие инструменты (GitHub, Jira, Shopify, Twilio и другие) поддерживают уведомления через вебхуки. Направьте их на вебхук Teable, чтобы автоматизировать рабочие процессы между инструментами.

## Советы

* Вебхук принимает только запросы **POST**. Запросы GET, PUT и с другими методами не запускают Автоматизацию.
* Всегда отправляйте заголовок `Content-Type: application/json`. Если тело не является допустимым JSON, триггер может разобрать данные неправильно.
* Если нужно отправлять данные из системы, которая не поддерживает пользовательские заголовки для авторизации Bearer, используйте публичный режим, но добавьте секретный ключ в JSON-тело и проверяйте его в рабочем процессе с помощью фильтра или скрипта.
* Для отладки можно использовать такие сервисы, как [webhook.site](https://webhook.site), чтобы проверить, что именно отправляет внешняя система, прежде чем направлять её запросы в Teable.

## Связанные разделы

* [Действие «HTTP-запрос»](/ru/basic/automation/actions/logic/http-request) — исходящий аналог: вызов внешних API из рабочего процесса
* [Запуск скрипта](/ru/basic/automation/ai/scripting/runscript) — для расширенной обработки полезной нагрузки вебхука
* [Действие «Цикл (пакетная обработка)»](/ru/basic/automation/actions/logic/loop-run) — обработка массивов в полезной нагрузке вебхука
