Доставка в Speak-Y: письма и вебхук о новых встречах команды

Вкладка Доставка в командном воркспейсе Speak-Y делает две вещи, когда запись отправляют в канал: шлёт письмо на адреса из вашего списка и отправляет подписанный POST-запрос на URL, который вы указали. В обоих один и тот же небольшой набор фактов: кто отправил, сколько длится запись, когда это было и что это за запись. Ни саммари, ни транскрипта нет ни там, ни там.

Это не недоделанная функция. Содержимое каналов зашифровано сквозным шифрованием, так что сервер, который отправляет письмо и вебхук, никогда не видел текста. В этом руководстве — как настроить и то и другое, что именно приходит на почту и на ваш эндпоинт, как проверить заголовок X-Speaky-Signature и о каких каналах приходят уведомления. Всё описанное сверено с приложением и сервером 9 октября 2026 года.

Что делает вкладка «Доставка»?

Она сообщает о новых записях людям и системам за пределами ленты канала. Коллега отправляет встречу в канал; сервер сохраняет зашифрованную запись и затем уведомляет два адресата, если они настроены:

Настройки принадлежат одному воркспейсу, а не вашему аккаунту: у каждого воркспейса свои получатели и свой вебхук. Менять их может только владелец или админ воркспейса. Участники видят вкладку только для чтения, с пометкой «Настраивать интеграции может только владелец или админ.»

Запись идёт с Mac коллеги на сервер Speak-Y, а оттуда — на почту и на эндпоинт вебхука
Mac шифрует запись до отправки в канал. Сервер может сообщить, что она появилась, но пересылать ему нечего: читаемого текста у него нет.

Как это настроить?

Нужны приложение для macOS и роль владельца или админа в воркспейсе.

  1. Откройте страницу воркспейса. Нажмите ⋯ рядом с названием воркспейса в боковой панели и выберите Редактировать воркспейс.
  2. Перейдите на вкладку «Доставка». Она третья, после вкладок Обзор и Участники.
  3. Прочитайте карточку «Что уходит в доставку». В ней перечислены каналы воркспейса, так что охват виден ещё до того, как вы что-то сохраните.
  4. Заполните блок «Вебхук». Вставьте адрес в поле URL эндпоинта и введите секрет не короче 8 символов в поле Секрет вебхука (HMAC). Кнопка Сохранить вебхук неактивна, пока секрет слишком короткий. После сохранения статус меняется на Сохранено, у заголовка появляется метка Настроено, а поле секрета очищается: приложение больше никогда не покажет секрет.
  5. Заполните блок «Доставка на почту». Введите адреса в поле Получатели через запятую и нажмите Сохранить email-доставку.

Каждый блок работает без другого. Чтобы позже изменить вебхук, введите URL и секрет заново: секрет не подставляется, потому что сервер его не возвращает.

Вкладка «Доставка» воркспейса Speak-Y: карточка охвата, блок «Вебхук» и блок «Доставка на почту»
1 — каналы, записи в которых запускают доставку. 2 — адрес вебхука и секрет для подписи. 3 — получатели писем.

Что именно приходит на почту?

Уведомление, а не дайджест. Тема письма — «Новая встреча в Speak-Y» (или «Новая диктовка в Speak-Y», если отправили диктовку), а в теле три строки и одна кнопка:

В письме Пример
Автор Имя коллеги, который отправил запись
Длительность 42 мин
Когда 09.10.2026, 14:05 UTC
Кнопка Открыть в Speak-Y — открывает эту запись в приложении для macOS

Под кнопкой письмо говорит прямо: «Записи защищены сквозным шифрованием, поэтому в уведомлении только метаданные.» Названия канала и воркспейса в письме тоже нет: они тоже зашифрованы, и сервер их не знает.

Прежде чем обещать это письмо команде, стоит знать две детали:

Что есть в письме доставки Speak-Y: автор, длительность, время и кнопка, открывающая приложение
Три факта и кнопка. Саммари, транскрипт и даже название канала остаются внутри зашифрованного канала.

Что отправляет вебхук?

Один POST-запрос на каждую новую запись, с Content-Type: application/json, заголовком X-Speaky-Event: team_record.created и таким телом:

{
  "event": "team_record.created",
  "workspace_id": "5b0e7c1e-2f4d-4a57-9d0a-6f1b2c3d4e5f",
  "channel_id": "c1a2b3c4-d5e6-47f8-9a0b-1c2d3e4f5a6b",
  "record_id": "8F2C1D7A-3B4E-4C5D-9E6F-0A1B2C3D4E5F",
  "created_by": "0d9c8b7a-6e5f-4d3c-2b1a-0f9e8d7c6b5a",
  "meta": { "duration_s": 2520, "kind": "meeting" },
  "server_created_at": "2026-10-09T14:05:12+00:00",
  "protocol_version": 2,
  "sent_at": "2026-10-09T14:05:12.480113+00:00"
}

