---
title: "Що таке секрети для сценаріїв?"
description: "Зашифроване сховище секретів для Send Request і custom actions: навіщо воно, що можна зберігати і як це пов’язано з Action Jail."
---

# Що таке секрети для сценаріїв?

**Секрети для сценаріїв** — зашифроване сховище на рівні інстансу для секретів, які потрібні **діям у сценаріях** (передусім HTTP-запити Send Request і custom actions з Бібліотеки дій).

## Навіщо окреме сховище

Раніше токени та паролі часто зберігали в параметрах нод, константах бота або коді custom actions. Це ускладнювало:

- **Ротацію** — доводилось шукати ключ у всіх місцях.
- **Експорт/імпорт** — секрети могли потрапити в JSON сценарію.
- **Контроль доступу** — важко обмежити, хто бачить ключ у відкритому вигляді.

Тепер сценарій зберігає **посилання** на запис секрету. Розшифрування відбувається **лише на сервері** під час виконання дії.

## Що можна зберігати

Типи записів у v1:

| Тип | Типове використання |
|-----|---------------------|
| Bearer | Authorization: Bearer … |
| Basic | Login + password |
| API key | Ключ у header, query або body |
| Custom headers | Довільні секретні заголовки |
| OAuth2 client credentials | token_url, client_id, client_secret |
| SMTP | host, port, user, password |
| Telegram bot | bot token |
| HMAC secret | підпис запитів |
| Generic secret | лише root; довільні поля для custom actions |

## Чого тут немає (v1)

- Токени **каналів** (Telegram-бот як канал, Viber, WhatsApp тощо).
- Ключі **Mailgun** і **AI-провайдерів**.
- OAuth-акаунти **пошти** (Gmail/Outlook).
- Плейсхолдери на кшталт `{{secrets.NAME}}` у текстах сценарію.
- Автоматичне перенесення всіх старих constants у сховище секретів.

Ці облікові дані залишаються у своїх розділах продукту.

## Як це пов’язано з Send Request

1. Адміністратор створює запис у **Налаштування → Секрети для сценаріїв**.
2. Інтегратор у Scenario Builder у ноді **Send Request** вставляє посилання на секрет у URL, заголовки або body (**Вставити посилання на секрет**, **Вставити auth header**).
3. У сценарії зберігається текстовий маркер посилання, не значення секрету.
4. Старі ноди з полем **Credential** (список) або Basic/Bearer **продовжують працювати** без змін.

## Custom actions (Action Jail)

- Параметри типу **Credential** у JSON-конфігу дії — інтегратор обирає запис зі списку в Scenario Builder без вводу секрету вручну.
- У коді custom action автор викликає **серверні helpers** для отримання заголовків або окремих полів секрету під час виконання — значення не показуються в редакторі. Готові фрагменти коду є в **Секрети для сценаріїв → Сканувати застарілі секрети** (вкладка **Кастомні дії (Action Jail)**).
- Якщо параметри дії містять HTTP-поля з маркерами посилання (як у Send Request), автор **явно** обробляє їх перед відправкою запиту — автоматично це працює лише в ноді **Send Request**.
- Детальніше: [Використати секрет у custom action Action Jail](/uk/actionjail/how-to/use-saved-credential-in-custom-action.md).

## Безпека та права

- Список у UI показує лише **метадані** і маскований зразок (`Bearer ***`).
- **Дозволені споживачі** обмежує, які дії можуть використати запис (наприклад, лише Send Request).
- **Видалення** заблоковано, поки запис використовується в сценарії (включно з inline-посиланнями).
- Можливість **увімкнена адміністратором інстансу**; без цього вкладка і кнопки вставки не з’являються.

## Імпорт сценаріїв

При імпорті система намагається знайти запис з таким самим **slug** на цільовому інстансі. Inline-маркери та legacy-посилання за slug зіставляються по slug. Якщо запису немає — **попередження**; створіть запис вручну. Майстра автоматичного мапінгу між інстансами немає.

## Пов’язане

- [Керувати секретами для сценаріїв](/uk/settings/how-to/manage-action-credentials.md)
- [Використати секрет у Send Request](/uk/scenariobuilder/how-to/use-saved-credential-in-send-request.md)
- [Використати секрет у custom action Action Jail](/uk/actionjail/how-to/use-saved-credential-in-custom-action.md)
