Slack
Renta отправляет строки из вашего хранилища данных в канал Slack: сообщением на каждую изменившуюся строку, по несколько стр ок в одном сообщении, текстовой таблицей или CSV-файлом.
Сообщение вы пишете один раз как шаблон с плейсхолдерами {{ column }}, а Renta заполняет его для каждой строки. Для изменившейся строки можно показать прежнее значение рядом с новым.
Аутентификация
Renta авторизуется через Slack OAuth. Авторизация действует на один воркспейс, поэтому выберите тот воркспейс Slack, в который будет писать пайплайн.
Slack запрашивает права на список публичных и приватных каналов, отправку сообщений, отправку в публичные каналы без вступления бота, отправку под своим именем и иконкой и загрузку файлов. Список каналов Renta читает, чтобы заполнить список Channel, остальные права использует при запуске пайплайна.
Учётные данные хранятся в зашифрованном виде, а отозвать авторизацию можно в Slack в разделе Settings & administration > Manage apps.
Подключение назначения Slack
- Перейдите в раздел Connections > Catalog в левом меню и откройте вкладку Destinations.
- Откройте категорию Reverse ETL и нажмите карточку Slack.

Нажмите Log in to your Slack account. Slack откроется в этой же вкладке.

В правом верхнем углу страницы Slack проверьте, что выбран нужный воркспейс. Просмотрите права и нажмите Allow. Slack вернёт вас в Renta.
Renta подтверждает выданный доступ и показывает авторизованный воркспейс. Завершите настройку:
- Destination name.
Укажите имя назначения. Оно используется только в интерфейсе Renta.
Нажмите Save.

Новое назначение появится в списке Destinations со статусом Active. Теперь его можно использовать в пайплайнах Reverse ETL.

Чтобы писать в приватный канал, откройте его в Slack и введите /invite @Renta. Публичным каналам приглашение не нужно.
Подготовка модели данных
Пайплайн Reverse ETL читает данные из модели данных: это SQL-запрос, сохранённый в разделе Context layers, который решает, какие строки хранилища синхронизировать и что лежит в каждой строке. Создайте её до пайплайна, потому что редактор шаблонов и маппер колонок заполняются колонками модели.
Называйте колонки так, как хотите ссылаться на них в сообщении. Колонка email вставляется как {{ email }}. Колонка с пробелом в имени или с цифрой в начале тоже доступна: {{ row["signup date"] }}.
-- Регистрации, подготовленные для Slack. Запрос возвращает строки, таблица не создаётся.
WITH demo_signups AS (
SELECT 'james.miller@example.com' AS email, 'Team' AS plan, 490 AS mrr, DATE '2026-10-01' AS signup_date, TRUE AS is_active
UNION ALL SELECT 'olivia.johnson@example.com', 'Starter', 49, DATE '2026-10-03', TRUE
UNION ALL SELECT 'william.davis@example.com', 'Business', 1200, DATE '2026-10-05', FALSE
)
SELECT * FROM demo_signupsПри сохранении модели отметьте колонку, которая опознаёт строку, как ключ. В режиме Message по ключу Renta отличает изменившуюся строку от новой. Шаги одинаковы для любого хранилища, см. Создание модели данных.
Создание пайплайна Slack
Назначение и модель данных должны существовать до начала.
В левом меню нажмите New pipeline. На шаге Source переключите тумблер на Reverse ETL, выберите своё хранилище, например Google BigQuery, и нажмите Next step.

Выберите подключение хранилища, в котором лежит модель данных, и нажмите Next step.

На шаге Destination выберите Slack в списке Already connected и нажмите Next step.

Выберите созданное ранее подключение Slack и нажмите Next step.

Настройка пайплайна
На последнем шаге выберите, как Renta отправляет строки, куда они уходят и что написано в каждом сообщении. Форма подстраивается под выбранный режим, поэтому начните с него.
Как Renta отправляет данные
Выберите один из четырёх режимов. Первый следит за изменениями в модели. Остальные три отправляют весь результат модели на каждом запуске.

| Режим | Описание |
|---|---|
| Message | Отправляет по сообщению на каждую строку, которая добавилась, изменилась или исчезла с прошлого запуска. У каждого случая свой шаблон, а первый запуск ничего не отправляет, если вы не выбрали отправку всех строк. |
| Batch message | Отправляет все строки модели на каждом запуске, по несколько строк в сообщении, с необязательной шапкой и подвалом. |
| Table | Отправляет все строки модели текстовой таблицей из колонок, которые вы сопоставили. Подходит для результатов до 500 строк. |
| CSV | Загружает все строки модели CSV-файлом, прикреплённым к одному сообщению. |
Сообщения в Slack отправляются один раз и не редактируются. Режим Message сообщает об изменении новым сообщением. Остальные три режима на каждом запуске отправляют свежую копию результата.
Модель данных и канал
Укажите пайплайну, откуда брать данные и в какой канал их писать.

- Data model.
Выберите модель данных для отправки. Из неё Renta читает строки и имена колонок. - Channel.
Выберите канал для сообщений. В списке публичные каналы воркспейса и приватные каналы, куда приглашён бот. - Channel from a column.
Доступно в режиме Message. Выберите колонку с ID канала Slack, напримерC0123456789, чтобы каждая строка уходила в свой канал. Строка с пустым значением пропускается и попадает в журнал запуска. Бот должен иметь право писать в каждый канал из этой колонки.
Формат сообщения и первый запуск
Выберите, как Renta читает шаблоны и что первый запуск делает со строками, которые уже есть.

-
Message format Выберите синтаксис шаблонов.
Формат Описание Plain text Renta отправляет заполненный шаблон как текст сообщения. Работает форматирование Slack: *жирный*,_курсив_,<https://example.com|текст ссылки>и упоминания<@USER_ID>.Slack Block Kit Шаблон представляет собой JSON-массив блоков Block Kit. При сохранении Renta проверяет, что это валидный JSON, и заполняет плейсхолдеры для каждой строки. Внутри блоков используйте текстовые объекты mrkdwn. -
First run Доступно в режиме Message.
Вариант Описание Skip existing rows Первый запуск запоминает строки и ничего не отправляет. Сообщения начинаются со следующего изменения. Это значение по умолчанию. Send a message for every row Первый запуск отправляет сообщение о добавленной строке для каждой строки модели.
Шаблоны сообщений
В режиме Message вы пишете до трёх шаблонов, по одному на вид изменения. Введите в ред акторе {{, чтобы выбрать колонку или переменную, или нажмите чип под редактором. Счётчик в углу показывает длину шаблона относительно лимита в 4 000 символов.
