Impostare una cartella diversa per le registrazioni di riunioni ricorrenti in Microsoft Teams (OneDrive/SharePoint, Power Automate, governance)

Vuoi salvare automaticamente le registrazioni di una serie di riunioni ricorrenti di Microsoft Teams in una sottocartella condivisa su SharePoint? Qui trovi limiti della piattaforma, opzioni percorribili e una guida passo‑passo con Power Automate, più consigli di governance, permessi e best practice operative.

Indice

Scenario e problema

In molte organizzazioni le riunioni ricorrenti di Microsoft Teams vengono avviate senza un canale dedicato e le registrazioni finiscono, per impostazione predefinita, nella cartella personale dell’utente che ha avviato la registrazione: OneDrive → Recordings. Questo comportamento è comodo per l’uso individuale, ma poco efficace quando si vuole centralizzare gli asset video in un’area di team (SharePoint) con permessi già preimpostati e un lifecycle condiviso (naming, retention, policy di condivisione, ecc.).

Esigenza: “Per ogni serie di riunioni ricorrenti, vorremmo impostare una diversa cartella di registrazione su SharePoint/Document library del gruppo, così da gestire al meglio condivisione e permessi, senza dover spostare i file a mano dopo ogni call”.

Come Teams salva le registrazioni oggi

  • Riunioni non di Canale (inviti classici dal calendario): le registrazioni vengono salvate automaticamente nella OneDrive dell’utente che avvia la registrazione, in Recordings.
  • Riunioni di Canale: le registrazioni vengono salvate direttamente nella raccolta documenti del Team (SharePoint). Percorso tipico: Site del Team → Documenti → <Canale> → Recordings.
  • Condivisione predefinita: tutti gli invitati interni ricevono automaticamente un link con permesso di visualizzazione; i partecipanti esterni vanno abilitati manualmente (o via flusso, con step espliciti di condivisione).
  • Limite attuale: non esiste un’impostazione nativa per cambiare la cartella di destinazione delle registrazioni di riunioni non di Canale. Per avere un salvataggio “nativamente” condiviso bisogna usare un Canale.

Opzioni percorribili (confronto rapido)

ApproccioCome funzionaVantaggiLimiti
Rendere la riunione “di Canale”Pianifica la serie direttamente all’interno di un Canale Teams già esistente.Registrazioni nel sito SharePoint del team; permessi ereditati dal canale; nessuna automazione aggiuntiva.Non sempre si vuole/può usare un canale; occorre ripianificare se la serie esiste già; visibilità a tutti i membri del Team.
Spostamento manualeDopo ogni riunione: Teams/Files (o OneDrive) → Sposta in (o Copia in) verso la libreria del Team.Immediato; nessuna configurazione.Processo manuale e ripetitivo; alto rischio di dimenticanze/incoerenze nei nomi; non scala.
Power Automate / FlowFlusso con trigger su “nuovo file in OneDrive/Recordings” che sposta/copia nella cartella SharePoint del Team (anche creando sottocartelle dinamiche, es. per titolo serie).Automazione completa; cartelle per serie create al volo; log e notifiche; governance centralizzabile.Richiede licenze/permessi e una piccola configurazione iniziale; attenzione ai file di grandi dimensioni.
Script PowerShell + GraphJob pianificato (es. Azure Automation) che rileva nuove registrazioni e le sposta via Graph API in SharePoint.Massima flessibilità e controllo; integrazione con regole e nomenclature avanzate.Soluzione IT‑pro con manutenzione; gestione app registrate/permessi; maggiore complessità.

Quando conviene trasformare la serie in “riunione di Canale”

Se la riunione ricorrente riguarda un progetto/area che dispone già di un Team con canale dedicato, questa è la via più semplice: nessuna automazione e permessi “a prova di errore”. Tuttavia, converte spesso anche il modello operativo (più trasparenza e visibilità ai membri del Team). Se la riunione esiste già come invito non di Canale, non è possibile convertirla direttamente: va ripianificata come nuova riunione di canale, inviando il nuovo appuntamento ai partecipanti.

Passaggi pratici (riunione di Canale)

  1. Apri Teams → seleziona il Team → scegli il Canale corretto.
  2. Clic su Nuova riunione → compila titolo, ricorrenza, orario, partecipanti.
  3. Invia e, se necessario, annulla la vecchia serie non di canale per evitare doppie occorrenze.

Soluzione consigliata per riunioni “non di Canale”: Power Automate

