Speak-Y Consegna: avvisi via email e webhook per le riunioni del team

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.

Che cosa fa la scheda Consegna?

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:

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).

Una registrazione va dal Mac di un collega al server di Speak-Y e da lì a una casella di posta e a un endpoint webhook
Il Mac cifra la registrazione prima di condividerla. Il server può annunciare che esiste, ma non ha nulla di leggibile da inoltrare.

Come si configura?

Servono l'app per macOS e il ruolo di proprietario o amministratore nello spazio di lavoro.

  1. Aprire la pagina dello spazio di lavoro. Si fa clic su ⋯ accanto al nome dello spazio di lavoro nella barra laterale e si sceglie Edit workspace.
  2. Passare alla scheda Consegna. È la terza scheda, dopo Overview e Members.
  3. Leggere il riquadro Cosa viene inviato. Elenca i canali dello spazio di lavoro, così la portata è chiara prima di salvare qualsiasi cosa.
  4. Compilare Webhook. Si incolla l'indirizzo in Endpoint URL e si digita un segreto di almeno 8 caratteri in Webhook secret (HMAC). Il pulsante Save webhook resta inattivo finché il segreto non è abbastanza lungo. Dopo il salvataggio lo stato diventa Saved, l'intestazione riceve l'etichetta Configurato e il campo del segreto viene svuotato: l'app non mostra mai più il segreto.
  5. Compilare Email delivery. Si digitano gli indirizzi in Recipients, separati da virgole, e si preme Save email delivery.

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.

La scheda Consegna di uno spazio di lavoro Speak-Y con il riquadro di copertura, il blocco Webhook e il blocco Email delivery
1 — i canali che attivano un invio. 2 — l'indirizzo del webhook e il suo segreto di firma. 3 — i destinatari dell'email.

Che cosa arriva esattamente via email?

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:

Che cosa contiene l'email di consegna di Speak-Y: autore, durata, ora e un pulsante che apre l'app
Tre fatti e un pulsante. Il riepilogo, la trascrizione e perfino il nome del canale restano nel canale cifrato.

Che cosa invia il webhook?

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.

Come si verifica la firma?

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:

Cinque controlli per un servizio che riceve il webhook di Speak-Y
Verificare sui byte grezzi, confrontare a tempo costante, rispondere in fretta, deduplicare per record_id e non trattare il webhook come una coda.

Quali canali sono coperti?

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é non direttamente il riepilogo?

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:

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.

FAQ

Speak-Y invia via email il riepilogo o la trascrizione dopo una riunione?

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.

Che cosa invia il webhook di Speak-Y?

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.

Come si verifica l'header X-Speaky-Signature?

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.

Quali canali attivano un invio?

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.

Chi può configurare l'invio via email e il webhook?

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.