Vuoi che negli inviti di Microsoft Teams il collegamento mostri “Join Meeting” invece di “Join the meeting now”? In questa guida spiego perché non esiste un’impostazione nativa e come ottenere lo stesso risultato con procedure manuali, automazioni in Outlook e Microsoft Graph.
Contesto e obiettivo
Molte organizzazioni desiderano standardizzare il testo del collegamento alla riunione negli inviti di Teams per ottenere un itinerario più pulito, coerente e facilmente scansionabile dagli ospiti esterni. L’obiettivo tipico è sostituire la dicitura predefinita Join the meeting now con un testo più sintetico come Join Meeting (o un equivalente nella lingua dell’audience), senza dover modificare manualmente ogni invito.
Stato della piattaforma (in breve)
- Non esiste una policy o un’impostazione amministrativa in Microsoft 365/Teams per cambiare globalmente il testo del link di partecipazione negli inviti generati da Outlook o Teams.
- Il link di partecipazione è generato dal servizio (Teams/Exchange) e inserito nel corpo dell’evento; il testo del link può essere editato come contenuto dell’invito, ma non configurato come impostazione di sistema.
- Per evitare modifiche manuali ripetitive, si può ricorrere a workaround (macro in Outlook classico per Windows, modelli, flussi di creazione con Graph API, ecc.).
Soluzioni a confronto
| Soluzione | Come funziona | Vantaggi | Svantaggi / Limitazioni |
|---|---|---|---|
| Non esiste un’impostazione nativa | Né Teams né il centro di amministrazione di M365 permettono oggi di cambiare il testo predefinito del collegamento. | Chiarezza sullo stato attuale della piattaforma. | Occorre intervenire manualmente su ogni invito oppure usare workaround. |
| Accorciare l’URL con un servizio esterno | Si incolla l’URL della riunione in un URL‑shortener (es. bit.ly) e si usa il nuovo link al posto di quello generato da Teams. | Testo molto corto (“bit.ly/…”), può diventare “Join Meeting”. | Gli invitati potrebbero diffidare di link accorciati; gestione di link aggiuntivi. |
| Modifica manuale per singola riunione | In Outlook/Teams si seleziona il testo “Join the meeting now”, lo si trasforma in collegamento ipertestuale e si digita “Join Meeting”. | Nessuna soluzione esterna; massima trasparenza del link originale. | Ripetitivo se si pianificano molte riunioni. |
| Automazione via Outlook VBA / modelli | Script VBA, Quick Parts o macro che sostituiscono automaticamente il testo del collegamento subito dopo la creazione dell’invito. | Evita la modifica manuale uno a uno; mantiene l’URL completo. | Richiede Outlook classico per Windows; competenze tecniche e distribuzione dello script. |
| API Microsoft Graph / applicazione custom | Generare gli inviti tramite un’app/flow (Graph API) impostando l’HTML dell’invito con il testo desiderato. | Soluzione enterprise scalabile, controllabile a livello aziendale. | Richiede sviluppo software e permessi API; non modifica gli inviti creati manualmente. |
Linee guida di scelta rapida
- Pochi organizzatori, molte riunioni: macro in Outlook classico + Quick Parts.
- Molti organizzatori, standardizzazione aziendale: flussi centralizzati con Graph API (o Power Automate) che generano gli inviti formattati.
- Ospiti esterni diffidenti verso short link: evitare URL‑shortener; preferire link completi con testo del collegamento personalizzato.
Procedura manuale: cambiare il testo del link in pochi secondi
Outlook per Windows (classico)
- Creare una nuova riunione e abilitare Teams Meeting (se non è attivo di default).
- Nel corpo dell’invito, individuare la riga che contiene Join the meeting now.
- Selezionare il testo del collegamento, premere Ctrl+K (o Inserisci > Collegamento), lasciare invariato l’URL nella casella Indirizzo e sostituire il testo con Join Meeting.
- Salvare e inviare.
Outlook sul web / Nuovo Outlook
- Creare l’evento, attivare Teams Meeting.
- Nel corpo, selezionare il testo del collegamento e usare l’icona Collegamento nella toolbar dell’editor per cambiare la Testo da visualizzare in Join Meeting.
- Salvare e inviare.
Teams (app desktop / web)
- Calendario > Nuova riunione.
- Nel riquadro dei dettagli, scorri fino al corpo: seleziona il testo del link e modifica il testo visualizzato in Join Meeting tramite l’icona Collegamento.
- Salva/invia l’invito.
Suggerimento: salva un blocco di testo con la tua struttura agenda e un placeholder del tipo <a href="{LINKTEAMS}">Join Meeting</a>. Quando crei la riunione, sostituisci rapidamente {LINKTEAMS} con l’URL già presente.
Automazione lato client: macro VBA in Outlook (classico)
Se crei decine di inviti ogni settimana, la modifica manuale diventa onerosa. In Outlook classico per Windows (Win32) puoi usare una macro VBA che intercetta l’invio degli inviti e sostituisce automaticamente il testo del link nel corpo del messaggio, mantenendo l’URL originale.
Avvertenze e prerequisiti
- Funziona in Outlook classico per Windows. Il Nuovo Outlook e Outlook per Mac non supportano VBA.
- Richiede di abilitare le macro (Centro protezione > Impostazioni macro) secondo le policy di sicurezza della tua azienda.
- La macro agisce solo sugli inviti inviati dal client dove è installata.
Obiettivo tecnico
Individuare gli <a href="https://...teams...">...</a> nel corpo HTML dell’evento (Join URL di Teams) e sostituire il testo visibile (innerText) con Join Meeting, preservando l’attributo href e qualsiasi altro attributo del tag.
Codice VBA pronto all’uso
In Outlook, apri l’editor VBA (ALT+F11), espandi Microsoft Outlook Objects e incolla il seguente codice nel modulo ThisOutlookSession:
' ThisOutlookSession
Option Explicit
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
On Error Resume Next
If TypeName(Item) = "AppointmentItem" Then
Dim ap As AppointmentItem
Set ap = Item
' Solo riunioni (non semplici appuntamenti)
If ap.MeetingStatus <> olMeeting Then Exit Sub
Dim html As String
html = ap.HTMLBody
' 1) Sostituzione robusta su <a href="...teams...">innerText</a>
html = ReplaceJoinAnchorText(html, "Join Meeting")
' 2) Fallback: sostituisci eventuali testi residui comuni
html = ReplaceCaseInsensitive(html, ">Join the meeting now<", ">Join Meeting<")
html = ReplaceCaseInsensitive(html, ">Click here to join the meeting<", ">Join Meeting<")
html = ReplaceCaseInsensitive(html, ">Join Microsoft Teams Meeting<", ">Join Meeting<")
ap.HTMLBody = html
End If
End Sub
Private Function ReplaceJoinAnchorText(ByVal html As String, ByVal newText As String) As String
Dim RE As Object
Set RE = CreateObject("VBScript.RegExp")
RE.Global = True
RE.IgnoreCase = True
' Cattura <a ... href="https://...teams..." ...>QUALSIASI_TESTO</a>
' Copre domini commerciali e sovrani (es. *.microsoft.us) e varianti.
RE.Pattern = "<a\b([^>]?)href\s=\s[""'](https?://[^""']teams\.(microsoft|live)\.[^""'])[""']([^>]?)>(.*?)</a>"
' Mantiene attributi prima/dopo href e sostituisce solo l'innerText
ReplaceJoinAnchorText = RE.Replace(html, "<a$1href=""$2""$4>" & newText & "</a>")
End Function
Private Function ReplaceCaseInsensitive(ByVal txt As String, ByVal findStr As String, ByVal replStr As String) As String
Dim RE As Object
Set RE = CreateObject("VBScript.RegExp")
RE.Global = True
RE.IgnoreCase = True
RE.Pattern = Replace(findStr, "/", "\/") ' escape prudenziale
ReplaceCaseInsensitive = RE.Replace(txt, replStr)
End Function
Distribuzione e manutenzione
- Firma digitale della macro e distribuzione del certificato agli utenti (criterio consigliato in ambienti enterprise).
- Backup del modulo VBA e versione controllata (es. repository privato).
- Test con inviti interni ed esterni, incluse riunioni ricorrenti e allegati Teams (lobby/meeting options restano invariate).
Nota importante: se la tua organizzazione usa il Nuovo Outlook, valuta soluzioni server-side (Graph API/Power Automate). Le macro VBA non sono supportate.
Automazione senza codice: Quick Parts e frammenti riutilizzabili
Se lavori in Outlook classico puoi creare un Quick Part con la tua struttura d’invito e un link già formattato “Join Meeting”.
- Apri una nuova riunione Teams e prepara il corpo (agenda, punti, ecc.).
- Seleziona il blocco, quindi Inserisci > Parti rapide > Salva selezione nella raccolta Parti rapide.
- Assegna un nome (es. TemplateRiunioneTeams).
- Alla prossima riunione, inserisci il Quick Part e aggiorna solo data/ora/partecipanti (il link “Join Meeting” resta inalterato).
Questa tecnica è efficace quando l’invito segue uno scheletro ricorrente e vuoi ridurre a pochi clic l’editing.
Soluzione con URL‑shortener (da usare con cautela)
L’uso di servizi come Bitly o TinyURL consente di ottenere un link molto corto (es. bit.ly/riunione-team) che puoi etichettare come “Join Meeting”.
Pro
- Link brevissimo: l’invito risulta più pulito.
- Possibilità di personalizzare lo slug (alias del link) e tracciare i clic.
Contro
- Alcuni destinatari (e filtri di sicurezza) diffidano dei link accorciati.
- Gestione extra di scadenza, ownership e reindirizzamenti.
Buone pratiche
- Se possibile, usa un dominio accorciatore aziendale (es. go.contoso.com/meeting).
- Evita di concatenare più shortener.
- Comunica chiaramente che si tratta della riunione Teams ufficiale.
Approccio enterprise: creare inviti via Microsoft Graph
Per organizzazioni che desiderano standardizzazione e scalabilità, l’invio degli inviti può avvenire tramite automazioni e applicazioni che usano Microsoft Graph (o Power Automate). L’idea è controllare il corpo dell’invito e il testo del collegamento sin dall’origine.
Due strategie possibili
- Strategia A – Crea prima una onlineMeeting (Teams) e poi un evento di calendario non online con il corpo HTML che include il join URL come
<a href="...">Join Meeting</a>. Pro: pieno controllo sul testo; Contro: l’evento non è contrassegnato come “riunione Teams” a livello di piattaforma (alcune esperienze lato client possono essere diverse, ma il link funziona). - Strategia B – Crea direttamente un evento online (
isOnlineMeeting=true, provider Teams) e poi sovrascrivi il corpo con il tuo HTML. In molte configurazioni il blocco standard di Teams viene comunque aggiunto; occorre verificare nelle tue impostazioni se il testo personalizzato resta predominante (o duplicato). È consigliato un proof‑of‑concept nell’ambiente aziendale.
Esempio con Microsoft Graph PowerShell
# Permessi richiesti (delegati o app): OnlineMeetings.ReadWrite, Calendars.ReadWrite
Connect-MgGraph -Scopes "OnlineMeetings.ReadWrite,Calendars.ReadWrite"
1) Crea la riunione Teams (solo oggetto meeting online, non l'evento di calendario)
$start = (Get-Date).AddDays(1).ToString("s") + "Z"
$end = (Get-Date).AddDays(1).AddHours(1).ToString("s") + "Z"
$online = New-MgCommunicationOnlineMeeting -StartDateTime $start -EndDateTime $end -Subject "Riunione progetto"
$joinUrl = $online.JoinWebUrl
2) Crea l'evento con corpo HTML personalizzato che include il link "Join Meeting"
$bodyHtml = @"
Riunione progetto
Join Meeting
Agenda: ...
"@
New-MgUserEvent -UserId me -Subject "Riunione progetto" ` -Start @{DateTime = (Get-Date).AddDays(1).ToString("s"); TimeZone = "UTC"}`
-End @{DateTime = (Get-Date).AddDays(1).AddHours(1).ToString("s"); TimeZone = "UTC"} ` -Body @{ContentType = "HTML"; Content = $bodyHtml}`
-Attendees @(@{EmailAddress=@{Address="[ospite@example.com](mailto:ospite@example.com)"}; Type="required"})
Esempio con .NET SDK (C#)
// Permessi: OnlineMeetings.ReadWrite, Calendars.ReadWrite
var onlineMeeting = await graphClient.Communications.OnlineMeetings.PostAsync(new OnlineMeeting {
StartDateTime = DateTimeOffset.UtcNow.AddDays(1),
EndDateTime = DateTimeOffset.UtcNow.AddDays(1).AddHours(1),
Subject = "Riunione progetto"
});
var joinUrl = onlineMeeting.JoinWebUrl;
var body = $@"Riunione progetto
Join Meeting";
var ev = new Event {
Subject = "Riunione progetto",
Start = new DateTimeTimeZone { DateTime = DateTime.UtcNow.AddDays(1).ToString("s"), TimeZone = "UTC" },
End = new DateTimeTimeZone { DateTime = DateTime.UtcNow.AddDays(1).AddHours(1).ToString("s"), TimeZone = "UTC" },
Body = new ItemBody { ContentType = BodyType.Html, Content = body },
Attendees = new List {
new Attendee { EmailAddress = new EmailAddress { Address = "[ospite@example.com](mailto:ospite@example.com)" }, Type = AttendeeType.Required }
}
};
await graphClient.Me.Events.PostAsync(ev);
Consiglio architetturale: astrai la generazione del corpo HTML in un template aziendale (versionato) con variabili per titolo, agenda, link e contatti. In tal modo la modifica del testo “Join Meeting” diventa una semplice change di template.
Power Automate: flussi no‑code/low‑code
Con Power Automate puoi costruire un flusso che, alla creazione di un record (es. richiesta riunione in un modulo), crei automaticamente:
- una Online Meeting per ottenere il
joinWebUrldi Teams; - un evento di calendario con corpo HTML che include
<a href="...">Join Meeting</a>e gli attendees desiderati.
È la variante no‑code della strategia Graph, con vantaggi di governance (connettori, DLP) e minori dipendenze dal client.
Modello HTML riutilizzabile per inviti
Puoi adottare un template compatto e accessibile, da incollare negli inviti:
<div role="region" aria-label="Dettagli riunione">
<p style="margin:0 0 8px;"><strong>Titolo:</strong> <span>Riunione progetto Alpha</span></p>
<p style="margin:0 0 8px;"><strong>Partecipa:</strong>
<a href="https://teams.microsoft.com/l/meetup-join/...">Join Meeting</a>
</p>
<p style="margin:0 0 8px;"><strong>Agenda:</strong> Aggiornamenti sprint, rischi, decisioni</p>
<p style="margin:0;"><strong>Note:</strong> la riunione potrebbe essere registrata.</p>
</div>
Internazionalizzazione e naming
- Audience internazionale: valuta “Join Meeting” (EN) o un doppio testo, es. “Partecipa / Join Meeting”.
- Italiano: “Partecipa alla riunione” è chiaro ma più lungo; “Partecipa” è conciso ma meno esplicito.
- Coerenza: scegli una forma e applicala ovunque (inviti, wiki, modelli email).
Sicurezza, compliance ed esperienze utente
- Trasparenza del link: mantenere l’URL Teams originale aumenta la fiducia (evita ambiguità tipiche degli short link).
- Filtri antispam/antiphishing: gli shortener possono essere penalizzati; in caso di dubbi, preferisci link diretto con ancoraggio “Join Meeting”.
- Ambienti sovrani: in tenant speciali (es. domini
*.microsoft.us) l’URL cambia; assicurati che le macro non facciano assunzioni troppo rigide sul dominio. - Accessibilità: evita testi di link generici (“clicca qui”). “Join Meeting” o “Partecipa alla riunione” sono più significativi per lettori di schermo.
FAQ
Posso cambiare il testo a livello tenant, via policy?
No. Al momento non esiste una policy in Microsoft 365/Teams/Exchange che modifichi globalmente il testo del collegamento negli inviti standard.
La macro VBA modifica anche inviti creati in Teams o Outlook sul web?
No. La macro agisce solo sugli inviti inviati dal client Outlook classico dove è installata. Per Teams/OWA/nuovo Outlook valuta un flusso server-side (Graph/Power Automate).
Gli short link influiscono su lobby, dial‑in o opzioni riunione?
No: il link reindirizza comunque alla stessa riunione. Tuttavia, alcuni utenti o sistemi potrebbero diffidare degli short link.
Posso rimuovere completamente il blocco standard di Teams dal corpo?
In molti ambienti viene reinserito automaticamente. Se vuoi un corpo perfettamente “su misura”, usa la strategia con OnlineMeeting + evento non online e inserisci tu il link.
Esistono differenze tra client?
- Outlook classico (Win32): supporta VBA, Quick Parts, modelli .oft (mail), corpo HTML avanzato.
- Nuovo Outlook / OWA: niente VBA; usa modelli integrati e automazioni server-side.
- Outlook per Mac: niente VBA; soluzioni server-side consigliate.
- Teams app: editing base del corpo; nessuna impostazione per il testo del link predefinito.
Sintesi operativa
- Oggi non esiste un parametro di Teams o di M365 per cambiare globalmente la stringa “Join the meeting now”.
- Per eliminare “now” e mantenere l’URL originale: modifica manuale ogni volta oppure automatizza con macro in Outlook classico (VBA) o Quick Parts.
- Se la priorità è un testo estremamente breve, un URL shortener risolve ma può generare diffidenza.
- Per volumi elevati o standardizzazione: implementa un flusso Graph/Power Automate che genera inviti già formattati con “Join Meeting”.
Checklist di implementazione
- Definisci il testo target (es. “Join Meeting”, “Partecipa alla riunione”).
- Scegli il canale: client (macro/Quick Parts) o server (Graph/Power Automate).
- Prepara un template HTML centralizzato con variabili.
- Test con utenti pilota e inviti a destinatari esterni.
- Documenta la procedura e aggiorna le guide interne.
Modelli di testo pronti
Inglese
<p><a href="{JOIN_URL}">Join Meeting</a></p>
<p>Agenda: ...</p>
Italiano
<p><a href="{JOIN_URL}">Partecipa alla riunione</a></p>
<p>Ordine del giorno: ...</p>
Conclusioni
La piattaforma oggi non consente di cambiare nativamente la label del collegamento negli inviti di Teams, ma esistono soluzioni concrete per ottenere un risultato equivalente con livelli diversi di sforzo e controllo. Per pochi organizzatori, la modifica manuale (eventualmente supportata da Quick Parts) è sufficiente; per scenari enterprise, le automazioni con Graph/Power Automate garantiscono coerenza, governance e scalabilità. In ogni caso, la scelta del testo (“Join Meeting” o equivalente locale) dovrebbe essere parte di una linea guida aziendale, così da offrire agli ospiti un’esperienza chiara e uniforme.
Nota: Microsoft aggiorna frequentemente Teams e Outlook. Valuta un monitoraggio periodico delle novità per eventuali future opzioni di personalizzazione dei template d’invito.
