Heli + Zapier: запрос к LLM через Webhooks и API by Zapier

В Zapier нет отдельного приложения Heli, но оно и не нужно: Heli принимает стандартные запросы OpenAI Chat Completions, а Zapier умеет отправлять произвольные HTTP-запросы. Понадобятся ключ sk-heli- из вкладки «Ключи» (после регистрации на getheli.ru) и платный тариф или пробный период Zapier: API by Zapier и Webhooks by Zapier — премиум-приложения.

Вариант 1: API by Zapier

API by Zapier хранит ключ в подключении (connection), а не в поле шага, поэтому для запросов с ключом Zapier рекомендует именно его. Создайте подключение с аутентификацией по API-ключу в статическом заголовке Authorization со значением Bearer sk-heli-…, затем добавьте в Zap действие API Request: метод POST, URL https://getheli.ru/v1/chat/completions, тело — JSON запроса. Если тело — валидный JSON-объект, Content-Type application/json подставится автоматически.

Вариант 2: Webhooks by Zapier

Обычное действие POST собирает тело из пар ключ-значение и плохо подходит для вложенного массива messages. Учтите, что ключ в полях Webhooks by Zapier хранится открытым текстом и виден всем, у кого есть доступ к Zap.

  • Действие Custom Request, Method: POST, URL: https://getheli.ru/v1/chat/completions.
  • Headers: Authorization — Bearer sk-heli-…, Content-Type — application/json.
  • Data: JSON запроса целиком. Custom Request отправляет его как есть, без разбора и форматирования.
code
{
  "model": "openai/gpt-5.4-mini",
  "messages": [
    {"role": "system", "content": "Классифицируй обращение: продажи, поддержка или спам. Ответь одним словом."},
    {"role": "user", "content": "{{текст письма из предыдущего шага}}"}
  ],
  "max_tokens": 20
}

Экранирование и разбор ответа

Главная ловушка — данные из предыдущих шагов. Если в тексте письма есть кавычки или переносы строк, после подстановки JSON станет невалидным и Heli вернёт ошибку 400. Надёжнее собрать тело в шаге Code by Zapier: в JavaScript функция JSON.stringify сама экранирует текст, а готовую строку передайте в поле Data или Body.

Ответ приходит в формате OpenAI: текст модели лежит в choices[0].message.content. Zapier разбирает JSON-ответ на поля, и в следующих шагах их можно выбрать из списка, например чтобы записать класс обращения в Google Sheets или отправить его в Slack. В API by Zapier нужное поле можно извлечь выражением JQ. При ошибке Heli отвечает JSON с полем error.message — его видно в истории запусков Zap.

JSON mode и Structured Outputs

Расход и альтернативы

Каждый запуск Zap — отдельный запрос к модели. Ограничьте max_tokens, а в кабинете Heli задайте ключу Zapier бюджет во вкладке «Лимиты». Если сценариев много или нужен self-hosted вариант, посмотрите n8n и Make: в n8n Heli вызывается узлом HTTP Request, в Make — модулем HTTP.

Heli + n8n и Make

Сценарий Make с Heli

Попробуйте Heli

Ключ sk-heli- появляется после подтверждения почты. Через Google и Яндекс — сразу в кабинете.

Документация API · Модели и цены

Читайте также