meta.kind принимает значение meeting или dictation, а meta.duration_s — длительность в секундах. Всё остальное — идентификаторы и метки времени. Нет ни названия, ни списка спикеров, ни саммари, ни имени канала: ваш эндпоинт узнаёт, что что-то произошло и где, но не что было сказано.

Для обычных задач этого хватает: строка в командном чате, запись в трекере, счётчик встреч по каналам. Таблицу, которая сопоставляет channel_id с понятным названием, ведите у себя. Учтите, что входящий вебхук чата принять этот запрос напрямую не сможет: входящие вебхуки Slack, например, ждут JSON с полем text, поэтому нужен небольшой промежуточный сервис, который проверит подпись и переформатирует сообщение.

Как проверить подпись?

Заголовок X-Speaky-Signature имеет вид sha256=<hex>. Значение — это HMAC SHA-256 от сырого тела запроса с ключом-секретом, который вы ввели на вкладке «Доставка». Приёмник на Python:

import hashlib
import hmac

def is_from_speaky(secret: str, raw_body: bytes, header: str) -> bool:
    digest = hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest()
    return hmac.compare_digest(f"sha256={digest}", header)

Подписывайте байты ровно в том виде, в каком они пришли. Если фреймворк разберёт JSON, а вы сериализуете его заново, порядок ключей и пробелы изменятся, и подпись не совпадёт.

Несколько свойств отправителя определяют, как писать приёмник:

Пять проверок для сервиса, который принимает вебхук Speak-Y
Проверяйте подпись по сырым байтам, сравнивайте за постоянное время, отвечайте быстро, отсеивайте дубли по record_id и не считайте вебхук очередью.

О каких каналах приходят уведомления?

Обо всём воркспейсе, с одним исключением. В карточке охвата сказано: «Доставка срабатывает на каждую новую запись в любом канале этого воркспейса», и фильтра по каналам нет. В воркспейсе с активными клиентскими каналами еженедельный созвон будет не единственным, о чём придут уведомления.

Исключение — приватные каналы: о записи, отправленной в приватный канал, не сообщается нигде — ни письмом, ни вебхуком. Карточка перечисляет каналы, которые видите вы, включая приватные с замком, но сервер их пропускает. Причина в том, что доставку настраивает владелец или админ, который может и не состоять в этом приватном канале; даже сам факт, что там что-то записали, ему знать не положено. Как разделить каналы на публичные и приватные, рассказывает статья кто что видит в каналах команды.

Личные записи остаются вне всего этого. Ничто не покидает вашу библиотеку, пока вы сами не отправите запись в канал.

Почему не само саммари?

Потому что тогда серверу пришлось бы его прочитать. В Speak-Y запись шифруется на Mac ключом канала ещё до загрузки, а ключи каналов есть только на устройствах участников — механику разбирает статья как устроено сквозное шифрование при совместной работе в команде. Сервер, способный вложить саммари в письмо, был бы сервером, способным читать каждый канал.

Инструменты, устроенные иначе, содержимое отправляют, и это честная причина выбрать их, если саммари в почте важнее сквозного шифрования. Проверено 9 октября 2026 года:

Если вам нужна читаемая копия вне приложения, делайте её осознанно, а не уведомлением: статья протокол еженедельной встречи, который никто не пишет показывает экспорт в Confluence или Google Drive, а MCP-сервер Speak-Y позволяет AI-ассистенту на Mac участника читать те записи, которые этот участник и так может открыть.

Командные воркспейсы доступны в приложении Speak-Y для macOS: создать воркспейс можно начиная с тарифа Pro, а коллеги присоединяются бесплатно на любом тарифе. Как работают общие каналы, показано на странице Speak-Y Teams.

FAQ

Speak-Y присылает саммари или транскрипт встречи на почту?

Нет. Доставка на почту присылает уведомление о том, что в канал отправлена новая встреча: автор, длительность, время и кнопка «Открыть в Speak-Y». Каналы зашифрованы сквозным шифрованием, поэтому у сервера нет ни саммари, ни транскрипта, которые можно было бы вложить в письмо. Текст читают в приложении.

Что отправляет вебхук Speak-Y?

POST-запрос с JSON: событие team_record.created и только идентификаторы — workspace_id, channel_id, record_id, created_by, тип записи и длительность в meta и две метки времени. В нём нет ни транскрипта, ни саммари, ни названия канала или воркспейса.

Как проверить заголовок X-Speaky-Signature?

Посчитайте HMAC SHA-256 от сырого тела запроса с вашим секретом вебхука, запишите результат в hex и добавьте префикс sha256=. Сравните его с заголовком X-Speaky-Signature сравнением за постоянное время — и сделайте это до разбора JSON.

Записи в каких каналах запускают доставку?

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

Кто может настроить доставку на почту и вебхук?

Владелец или админ воркспейса — на вкладке «Доставка» страницы воркспейса в приложении для macOS. Участники видят ту же вкладку только для чтения.