Quando non è possibile usare un canale, il compromesso migliore tra governance e sforzo è un flusso di Power Automate che intercetta qualsiasi nuova registrazione nella OneDrive del recorder e la instrada nella sottocartella giusta nella libreria SharePoint del gruppo.

Architettura logica

  • Trigger: “Quando un file viene creato in una cartella” (OneDrive for Business) puntato a /Recordings.
  • Routing: una tabella di mapping (SharePoint List) che associa pattern/serie → cartella di destinazione.
  • Azione: copia/spostamento del file in SharePoint (con creazione cartella se non esiste).
  • Notifica e Log: messaggistica in Teams/e-mail + scrittura su lista log (data, serie, percorso, esito).

Prerequisiti

  • Licenza che includa Power Automate per utente o equivalente.
  • Permesso di Contribuire alla document library di destinazione.
  • Una SharePoint List per il routing (vedi sotto).
  • Se più utenti possono avviare la registrazione, valutare un account di servizio dedicato oppure più flussi (uno per recorder) inclusi in una Solution con connection references.

Progettare la struttura cartelle

Definisci naming e tassonomia prima di automatizzare:

  • Radice: Documenti della Site del Team.
  • Livello 1: “Recordings”.
  • Livello 2: “<TitoloSerie>” (identico all’oggetto calendario per riconoscibilità).
  • Livello 3 (opzionale): anno/mese (2025/11) per evitare cartelle con centinaia di file.

Consiglio: evita caratteri speciali, spazi multipli, & o slash nei nomi serie. Scegli un pattern coerente (es. PROJ‑NomeProgetto Weekly).

La lista di routing (SharePoint)

Crea una lista “Routing Registrazioni” con colonne:

  • Title (singola riga di testo): pattern serie (es. PROJ‑Alfa Weekly).
  • DestLibraryUrl (url o testo): URL della document library del Team.
  • DestRelativePath (testo): sottocartella relativa (es. Recordings/PROJ‑Alfa Weekly).
  • CreateMonthlyFolders (sì/no): se creare automaticamente cartelle per anno/mese.
  • NotifyChannelId (testo, opzionale): id del canale/ chat per notifica.

Popola una riga per ogni serie da instradare.

Creare il flusso in Power Automate (guida passo‑passo)

  1. Trigger: OneDrive for Business → When a file is created in a folder.
    Imposta Folder su /Recordings. Abilita Trigger Conditions per filtrare gli MP4/MKV: @or(endsWith(triggerBody()?['Name'], '.mp4'), endsWith(triggerBody()?['Name'], '.mkv'))
  2. Inizializza variabili: fileName = @{triggerBody()?['Name']}, baseName = @{first(split(triggerBody()?['Name'], '.'))}.
  3. Normalizzazione titolo (facoltativa): spesso i nomi includono data/ora. Se hai pattern “TitoloSerie‑AAAA‑MM‑GG”, puoi stimare il titolo serie prendendo tutto prima dell’ultimo trattino: @{join(take(split(variables('baseName'), '-'), sub(length(split(variables('baseName'), '-')), 1)), '-')} Nota: i trattini nel titolo possono complicare il parsing. Per questo si consiglia il routing a pattern (vedi passo successivo) invece di estrazioni “perfette”.
  4. Leggi la lista di routing: Azione SharePoint Get items (lista “Routing Registrazioni”).
    Filtra i risultati con Filter array per trovare prima corrispondenza “contenuta nel nome file” (case‑insensitive): @contains(toLower(variables('baseName')), toLower(item()?['Title'])) Se non trovi corrispondenze, instrada verso una cartella “Recordings/Da Classificare” e invia notifica al team che il mapping manca.
  5. Calcola la cartella di destinazione:
    • destRoot = @{first(body('Get_items')?['value'])?['DestRelativePath']}
    • Se CreateMonthlyFolders = true, aggiungi “/AAAA/MM”: @{concat(variables('destRoot'), '/', utcNow('yyyy'), '/', utcNow('MM'))}
  6. Crea la cartella se non esiste: Azione SharePoint Create new folder puntando alla libreria e al percorso calcolato. Se già esiste, l’azione non fallisce; in alternativa, usa una chiamata HTTP a SharePoint (metodo idempotente) con gestione errori “Continue on error”.
  7. Sposta o copia il file:
    • Metodo A (semplice): OneDrive Get file content → SharePoint Create file (stesso nome) → OneDrive Delete file. Consigliato per file <= ~250‑500 MB (verifica i limiti effettivi nel tuo tenant).
    • Metodo B (robusto per file grandi): SharePoint/Graph Copy (job asincrono) o Move tra drive, tramite Send an HTTP request con endpoint drives/items/copy o PATCH …/items/{id} con parentReference. Al termine, rimuovi la sorgente.
    Imposta il Degree of Parallelism del flusso a 1 per evitare collisioni su file/cartelle.
  8. Imposta metadati (facoltativo): aggiungi colonne (es. Serie, Data riunione) e valorizzale con Update file properties. Puoi estrarre la data dal nome file se presente.
  9. Gestisci i permessi (facoltativo): se la cartella ha eredità interrotta, usa Grant access to an item or a folder per aggiungere partecipanti esterni, oppure lascia che l’ereditarietà del Team si occupi della condivisione.
  10. Notifica: invia un messaggio in Teams (Post message in a chat or channel) al canale indicato in lista, con link al file e stato (Spostato/Creato).
  11. Log e monitoraggio: scrivi una riga su una lista “Log Registrazioni” con timestamp, file, serie, percorso di destinazione, esito e durata. Abilita Run history e analytics per individuare colli di bottiglia.

