Het tabblad Bezorging van een teamwerkruimte in Speak-Y doet twee dingen wanneer een opname in een kanaal wordt gedeeld: het mailt de adressen die u opgeeft, en het stuurt een ondertekend POST-verzoek naar een URL die u kiest. Beide bevatten hetzelfde kleine rijtje feiten — wie er deelde, hoe lang de opname duurt, wanneer, en om welke opname het gaat. Geen van beide bevat de samenvatting of de transcriptie.
Dat is geen ontbrekende functie. De inhoud van kanalen is end-to-end
versleuteld, dus de server die de e-mail en de webhook verstuurt, heeft de
tekst nooit gezien. Deze handleiding laat zien hoe u beide instelt, wat er
precies in de inbox en bij uw endpoint aankomt, hoe u de header
X-Speaky-Signature controleert en welke kanalen meedoen. Alles hier is op
9 oktober 2026 gecontroleerd aan de hand van de app en de server.
Het kondigt nieuwe opnames aan bij mensen en systemen buiten de kanaalfeed. Een teamgenoot deelt een vergadering in een kanaal; de server slaat de versleutelde opname op en licht daarna twee bestemmingen in, als die zijn ingesteld:
X-Speaky-Signature.De instellingen horen bij één werkruimte, niet bij uw account: elke werkruimte heeft eigen ontvangers en een eigen webhook. Alleen de eigenaar van de werkruimte of een beheerder kan ze wijzigen. Leden zien het tabblad alleen-lezen, met de melding "Only an owner or admin can change integrations." (alleen een eigenaar of beheerder kan integraties wijzigen).

U hebt de macOS-app nodig en de rol van eigenaar of beheerder in de werkruimte.
Elk blok werkt zonder het andere. Wilt u de webhook later wijzigen, voer dan de URL en een geheim opnieuw in — het geheim wordt niet vooraf ingevuld, omdat de server het niet teruggeeft.

Een melding, geen digest. Het onderwerp is "Nieuwe meeting in Speak-Y" (of "Nieuw dictaat in Speak-Y" als er een dictaat is gedeeld), en de tekst bestaat uit drie regels en één knop:
| In de e-mail | Voorbeeld |
|---|---|
| Auteur | De naam van de teamgenoot die de opname heeft gedeeld |
| Duur | 42 min |
| Wanneer | 09-10-2026 om 14:05 UTC |
| Knop | Openen in Speak-Y — opent die opname in de macOS-app |
Onder de knop zegt de e-mail het ronduit: "Opnames zijn end-to-end versleuteld, dus deze melding bevat alleen metadata." Ook de naam van het kanaal en die van de werkruimte staan niet in de e-mail — die zijn eveneens versleuteld, dus de server kent ze niet.
Twee details zijn goed om te weten voordat u deze e-mail aan het team belooft:

