В 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 отправляет его как есть, без разбора и форматирования.
{
"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.
Расход и альтернативы
Каждый запуск Zap — отдельный запрос к модели. Ограничьте max_tokens, а в кабинете Heli задайте ключу Zapier бюджет во вкладке «Лимиты». Если сценариев много или нужен self-hosted вариант, посмотрите n8n и Make: в n8n Heli вызывается узлом HTTP Request, в Make — модулем HTTP.
Попробуйте Heli
Ключ sk-heli- появляется после подтверждения почты. Через Google и Яндекс — сразу в кабинете.