Scalabilità e multi‑recorder

Per impostazione predefinita un trigger OneDrive “vede” la OneDrive dell’utente proprietario della connessione. Se in azienda più persone possono avviare la registrazione, considera:

  • Account di servizio che avvia le registrazioni (pratica comune in contesti formali). Tutte le registrazioni finiscono nel Recordings di quell’account, e il flusso è uno solo.
  • Più flussi identici (uno per recorder), distribuiti in una Solution, con governance centralizzata.
  • Approccio custom con Graph change notifications su drive utente e backend (Azure Function/Webhook) — avanzato ma scalabile.

Best practice di governance

  • Naming: usa prefissi di progetto/area (FIN‑, HR‑, PROJ‑) e vieta titoli generici (Meeting settimanale).
  • Retention: applica policy Purview/etichette per definire i tempi di conservazione (es. 180 giorni) e l’eventuale conservazione a lungo termine per training o audit.
  • Struttura cartelle: non superare ~200 file per cartella; usa AAAA/MM per spezzare il volume.
  • Permessi: preferisci l’ereditarietà dal Team; gestisci eccezioni (esterni) in cartelle dedicate.
  • Audit: logga spostamenti e accessi, soprattutto in presenza di dati sensibili.

Alternative e varianti

Spostamento manuale ben strutturato

Se il volume è basso, puoi stabilire una procedura “leggera” ma ordinata:

  1. Al termine della riunione, apri OneDrive → Recordings.
  2. Seleziona la registrazione → Sposta in (o Copia in).
  3. Seleziona la document library del Team → cartella della serie → conferma.
  4. Aggiungi una nota nel canale del progetto con il link al file.

Checklist: naming coerente, permessi verificati, link condiviso in Teams, eventuale etichetta di retention applicata.

Script PowerShell + Graph (IT‑Pro)

Per contesti enterprise con centinaia di registrazioni al giorno, uno scheduler (Azure Automation/Runbook o VM) può offrire controllo capillare.

  1. App registrata in Entra ID con permessi Graph per leggere/scrivere drive utente e siti SharePoint.
  2. Discovery: cerca periodicamente nuovi file in OneDrive/Recordings per gli utenti target.
  3. Matching: usa una tabella (SharePoint/Azure Table/SQL) come routing map serie → cartella.
  4. Move/Copy: chiama Graph copy/move sui driveItem verso la libreria del Team (con creazione cartelle se necessario).
  5. Post‑move: imposta metadati, logga l’operazione, invia notifiche, gestisce errori e retry.

Vantaggi: job centralizzato, controlli avanzati (priorità, accodamento, quoziente di banda), integrazioni con sistemi terzi. Svantaggi: complessità, manutenzione e sicurezza applicativa.

Permessi & condivisione: cosa sapere

  • Proprietà del file: nelle riunioni non di Canale, il proprietario iniziale è l’utente che avvia la registrazione; spostando in SharePoint, la proprietà passa alla libreria (team‑owned).
  • Interni: conservano accesso in lettura via link di Teams; in SharePoint ereditano i permessi dal Team (generalmente Contribuisci o Lettura).
  • Esterni: non vengono aggiunti in automatico; abilitali con Grant access oppure condividi una specifica cartella dedicata agli ospiti.
  • Sicurezza: per contenuti sensibili usa etichette di riservatezza, impedisci il download agli ospiti e limita la ricondivisione.

FAQ

Posso cambiare la cartella predefinita delle registrazioni per una riunione non di Canale?

