La scheda Consegna di uno spazio di lavoro di team in Speak-Y fa due cose quando una registrazione viene condivisa in un canale: invia un'email agli indirizzi elencati e manda una richiesta POST firmata a un URL a scelta. Entrambe portano lo stesso piccolo insieme di fatti — chi ha condiviso, quanto dura la registrazione, quando, e di quale record si tratta. Nessuna delle due porta il riepilogo o la trascrizione.
Non è una funzione mancante. Il contenuto dei canali è cifrato end-to-end,
quindi il server che invia l'email e il webhook non ha mai visto il testo.
Questa guida mostra come configurare entrambi, che cosa arriva esattamente
nella casella di posta e all'endpoint, come verificare l'header
X-Speaky-Signature e quali canali sono coperti. Tutto è stato verificato
sull'app e sul server il 9 ottobre 2026.
Annuncia le nuove registrazioni a persone e sistemi fuori dal feed del canale. Un collega condivide una riunione in un canale; il server salva il record cifrato e poi avvisa due destinazioni, se sono configurate:
X-Speaky-Signature.Le impostazioni appartengono a un singolo spazio di lavoro, non all'account: ogni spazio di lavoro ha i propri destinatari e il proprio webhook. Può modificarle solo il proprietario dello spazio di lavoro o un amministratore. I membri vedono la scheda in sola lettura, con la nota «Only an owner or admin can change integrations.» (solo un proprietario o amministratore può modificare le integrazioni).

Servono l'app per macOS e il ruolo di proprietario o amministratore nello spazio di lavoro.
Ciascun blocco funziona senza l'altro. Per cambiare il webhook in seguito basta inserire di nuovo URL e segreto — il segreto non viene precompilato, perché il server non lo restituisce.

Un avviso, non un resoconto. L'oggetto è «Nuova riunione in Speak-Y» (oppure «Nuova dettatura in Speak-Y» quando è stata condivisa una dettatura), e il corpo ha tre righe e un pulsante:
| Nell'email | Esempio |
|---|---|
| Autore | Il nome del collega che ha condiviso la registrazione |
| Durata | 42 min |
| Quando | 09/10/2026 alle 14:05 UTC |
| Pulsante | Apri in Speak-Y — apre quella registrazione nell'app per macOS |
Sotto il pulsante l'email lo dice chiaramente: «Le registrazioni sono cifrate end-to-end, quindi questa notifica contiene solo metadati.» Nell'email non ci sono nemmeno il nome del canale e quello dello spazio di lavoro: sono cifrati anch'essi, quindi il server non li conosce.
Due dettagli sono utili da sapere prima di promettere questa email al team:

