La pestaña Entrega de un espacio de trabajo de equipo de Speak-Y hace dos cosas cuando se comparte una grabación en un canal: envía un correo a las direcciones que indiques y envía una petición POST firmada a la URL que elijas. Ambos llevan el mismo puñado de datos: quién compartió, cuánto dura la grabación, cuándo y de qué grabación se trata. Ninguno lleva el resumen ni la transcripción.
No es una función que falte. El contenido de los canales está cifrado de
extremo a extremo, así que el servidor que envía el correo y el webhook nunca
ha visto el texto. Esta guía explica cómo configurar ambos, qué llega
exactamente a la bandeja de entrada y a tu endpoint, cómo verificar la cabecera
X-Speaky-Signature y qué canales quedan cubiertos. Todo lo que sigue se
comprobó en la app y en el servidor el 9 de octubre de 2026.
Anuncia las grabaciones nuevas a personas y sistemas que están fuera del feed del canal. Un compañero comparte una reunión en un canal; el servidor guarda la grabación cifrada y después avisa a dos destinos, si están configurados:
X-Speaky-Signature.Los ajustes pertenecen a un espacio de trabajo, no a tu cuenta: cada espacio de trabajo tiene sus propios destinatarios y su propio webhook. Solo el propietario del espacio de trabajo o un administrador puede cambiarlos. Los miembros ven la pestaña en modo de solo lectura, con la nota «Only an owner or admin can change integrations.» (solo un propietario o un administrador puede cambiar las integraciones).

Necesitas la app de macOS y el rol de propietario o administrador en el espacio de trabajo.
Cada bloque funciona sin el otro. Para cambiar el webhook más adelante, vuelve a introducir la URL y un secreto: el secreto no viene rellenado, porque el servidor no lo devuelve.

Un aviso, no un resumen. El asunto es «Nueva reunión en Speak-Y» (o «Nuevo dictado en Speak-Y» cuando lo compartido es un dictado), y el cuerpo tiene tres filas y un botón:
| En el correo | Ejemplo |
|---|---|
| Autor | El nombre del compañero que compartió la grabación |
| Duración | 42 min |
| Cuándo | 09/10/2026 a las 14:05 UTC |
| Botón | Abrir en Speak-Y: abre esa grabación en la app de macOS |
Debajo del botón, el correo lo dice sin rodeos: «Las grabaciones están cifradas de extremo a extremo, así que esta notificación solo incluye metadatos.» El nombre del canal y el del espacio de trabajo tampoco aparecen en el correo: también están cifrados, así que el servidor no los conoce.
Hay dos detalles que conviene saber antes de prometerle este correo al equipo:

