Коннекторы
Подключайте приложение к сторонним сервисам: Slack, Resend, ElevenLabs. Учётные данные шифруются, действия выполняются с предварительной аутентификацией.
Коннекторы позволяют интегрировать внешние сервисы в приложение без необходимости хранить API-ключи в коде. Ты настраиваешь подключение один раз, привязываешь его к проекту и вызываешь готовые действия из приложения. Учётные данные хранятся в зашифрованном виде и никогда не передаются в frontend-код.
Доступные коннекторы
Заголовок раздела «Доступные коннекторы»| Коннектор | Категория | Тип аутентификации | Что умеет |
|---|---|---|---|
| Resend | Коммуникации | API-ключ | Отправка транзакционных писем, массовая рассылка, список проверенных доменов |
| Slack | Коммуникации | OAuth | Публикация сообщений, список каналов и участников, реакции на сообщения, чтение тредов |
| ElevenLabs | ИИ | API-ключ | Синтез речи, список доступных голосов, генерация звуковых эффектов |
Список коннекторов регулярно пополняется.
Как работают коннекторы
Заголовок раздела «Как работают коннекторы»- Ты создаёшь подключение — вводишь учётные данные (API-ключ или входишь через OAuth)
- Привязываешь подключение к проекту — это даёт проекту доступ к указанным учётным данным
- Приложение вызывает действия — запрос идёт через Proyecta Cloud, который на стороне сервера подставляет учётные данные
Код приложения никогда не видит сырой API-ключ или OAuth-токен. Система коннекторов берёт на себя аутентификацию, ограничение частоты запросов и ведение журнала аудита.
Настройка коннектора
Заголовок раздела «Настройка коннектора»- Открой проект в builder
- Перейди в Settings > Connectors
- Выбери коннектор из каталога (например, Resend)
- Введи учётные данные:
- Коннекторы с API-ключом (Resend, ElevenLabs): вставь секретный ключ
- OAuth-коннекторы (Slack): войди в аккаунт и предоставь доступ
- Дай подключению имя (например, «Production Resend»)
- Подключение проверяется автоматически и помечается как Active, если данные корректны
Чтение через коннектор из приложения
Заголовок раздела «Чтение через коннектор из приложения»Твоё приложение может читать сторонний API прямо из браузера, и API-ключ при этом никогда не попадёт в бандл. Учётные данные остаются зашифрованными на платформе; приложение указывает только коннектор, действие и типизированный ввод, а вызов выполняет платформа.
import { useConnectorData, useHttpRead } from '@/hooks/useConnector.ts';
// A connector's own read action, as a cached queryconst { data, isLoading, error } = useConnectorData('eleven-labs', 'listVoices');
// The generic HTTP-read connector, by endpoint nameconst { data: feed } = useHttpRead('news-feed', { limit: 10 });Стоит знать про два ограничения — они сделаны намеренно:
- Только чтение. Доступны лишь те действия, которые платформа пометила как безопасные для браузера; всё остальное возвращает
403. Записи (публикация в Slack, отправка письма, списание с карты) из браузера недоступны в принципе. - Нельзя передать URL или хост. Для универсального коннектора
http-readввод выглядит как{ endpointKey, params }, а URL заendpointKeyнастраиваешь ты, владелец приложения, — не код приложения. Ответы кешируются на сервере и ограничиваются по частоте, поскольку сторонние ключи расходуют квоту.
Ответ 404 означает, что владелец ещё не подключил этот коннектор, — именно этот случай стоит обработать в интерфейсе.
Доверь интеграцию ИИ
Заголовок раздела «Доверь интеграцию ИИ»Писать код коннекторов вручную не обязательно. ИИ-builder знает, какие коннекторы привязаны к проекту, и может сгенерировать интеграцию за тебя:
«Отправь приветственное письмо при регистрации пользователя»— использует коннектор Resend«Отправь сообщение в Slack при поступлении нового заказа»— использует коннектор Slack«Воспроизведи аудионарратив на странице статьи»— использует коннектор ElevenLabs
Справочник действий коннекторов
Заголовок раздела «Справочник действий коннекторов»Resend (connectorId: 'resend')
Заголовок раздела «Resend (connectorId: 'resend')»| Действие | Тип операции | Описание |
|---|---|---|
sendEmail |
write | Отправить одно транзакционное письмо |
sendBatch |
write | Отправить несколько писем за один запрос |
listDomains |
read | Получить список проверенных отправляющих доменов |
Slack (connectorId: 'slack')
Заголовок раздела «Slack (connectorId: 'slack')»| Действие | Тип операции | Описание |
|---|---|---|
postMessage |
write | Опубликовать сообщение в канале |
listChannels |
read | Получить список каналов воркспейса |
listUsers |
read | Получить список участников воркспейса |
reactToMessage |
write | Добавить emoji-реакцию на сообщение |
getThread |
read | Получить ответы в треде |
ElevenLabs (connectorId: 'eleven-labs')
Заголовок раздела «ElevenLabs (connectorId: 'eleven-labs')»| Действие | Тип операции | Описание |
|---|---|---|
textToSpeech |
write | Преобразовать текст в речь |
listVoices |
read | Получить список доступных голосов |
generateSoundEffect |
write | Сгенерировать звуковой эффект ИИ |
Статусы подключений
Заголовок раздела «Статусы подключений»| Статус | Значение |
|---|---|
| Active | Учётные данные действительны, подключение готово к работе |
| Broken | Учётные данные истекли или были отозваны — обнови их, чтобы восстановить доступ |
Безопасность
Заголовок раздела «Безопасность»- Учётные данные шифруются с использованием AES-256-GCM
- Частота запросов ограничена: 1 000 запросов в минуту на коннектор на проект
- Каждый вызов действия фиксируется в журнале аудита (подключение, действие, длительность, статус)
- Подключения действуют на уровне всего воркспейса
Частые вопросы
Заголовок раздела «Частые вопросы»Можно ли использовать одно подключение в нескольких проектах?
Да. Создай подключение один раз и привяжи его к любому количеству проектов в одном воркспейсе.
Что произойдёт, если API-ключ истечёт или будет отозван?
Статус подключения изменится на Broken. Обнови учётные данные в Settings > Connectors, чтобы восстановить работу.
Можно ли вызывать действия коннекторов из frontend?
Твоё приложение никогда не хранит учётные данные. Безопасные для браузера действия чтения проксируются через Proyecta Cloud, который подставляет учётные данные на стороне сервера, поэтому ключ не попадает в бандл. Действия записи из браузера недоступны вовсе.
Можно ли добавить собственный коннектор?
Пока нет. Поддержка пользовательских коннекторов запланирована в roadmap.
Скоро появится
Заголовок раздела «Скоро появится»- Новые коннекторы (Google, Twilio, SendGrid и другие)
- Пользовательские определения коннекторов — подключай собственные API
- Приём входящих webhook-событий от подключённых сервисов
- OAuth-шлюз — токены остаются на стороне сервера даже при инициированных клиентом потоках