Un POST per ogni nuova registrazione, con Content-Type: application/json,
l'header X-Speaky-Event: team_record.created e questo corpo:
{
"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 vale meeting o dictation, e meta.duration_s è la durata in
secondi. Tutto il resto è un identificatore o un timestamp. Non ci sono titolo,
elenco degli interlocutori, riepilogo né nome del canale: l'endpoint viene a
sapere che è successo qualcosa e dove, non che cosa è stato detto.
Basta per i compiti abituali — una riga nella chat del team, una riga in un
tracker, un contatore delle riunioni per canale. Conviene tenere una propria
tabella che associa channel_id a un nome leggibile. Va notato che il webhook
in ingresso di una chat non può ricevere direttamente questa richiesta: i
webhook in ingresso di Slack, per esempio, si aspettano un corpo JSON con un
campo text, quindi serve un piccolo relay che verifichi la firma e riformatti
il messaggio.
L'header X-Speaky-Signature ha la forma sha256=<hex>. Il valore è l'HMAC
SHA-256 del corpo grezzo della richiesta, con il segreto digitato nella
scheda Consegna come chiave. Un ricevitore 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)
La firma va calcolata sui byte esattamente come sono arrivati. Se il framework interpreta il JSON e lo si serializza di nuovo, l'ordine delle chiavi e gli spazi cambiano e la firma non corrisponde più.
Alcune caratteristiche del mittente determinano come scrivere il ricevitore:
record_id per ignorare una richiesta già elaborata e
sent_at per scartare quelle vecchie.
L'intero spazio di lavoro, con un'eccezione. Il riquadro di copertura dice «Ogni nuova registrazione in un canale di questo workspace attiva un invio», e non esiste un filtro per canale. In uno spazio di lavoro con canali clienti molto attivi, la riunione settimanale non sarà l'unica cosa annunciata.
L'eccezione sono i canali privati: una registrazione condivisa in un canale privato non viene annunciata da nessuna parte — né email né webhook. Il riquadro elenca i canali visibili, compresi quelli privati con un lucchetto, ma il server li salta. Il motivo è che la consegna la configura un proprietario o amministratore che può non essere membro di quel canale privato; nemmeno il fatto che lì sia stato registrato qualcosa spetta a lui. Come dividere i canali in pubblici e privati è spiegato in chi vede cosa nei canali di team.
Le registrazioni personali restano fuori da tutto questo. Nulla lascia la propria libreria finché non si condivide di persona una registrazione in un canale.
Perché il server dovrebbe leggerlo. In Speak-Y la registrazione viene cifrata sul Mac con una chiave di canale prima del caricamento, e le chiavi di canale esistono solo sui dispositivi dei membri — come funziona la condivisione in team cifrata end-to-end ne ripercorre il meccanismo. Un server in grado di mettere il riepilogo in un'email sarebbe un server in grado di leggere ogni canale.
Gli strumenti costruiti al contrario inviano davvero il contenuto, ed è un motivo legittimo per sceglierli quando un riepilogo nella casella di posta conta più della cifratura end-to-end. Verificato il 9 ottobre 2026:
meeting.transcribed porta un ID della
riunione, firmato con HMAC SHA-256 —, ma il contenuto si recupera poi
dall'API di Fireflies, perché il fornitore lo conserva in forma leggibile.Se serve una copia leggibile fuori dall'app, conviene crearla di proposito e non tramite una notifica: il verbale della riunione settimanale per il team mostra l'esportazione verso Confluence o Google Drive, e il server MCP di Speak-Y permette a un assistente IA sul Mac di un membro di leggere le registrazioni che quel membro può già aprire.
Gli spazi di lavoro di team sono disponibili nell'app Speak-Y per macOS: per crearne uno si parte dal piano Pro, e i colleghi entrano gratis con qualsiasi piano. La pagina di Speak-Y Teams mostra come funzionano i canali condivisi.
No. Email delivery invia un avviso che una nuova riunione è stata condivisa in un canale: autore, durata e ora, più un pulsante Apri in Speak-Y. I canali sono cifrati end-to-end, quindi il server non ha né riepilogo né trascrizione da mettere in un'email. Il testo si legge nell'app.
Un POST JSON con l'evento team_record.created e soli identificatori: workspace_id, channel_id, record_id, created_by, il tipo di record e la durata in meta, e due timestamp. Non contiene trascrizione, riepilogo, né il nome del canale o dello spazio di lavoro.
Si calcola l'HMAC SHA-256 sul corpo grezzo della richiesta con il segreto del webhook, lo si codifica in esadecimale e gli si antepone sha256=. Il risultato si confronta con l'header X-Speaky-Signature usando un confronto a tempo costante, e prima di interpretare il JSON.
Ogni nuova registrazione condivisa in un qualsiasi canale pubblico dello spazio di lavoro. Non esiste un filtro per canale. I canali privati non vengono mai annunciati, né via email né via webhook, e le registrazioni personali non lasciano mai la propria libreria.
Il proprietario dello spazio di lavoro o un amministratore, nella scheda Consegna della pagina dello spazio di lavoro, nell'app per macOS. I membri vedono la stessa scheda in sola lettura.