No: al momento non esiste un’impostazione nativa per farlo. Serve un workaround (Power Automate, script) oppure pianificare la riunione come riunione di Canale.

Se rendo la riunione “di Canale”, chi può vedere le registrazioni?

Tutti i membri del Team con accesso al canale. Gli ospiti esterni devono essere membri del Team o ricevere autorizzazioni esplicite alla cartella/file.

Chi “possiede” la registrazione?

Non di Canale: il file è nella OneDrive di chi avvia la registrazione. Di Canale: il file è nella document library del Team (ownership condivisa dal sito).

È meglio spostare o copiare?

Spostare evita duplicati e semplifica la governance. In caso di limiti tecnici, puoi copiare e poi cancellare la sorgente a successo verificato.

Come gestisco file molto grandi?

Usa azioni/endpoint che supportano upload chunked (Graph copy/move asincrono) e imposta retry/backoff. Evita di scaricare e ricaricare lato client.

Checklist di implementazione

  • Definisci tassonomia e regole di naming delle serie.
  • Crea cartelle base in SharePoint (Recordings/<Serie>) e valuta sottocartelle per anno/mese.
  • Configura la lista Routing Registrazioni con pattern e destinazioni.
  • Implementa il flusso Power Automate (trigger, routing, creazione cartelle, spostamento, metadati, notifica, log).
  • Testa con una registrazione di prova (file piccolo e grande).
  • Documenta il processo operativo e di supporto (chi interviene se il flusso fallisce).
  • Comunica agli organizer le buone pratiche (titoli coerenti, quando usare il canale, come invitare esterni).

Raccomandazioni pratiche (riassunto)

  1. Valuta la riunione di Canale come opzione “nativa” quando la collaborazione è davvero di team.
  2. Se rimani su riunioni non di Canale, automatizza con Power Automate:
    • Trigger su OneDrive/Recordings;
    • Routing tramite lista SharePoint con pattern;
    • Creazione folder “on‑the‑fly” e spostamento/copia file;
    • Notifiche e log centralizzati.
  3. Documenta la procedura manuale come fallback e fornisci una runbook per il supporto.
  4. Invia feedback dal client Teams (Help → Feedback) per sostenere l’introduzione di un’opzione “Default recording location” a livello di serie.

Esempio di progettazione completa

Supponiamo tre serie ricorrenti non di Canale: “PROJ‑Beta Weekly”, “HR‑All Hands Mensile”, “Vendite Forecast”.

  • In SharePoint crei:
    • Recordings/PROJ‑Beta Weekly
    • Recordings/HR‑All Hands Mensile
    • Recordings/Vendite Forecast
  • Nella lista “Routing Registrazioni” inserisci tre righe con Title = nome serie e DestRelativePath corrispondente; CreateMonthlyFolders = true per HR‑All Hands.
  • Il flusso intercetta i file in Recordings, individua il pattern nel nome (es. Vendite Forecast‑2025‑11‑03.mp4), crea 2025/11 dove previsto e sposta il file; infine avvisa nel canale #vendite.

Troubleshooting

  • Il flusso non si attiva: verifica che il recorder sia proprio l’utente titolare della connessione OneDrive nel flusso; controlla la condizione di trigger (estensioni file).
  • Cartella di destinazione non trovata: accertati che l’URL libreria e il percorso relativi siano corretti e che l’utente/connessione abbia permessi.
  • File grande, copia fallita: passa al metodo Graph asincrono; riduci concorrenza; abilita retry con backoff esponenziale.
  • Pattern non riconosciuto: aggiungi una riga alla lista di routing o stabilisci regole di naming più rigide per gli organizer.
  • Esterni senza accesso: usa un passaggio di Grant access o crea una cartella dedicata con condivisione a ospiti, se le policy lo consentono.

In sintesi

Ad oggi, Teams non consente di cambiare la cartella di destinazione delle registrazioni per riunioni ricorrenti non di Canale. Se vuoi che ogni serie finisca in una sottocartella condivisa su SharePoint, hai tre strade: trasformare la riunione in Canale (unica via “nativa”), spostare manualmente i file, oppure automatizzare con Power Automate (la soluzione più sostenibile e sicura nel tempo). Per esigenze enterprise, l’approccio PowerShell + Graph offre il massimo controllo, a costo di maggiore complessità.


Nota operativa finale: in fase di avvio, mantieni entrambe le modalità (manuale + automatica) per 2‑3 settimane. Valuta errori e casi limite, poi rendi l’automazione il percorso “di produzione” e spegni il manuale, lasciandolo come break‑glass.

Indice