Un POST por cada grabación nueva, con Content-Type: application/json, la
cabecera X-Speaky-Event: team_record.created y este cuerpo:
{
"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 es meeting o dictation, y meta.duration_s es la duración en
segundos. Todo lo demás es un identificador o una marca de tiempo. No hay
título, ni lista de hablantes, ni resumen, ni nombre de canal: tu endpoint se
entera de que ha pasado algo y dónde, no de lo que se dijo.
Con eso basta para los usos habituales: una línea en el chat del equipo, una
fila en un gestor de tareas, un contador de reuniones por canal. Mantén tu
propia tabla que relacione channel_id con un nombre legible. Ten en cuenta
que el webhook entrante de un chat no puede recibir esta petición directamente:
los webhooks entrantes de Slack, por ejemplo, esperan un cuerpo JSON con un
campo text, así que necesitas un pequeño intermediario que verifique la firma
y dé otro formato al mensaje.
La cabecera X-Speaky-Signature tiene la forma sha256=<hex>. El valor es el
HMAC SHA-256 del cuerpo de la petición sin procesar, con el secreto que
escribiste en la pestaña Entrega como clave. Un receptor en 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)
Firma los bytes exactamente como llegaron. Si tu framework analiza el JSON y tú lo vuelves a serializar, cambian el orden de las claves y los espacios, y la firma no coincidirá.
Algunas propiedades del emisor condicionan cómo debe escribirse el receptor:
record_id para ignorar una petición que ya has procesado y sent_at
para descartar las antiguas.
Todo el espacio de trabajo, con una excepción. La tarjeta de alcance dice «Cada nueva grabación en cualquier canal de este espacio activa un envío», y no hay filtro por canal. En un espacio de trabajo con canales de clientes muy activos, la reunión semanal no será lo único que se anuncie.
La excepción son los canales privados: una grabación compartida en un canal privado no se anuncia en ninguna parte, ni por correo ni por webhook. La tarjeta enumera los canales que puedes ver, incluidos los privados, con un candado, pero el servidor los omite. El motivo es que la entrega la configura un propietario o administrador que quizá no sea miembro de ese canal privado; ni siquiera el hecho de que allí se grabó algo le corresponde recibirlo. Cómo repartir los canales entre públicos y privados se explica en quién ve qué en los canales de equipo.
Las grabaciones personales quedan fuera de todo esto. Nada sale de tu biblioteca hasta que tú compartes una grabación en un canal.
Porque el servidor tendría que leerlo. En Speak-Y la grabación se cifra en el Mac con una clave de canal antes de subirse, y las claves de canal existen solo en los dispositivos de los miembros; cómo funciona compartir en equipo con cifrado de extremo a extremo recorre el mecanismo. Un servidor capaz de meter el resumen en un correo sería un servidor capaz de leer todos los canales.
Las herramientas construidas al revés sí envían contenido, y esa es una razón legítima para elegirlas cuando un resumen en la bandeja de entrada importa más que el cifrado de extremo a extremo. Comprobado el 9 de octubre de 2026:
meeting.transcribed lleva un identificador de
reunión, firmado con HMAC SHA-256), pero el contenido se obtiene después de
la API de Fireflies, porque el proveedor lo almacena en forma legible.Si necesitas una copia legible fuera de la app, hazla a propósito y no por notificación: actas de la reunión semanal que nadie tiene que redactar muestra la exportación a Confluence o Google Drive, y el servidor MCP de Speak-Y permite que un asistente de IA en el Mac de un miembro lea las grabaciones que ese miembro ya puede abrir.
Los espacios de trabajo de equipo están disponibles en la app de Speak-Y para macOS: crear uno requiere como mínimo el plan Pro, y los compañeros se unen gratis con cualquier plan. La página de Speak-Y Teams muestra cómo funcionan los canales compartidos.
No. El envío por correo manda un aviso de que se ha compartido una reunión nueva en un canal: el autor, la duración, la hora y un botón Abrir en Speak-Y. Los canales están cifrados de extremo a extremo, así que el servidor no tiene ningún resumen ni transcripción que meter en un correo. El texto se lee en la app.
Un POST en JSON con el evento team_record.created y solo identificadores: workspace_id, channel_id, record_id, created_by, el tipo de grabación y su duración en meta, y dos marcas de tiempo. No contiene transcripción, ni resumen, ni el nombre del canal o del espacio de trabajo.
Calcula el HMAC SHA-256 del cuerpo de la petición tal como llegó, sin procesar, con el secreto de tu webhook, codifícalo en hexadecimal y ponle delante sha256=. Compara el resultado con la cabecera X-Speaky-Signature mediante una comparación en tiempo constante, y hazlo antes de analizar el JSON.
Cada grabación nueva compartida en cualquier canal público del espacio de trabajo. No hay filtro por canal. Los canales privados no se anuncian nunca, ni por correo ni por webhook, y las grabaciones personales nunca salen de tu biblioteca.
El propietario del espacio de trabajo o un administrador, en la pestaña Entrega de la página del espacio de trabajo, en la app de macOS. Los miembros ven la misma pestaña en modo de solo lectura.