Тригери й відповідь
Флоу має рівно один тригер — саме він визначає, коли флоу запускається.
Вебхук
Кожен флоу з вебхук-тригером має власну адресу з токеном:
POST https://app.oxta.io/webhook/<id флоу>/<токен>
Вихід тригера — headers, query, body, method, path, timestamp. Читайте його за іменем тригера: {{ outputs.incoming.body.title }}.
Коли викликач чекає на відповідь
Типово вебхук відповідає {"ok": true} одразу, а флоу добігає у фоні. Якщо потрібна справжня відповідь, викликач просить її в самому запиті:
| Запит | Що буде |
|---|---|
| без сигналу | {"ok": true} одразу, флоу далі у фоні |
?wait=1 | чекаємо на вузол Response і віддаємо його |
Prefer: wait=10 | те саме, стандартом RFC 7240, і 10 секунд як межа |
X-Oxta-Wait: 1 | те саме, якщо адресу змінити не можна |
Prefer: respond-async | не чекати, навіть якщо є ?wait=1 |
Межа очікування — 15 секунд типово, максимум 30. Після неї викликач отримує 504, але флоу не переривається і добігає до кінця.
Відповідь формує вузол Response: статус, заголовки, тіло з {{виразами}}. Перша відповідь виграє — якщо Response є на кількох гілках, візьметься той, що виконався першим. Щоб віддати змістовну помилку, поставте Response на гілку error.
Форма
Тригер «Форма» запускає флоу з полів, які заповнює людина. У вузлі описуються поля: назва, підпис, тип (текст, багаторядковий текст, число, так/ні, вибір із варіантів, дата), обов'язковість. Форма відкривається на сторінці флоу «Запустити» (/flows/<id>/run) і в тестовому запуску в редакторі. Відповіді потрапляють у флоу як input.form.<назва>, уже приведені до типу: число буде числом, прапорець true або false, дата у форматі YYYY-MM-DD. Порожнє обов'язкове поле чи чужий варіант зупиняють запуск ще до старту, помилка показується під полем. Приклад: заявка на відпустку з полями «співробітник», «днів», «з дати» → Slack керівнику → рядок у Google Sheets. Форму поки бачить лише власник акаунта; публічні форми на сайтах з'являться пізніше.
Розклад
Крон-тригер приймає вираз із п'яти полів і зону IANA:
0 9 * * 1-5 о 9:00 у робочі дні
*/15 * * * * кожні 15 хвилин
0 0 1 * * першого числа щомісяця
Дрібніше за хвилину не буває. Зона типово UTC — якщо потрібен Київ, вкажіть Europe/Kyiv, інакше розклад поїде на дві-три години.
Обмеження частоти
У налаштуваннях флоу можна задати ліміт: скільком запитам дозволено пройти за вікно. Понад ліміт вебхук відповідає 429 із Retry-After. Без налаштування діє платформний дефолт: 60 запитів на хвилину на флоу. Додатково всі вебхуки одного акаунта разом не можуть перевищити 600 запитів на хвилину. Для флоу, адреса якого потрапляє в інтернет, варто задати жорсткіший ліміт.