Eén POST per nieuwe opname, met Content-Type: application/json, de header
X-Speaky-Event: team_record.created en deze body:
{
"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 is meeting of dictation, en meta.duration_s is de lengte in
seconden. Al het andere is een identifier of een tijdstempel. Er is geen titel,
geen sprekerslijst, geen samenvatting en geen kanaalnaam: uw endpoint komt te
weten dat er iets is gebeurd en waar, niet wat er is gezegd.
Dat is genoeg voor de gebruikelijke klussen — een regel in de teamchat, een rij
in een tracker, een teller van vergaderingen per kanaal. Houd een eigen tabel
bij die channel_id aan een leesbare naam koppelt. Let op: de inkomende
webhook van een chat kan dit verzoek niet rechtstreeks aannemen. De inkomende
webhooks van Slack verwachten bijvoorbeeld een JSON-body met een veld text,
dus u hebt een kleine relay nodig die de handtekening controleert en het
bericht opnieuw opmaakt.
De header X-Speaky-Signature heeft de vorm sha256=<hex>. De waarde is de
HMAC SHA-256 van de ruwe request-body, met als sleutel het geheim dat u op
het tabblad Bezorging hebt getypt. Een ontvanger in 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)
Onderteken de bytes precies zoals ze zijn binnengekomen. Als uw framework de JSON parset en u die opnieuw serialiseert, veranderen de volgorde van de sleutels en de spaties, en klopt de handtekening niet meer.
Een paar eigenschappen van de afzender bepalen hoe u de ontvanger schrijft:
record_id om een verzoek te negeren dat u al hebt
verwerkt, en sent_at om verouderde verzoeken te laten vallen.
De hele werkruimte, met één uitzondering. Op de kaart over de reikwijdte staat "Elke nieuwe opname in een kanaal van deze workspace start een bezorging", en een filter per kanaal is er niet. In een werkruimte met drukke klantkanalen is het weekoverleg dus niet het enige dat wordt aangekondigd.
De uitzondering zijn privékanalen: een opname die in een privékanaal wordt gedeeld, wordt nergens aangekondigd — geen e-mail, geen webhook. De kaart toont de kanalen die u kunt zien, inclusief privékanalen met een slotje, maar de server slaat ze over. De reden is dat de bezorging wordt ingesteld door een eigenaar of beheerder die misschien geen lid is van dat privékanaal; zelfs het feit dat daar iets is opgenomen, is niet voor hen bestemd. Hoe u kanalen verdeelt in openbaar en privé, leest u in wie wat ziet in teamkanalen.
Persoonlijke opnames vallen hier helemaal buiten. Niets verlaat uw bibliotheek totdat u zelf een opname in een kanaal deelt.
Omdat de server die dan zou moeten lezen. In Speak-Y wordt de opname op de Mac met een kanaalsleutel versleuteld voordat ze wordt geüpload, en kanaalsleutels bestaan alleen op de apparaten van leden — hoe end-to-end versleuteld delen in teams werkt loopt het mechanisme door. Een server die de samenvatting in een e-mail kan zetten, zou een server zijn die elk kanaal kan lezen.
Tools die andersom zijn gebouwd, sturen wel inhoud mee, en dat is een goede reden om ervoor te kiezen als een samenvatting in de inbox zwaarder weegt dan end-to-end versleuteling. Gecontroleerd op 9 oktober 2026:
meeting.transcribed bevat een
meeting-ID, ondertekend met HMAC SHA-256 — maar de inhoud wordt daarna
opgehaald via de API van Fireflies, omdat de aanbieder die in leesbare vorm
bewaart.Hebt u een leesbare kopie buiten de app nodig, maak die dan bewust en niet via een melding: notulen van het weekoverleg voor het team laat de export naar Confluence of Google Drive zien, en met de Speak-Y MCP-server kan een AI-assistent op de Mac van een lid de opnames lezen die dat lid al kan openen.
Teamwerkruimtes zijn beschikbaar in de Speak-Y-app voor macOS: een werkruimte aanmaken begint bij het Pro-abonnement, en teamgenoten worden met elk abonnement gratis lid. De pagina over Speak-Y Teams laat zien hoe gedeelde kanalen werken.
Nee. E-mailbezorging stuurt een melding dat er een nieuwe vergadering in een kanaal is gedeeld: de auteur, de duur en de tijd, plus een knop Openen in Speak-Y. Kanalen zijn end-to-end versleuteld, dus de server heeft geen samenvatting of transcriptie om in een e-mail te zetten. De tekst leest u in de app.
Een JSON-POST met de gebeurtenis team_record.created en alleen identifiers: workspace_id, channel_id, record_id, created_by, het soort opname en de duur in meta, en twee tijdstempels. Er zit geen transcriptie in, geen samenvatting en geen naam van het kanaal of de werkruimte.
Bereken HMAC SHA-256 over de ruwe request-body met uw webhookgeheim, codeer het resultaat hexadecimaal en zet er sha256= voor. Vergelijk de uitkomst met de header X-Speaky-Signature via een vergelijking in constante tijd, en doe dat voordat u de JSON parset.
Elke nieuwe opname die in een openbaar kanaal van de werkruimte wordt gedeeld. Een filter per kanaal is er niet. Privékanalen worden nooit aangekondigd, niet per e-mail en niet per webhook, en persoonlijke opnames verlaten uw bibliotheek nooit.
De eigenaar van de werkruimte of een beheerder, op het tabblad Bezorging van de werkruimtepagina in de macOS-app. Leden zien hetzelfde tabblad alleen-lezen.