This brief article covers the customization of meeting invitations for Microsoft Teams for two different purposes. One is focused on reviewing the same basic branding options which were previously made available in Skype for Business and have recently come to Microsoft Teams, while the other is related to the additional invitation details which are part of the Microsoft Cloud Video Interop (CVI) solution.
Organization Information
A feature that has been available since Lync Server was the ability to perform some limited customization of what automatically appears in Lync or Skype meeting invitations created in Outlook. These options were limited to simply adding a small image file, typically used for adding a company logo, providing one or two additional URLs which would appear as links for users to find additional help or legal information, and adding basic text to a footer to contain any additional instructions.
This capability has recently been brought to Microsoft Teams by way of the Microsoft Teams Admin Center. To globally configure any of these options for all users in the tenant simply follow these steps.
- Sign in to the Microsoft Teams Admin Center (https://admin.teams.microsoft.com/).
- Browse to Meetings > Meeting settings in the navigation pane.
- Under the Email invitation section configure any or all of the desired fields.
The Logo URL field should be populated with a publicly available link to a .JPG or .PNG image file that is no larger than 188×30 pixels. The file itself is not embedded in the invitation, only an HTML link is added which will load the source image if it is accessible on the client reviewing the invitation.
The Legal URL and Help URL fields can optionally be populated with any URL, although the link titles will only appear as ‘Legal’ and ‘Help’ in the actual invitation.
The Footer can contain only standard, unformatted text and is limited to 255 characters. This text will appear in the invitation exactly as entered, so if HTML code was used, for example, then that would appear as raw HTML code in the invite as well.
- Once customization is complete click the Preview button to see an example of what the meeting invitation will look like.
Note that the formatting in the preview will not look exactly as it will in a real invitation and the logo image is not currently displayed here either. Also, if Cloud Video Interop is enabled on the tenant the additional VTC meeting information does not appear in the preview.
- Once the desired results are seen then click the Save button at the bottom of the page to apply the changes to the tenant.
In order to see the final results simply schedule a new Teams meeting invitation using any of the supported clients, although it may take several hours after saving the changes before they begin to appear in new invitations. As this change only applies to new invitations then obviously any previously scheduled Teams meetings created by any users in the tenant will remain unchanged.
Cloud Video Interop Details
Another minor, yet important detail which can be customized in Microsoft Teams meeting invitations is the hostname provided in the video conferencing device details provided by the Cloud Video Interop service. By default when a tenant enables CVI for Microsoft Teams they would typically be using the hostname provided by the specific Microsoft partner solution which was opted for. For example, the Poly RealConnect Service utilizes the hostname “t.plcm.vc” to route all calls from standards-based endpoints to the Poly services resident in various Azure data centers worldwide.
Users who are enabled for this service will have additional information provided in their Teams meeting invitations specifically designed to allow standards-based video endpoints to join. This information appears under the “Join with a video conferencing device” section, as seen below.
Note that the standard configuration utilizes the CVI provider’s domain highlighted above, but if desired this can be customized to use any hostname which is part of an owned domain namespace.
A custom hostname can either be configured during the initial CVI configuration steps or after the solution has already been enabled.
Configure DNS
Before making any changes to the Microsoft Teams configuration a new custom hostname must be selected, configured, and allowed to replicate through DNS servers.
- Select a new hostname in the desired domain (e.g. video.msteams.net).
- Connect to the administration portal or application for the DNS provider or service which currently manages DNS records for the selected domain (e.g. msteams.net) and create a new DNS Alias (CNAME) record for the desired hostname which points to ‘t.plcm.vc‘.
Wait for some time to pass and then check to see if the new record has replicated throughout the Internet sufficiently. Public DNS servers like Google (8.8.8.8) or Cloudflare (1.1.1.1) can give a good indication of replication status.
- To check if the new DNS record is available open a command prompt and run the following nslookup command.
nslookup video.msteams.net 8.8.8.8
Once the new record has replicated then a successful resolution should look like the results shown above, where the ‘t.plcm.vc‘ record is listed as an alias. Now the custom hostname is ready to be added to the Teams invitations.
Configure Meeting Invitation
Now that the desired DNS record has been configured and replicated sufficiently the meeting invite creation process can be updated to leverage this new hostname. Again, this change will only apply to newly created meetings so any previously scheduled Teams meetings will still display the originally configured hostname.
-
- Open Windows PowerShell and connect to the Skype for Business Online PowerShell module using the following cmdlets, replacing the highlighted portion with the username of an administrative account in the target Office 365 tenant. Enter the account password when prompted.
Import-Module SkypeOnlineConnector
$skype = New-CsOnlineSession -UserName “jeff@msteams.net”
Import-PSSession $skype
- To verify if CVI is already configured on this tenant run the Get-CsVideoInteropServiceProvider cmdlet.
Get-CsVideoInteropServiceProvider
In this example the Polycom provider was already configured in the tenant and is using the default hostname.
In the following command the configuration will be changed to replace the existing ‘t.plcm.vc‘ hostname with the customized ‘video.msteams.net‘ hostname.
- To change the hostname use the Set-CsVideoInteropServiceProvider cmdlet to update the required parameters.
Set-CsVideoInteropServiceProvider -Identity “Polycom” -TenantKey “680450644@video.msteams.net” -InstructionUri “https://dialin.plcm.vc/teams/?key=680450644&conf={ConfId}&domain=video.msteams.net“
The Identity parameter should match the identity shown in the previous cmdlet for the currently selected service provider.
The TenantKey parameter needs to include the same numeric string shown in the existing configuration, with only the hostname changing to the desired string. Any incorrect changes to the tenant key will render CVI unfunctional for newly scheduled meetings.
The InstructionUri parameter also needs to be updated to include an additional value for the domain which is leveraged by the Poly One Touch Dial app and service in order to identify the target FQDN in Teams meetings.
If this was a new CVI configuration then simply use the guidance above when initially running the New-CsVideoInteropServiceProvider cmdlet.
Once sufficient replication time has elapsed (typically within 8 hours) then the new hostname should begin to appear in new Teams meeting invitations. The example invitation shown here includes both the custom organization details outlined earlier in this article and the custom CVI hostname.
Nice detailed post as always Jeff. Just wondered why the use of a CNAME record? This doesn’t follow the RFC? Or is it a case it works for most? Just like a wildcard cert. Works but not supported by Microsoft on the Sfb side?
https://tools.ietf.org/html/rfc2782
Target
The domain name of the target host. There MUST be one or more
address records for this name, the name MUST NOT be an alias (in
the sense of RFC 1034 or RFC 2181). Implementors are urged, but
not required, to return the address record(s) in the Additional
Data section. Unless and until permitted by future standards
action, name compression is not to be used for this field.
A Target of “.” means that the service is decidedly not
available at this domain.
I did a similar post here about using an Exchange Transport Rule to modify the invite as another option too. https://www.graham-walsh.com/using-microsoft-exchange-transport-rules-for-signatures/
This isn’t an issue of Microsoft supporting anything, it’s basically what ‘works’ when calling into the RealConnect Service. If the VTCs are registered to something which does not allow this type of lookup then customization in this manner may not be possible for that environment. An alternative could be to publish the standard SRV and A records in the desired domain, but these would need to refer directly to the host of IP addresses in the “edge-teams.plcm.vc” record. These IPs are mostly static, but over time some changes may occur so it would be a good idea to routinely check for changes in the service IPs (which should be advertise via subscribable alerts on status.plcm.vc) and then modify the custom DNS A record to match.
Hello Jeff
I’ve just read this very interesting article and I’d like to ask regarding Poly OTD server. Tell us please if one-touch-join button wiil be also possible when we customize MS Teams Meetings invitation?
Thanks in advance!
Regards
Mateusz
Yes, as stated in the article the One Touch Dial service utilizes the domain= portion of the alternate dialing URL to identify the domain.
[…] Customizing Microsoft Teams Meeting Invitations | Jeff Schertz’s Blog — Read on blog.schertz.name/2019/07/customizing-microsoft-teams-meeting-invitations/ […]
Hello Jeff, Thank You for providing this detailed article. I have a question. I have configured a transform in our Cisco VCS so that when a user dials just 4 digits extension of 2010 from a VCS registered endpoint it transfers the call to TenantID@t.plcm.vc. This makes it easy to dial from endpoints that do not have OTD service enabled. Once the end user dials just 2010 they only have to dial the conference ID and they’re in the meeting. My question is, how can I replace the entire tenant ID in the Meeting invite to show 2010@domain.com instead of TenandIT@t.plcm.vc?
Thank You in advance!
-BT
You can change that in the invitation via PowerShell (Set-CsVideoInteropServiceProvider -Identity Polycom -TenantKey “2010@t.plcm.vc”). Keep in mind though that every invite will look like that, but will only work for your registered endpoints. If I were to receive that meeting it would not work from my VTC as the lack of a true tenant key would cause the call to fail when it hits the service. Also this approach is untested and unsupported.
I would suggest that instead you use the invite’s Footer space (configurable in the Teams Admin Center) to include instructions stating something along the lines of “if you are joining this meeting from a corporate conferencing room, simply dial “2010” and then enter the Video Conferencing ID seen above when prompted.” This would instruct internal users to use the dialing prefix, but external users would ignore these directions and use the correct dial string.
Another option is to create shortcut/favorites on all of your endpoints and then simply instruct users to call that shortcut, then enter the ConfID when prompted at the entry queue.
Great Article Jeff. One of our customers is already using CVI solution for Teams from a different partner. Can we still add the Poly CVI Service and customize the invite? Or can 1 tenant only have 1 CVI Provider integration?
Yes, you can enable multiple CVI partners in a single tenant. Just follow the same directions to enable the specific provider, using that provider’s unique Application ID. The key point though is you can only select one of them as the default if you are enabling users at the global policy level. So you’d need to enable user accounts individually for the other provider. Your options are either to (a) leave the global policy set to the default disabled provider and then simply enable all users manually, selecting the preferred provider for each user, or (b) set one of the providers as the global default and then only enable the individual users you want on the other provider.
[…] be t.plcm.vc, which is the common default. If a custom hostname (e.g. video.msteams.net) is configured correctly then the service will parse that information to assemble the correct dial […]
Hi Jeff, great article. Is it possible to change the wording from ‘VTC Conference ID’ and Alternate VTC dial in instructions’ to ‘Video Conference ID’ and ‘Alternate Video Conference dial in instructions’
No, the text provided in the meeting invite is controlled by Microsoft and is hardcoded into the CVI solution used by all providers.
Thanks, Jeff for a wonderful article. in case of multiple CVI configured for single Tenant then conference ID can be reachable via single CVI from where the meeting is scheduled or from any CVI it will be accessible?
As Microsoft provides the scheduling engine I would assume all partners are hitting the same services when performing the meeting lookup. I actually haven’t tested this though, so it’s possible that the App defined in the partner applies in some way to the original meeting.
We use the Trio 8800 with Visual+ and are currently using RealConnect with Microsoft Teams. We have a lot of meeting rooms and employees aren’t allowed to hold impromptu meetings in a room without booking time in the room and, if it’s a Teams meeting, inviting the room as well to join. Our users are getting confused when they see the meeting invite with the extra VTC info and second conference ID. They often enter the wrong ID as well. We want to basically hide that information without removing it. Do you know of any way that the font for the VTC information can be changed to white so that it cannot be seen? The rest of the Teams meeting information obviously needs to be seen and read by the user so they can join the meeting. Just need to change the font color of the RealConnect VTC information.
There’s no way to modify that text beyond what Microsoft provides in the Teams Admin Center. The only thing I can think of is adding a footer the invite further explaining to users how to use the meeting invitation details. But if they are using the wrong ID because they are quickly glancing at the email then hey may not likely bother to read even more instructions.
Jeff,
We have had a single polycom system a while ago. Our team invite still says:
Join with a video conferencing device
61896019@t.plcm.vc VTC Conference ID: 1295099682
Alternate VTC dialing instructions
While I would just like to include the default conference phone numbers Teams has to offer.
By now I have executed:
Get-CsVideoInteropServiceProvider | Remove-CsVideoInteropServiceProvider
and
Grant-CsTeamsVideoInteropServicePolicy -PolicyName ServiceProviderDisabled -Global
But the conferencing message seems to be staying put.
Any tips on how to fully remove and include the default conference phone number?
To remove the CVI details from your scheduled Teams Teams meetings you simply need to execute “Grant-CsTeamsVideoInteropServicePolicy -PolicyName ServiceProviderDisabled” to reverse the global policy, and if you had it assigned to any users individually then run “Grant-CsTeamsVideoInteropServicePolicy -PolicyName ServiceProviderDisabled -Identity “user@domain.onmicrosoft.com” for each user assigned. The cmdlets you ran should have worked (the -global is redundant) so you may need to wait longer as these changes can take many hours to replicate in the Microsoft Cloud. The recent Teams service outage could also have impacted this change as well.
Hi Jeff,
Very useful article – thanks. Do you have any thoughts on how to handle a migration scenario where a customer is moving from SfBO with CVI (Poly RealConnect) to Teams (where VTC join info is added to many thousands of recurring/forward invites? MMS will update the SfB meeting info to be a Teams meeting, but how to handle the VTC info below?
Microsoft is looking into updating the MMS to also include the CVI meeting details when the scheduled meeting is updated by the service. I don’t have any details though if/when that might happen. Right now the only available option I’m aware of is users must recreate any scheduled meeting on their own calendars manually.
Is there a Teams User voice created for this ask that we can vote on?
Not that I’m aware of. If you create one post the link back here and I’ll vote for it 🙂
Hi Jeff,
I’ve just scrolled through this post and I didn’t find the answer to my question, so… Do you know if there are any workarounds to have multiple dial-in numbers on Teams meeting invite?
Best regards,
Mads
No, the Teams meeting invitation will only ever show a single PSTN dial-in number. The ‘Local Numbers’ link provided in the invite is what attendees should use to find a more suitable number to use for their region.
Hi Jeff,
as the standard configuration on the invite for CVI states: tenantID@customerdomain.com VTC Conference ID: 123454555.
How would a dialplan.x.digimap in Trio would look like to enable a one touch dial by digging out the conference ID and the Domain and puts this together. So following SIP string should be dialed: ConferenceID@customerdomain.com
You would need to change the parameter value from the standard example of “^.+@t\.plcm\.vc$” to “^.+@customerdomain\.com$”
At my work, there are staff that use Teams on-line and staff that have the Teams application installed on their PC. The default setting for meeting invites out of Outlook is to connect to Teams on-line. My machine pops this up, then asks if I want to use the application instead.
In Skype for Business, there’s a switch you can add to the meeting link that will start the Skype for Business app by default, if it exists on your PC before it tries to open the on-line version. Is there a similar switch (or setting) to have Teams invitation links open the application rather than teams on-line?
I’m not aware of something like that for Teams. Even though it’ll start in a web browser (from a link clicked outside of Teams) it should automatically use the Teams application if installed to join the meeting if you don’t select an option.
Hi Jeff, thanks for the excellent coverage. A question plse: I am running MS Outlook with two accounts. Using one account I can set up a Teams meeting without a problem. But using the other account, the URL “Join Microsoft Teams meeting” is not established and an error message appears saying ‘Sorry we cannot connect to the server right now; plse try again later’. Tried many things to find out what the cause could be, ultimately a ticket with Microsoft; all to no avail. Would you have a recommendation?
I have a user that when using the Outlook Teams add-in will click the New Teams Meeting button and instead of putting it links instead it puts what is normally the link’s display as text as the URL, and then the URL, so it looks like
Join Microsoft Teams Meeting
https://teams.microsoft.com/l/meetup-join/19%3ameeting_MGIzNWRmNTItOTgzMy00Y2U5LWFkMGEtYjdlYjhjZTE5MjU0%40thread.v2/0?context=%7b%22Tid%22%3a%22a33489ef-a7bc-48cc-9660-8a2d7703dcc7%22%2c%22Oid%22%3a%2287254151-d0f0-46d5-ac4a-a7af20316380%22%7d
It should look like “Join Microsoft Teams Meeting” with that being a link to the URL.
It shows as text and URL for .all. the links in the invitation.
It is happening for just one user (that I’m aware of) and when looking at it earlier today, every time, but he had meeting previously where the links were properly rendered.
I couldn’t find any settings in Outlook or Teams that would cause that. His invitation is HTTP format.
I do not have access to the server admin.
Is it a client (user) issue or server (admin) issue?
Any other ideas?
VB Add-in Disabled in User Client (i.e. Outlook)?
Is there a way to change the phone number to include the commas (,,) then the Conference ID after the phone number like in Skype so that the attendee can just hit the phone number and not have to know the Conference ID?
Thanks
No, the formatting of the core invitation details cannot be customized.
The “click to call” link is already in place… Conference ID and comma’s included!
This functionality is implemented a long time ago. 🙂
I have one user who makes an Outlook 2016 Teams Meeting and for some reason the body of the invitation shows up like this (URLs modified from actual):
Instead of Hyperlinks for “Join Microsoft Teams Meeting” and the rest, it separates the “display” portion from the URL. All the URLs are clickable.
He says it used to work properly. He does NOT have “show field codes” advanced editor option set.
What client side setting might cause this?
Hi Jeff,
Insightful article, thanks for feeding us.
Please what could be responsible for not seeing the Cloud Video Interop Details in MS Teams desktop application but it shows on Outlook? Please what haven’t I done right?
Your response would be appreciated.
Many thanks.
Meeting invitations created in the Teams application do not show the message preview, but the required meeting content will be included when the meeting is booked and the invitations are sent.
Thanks for the response. but I don’t get the required meeting information that a VC device can use to join a Teams meeting when scheduled using the desktop app but the information is there when scheduled using Outlook. I’m just curious on how to fix it.
The information does not appear in the preview when creating a meeting in the Teams client. You have to send the meeting and look at it in the Calendar later.
Is it possible to change the dial string so it looks like 1295099682*61891111@teams.bjn.com VTC Conference ID: 1295099682
Then OBTJ would work alot easier. Currently we have Cisco kit joined to webex and using the webex calendaring setup. They devices show the meeting and have a green join button but its only dialing 61891111@teams.bjn.com and the user has to enter the VTC ID manually.
That’s a behavior of the CVI vendor, not the Teams’s meeting invite format. VTCs using Poly One Touch Dial will dial directly into the meeting as OTD parses the embedded ‘Alternate’ link in the invite, not the ‘sip:’ string in the invite. But since you are using Blue Jeans in your example then it appears that their workflow is different.
Hi There.
The text Alternate Dialing Instrucions is in US english – how would one get that to change to UK English where Dialling is spelled with a double l?
Regards
The text in the Teams invitations supports localization as it is driven by the language used on the workstation or device where the invite was originally created.
Same problem here – Australian, English language etc, and ‘Dialing’ is still spelt incorrectly.
Where would the localised strings for the text be stored?
Same boat here, have tried a number of steps to change the spelling – no luck!
I’m able to change the localisation for the data pulled from Teams with no issue, but not for the additional VTC information.
hi jeff,
is there any way we can put spacing between the Teams and Polycom message
Join Microsoft Teams Meeting
Local numbers | Reset PIN | Learn more about Teams | Meeting options
Join with a video conferencing device
No, the formatting cannot be modified as it is controlled by Microsoft.
Is it possible to pre fill the participants name through URL parameters especially those who join as a guest?
No, I don’t think that is possible.
Did you manage to find any solution to this?
Delete the Teams Invite Link on invitation with out canceling the invite that went out to VIP ppl. Is there a way?
You can attempt to delete the body of the messages but the scheduling plug-in will attempt to restore it, as well as add some of the meeting data into the header of the message.
Is there any way to change the template on end user end without interference of admin?
No, only administrators can control these options.
Hi Jeff, I’ve followed your blog to configure 2 Poly Trio 8800’s with MS Teams using RealConnect and OTD, but I’m having a problem configuring the Join button to go straight into Meetings and not have to enter the VTC ID. I currently have software version 5.9.4.7038 installed having downgraded from 5.9.5.xxxx on 1 Trio while I kept the other Trio on 5.9.5.xxxx.
How can I get the Join button to enter the meeting without having to enter the VTC ID?.
The “Join” button present on the calendar entry only dials directly into the meeting. Using the “Line Key” from the button of the main screen only dials into the entry queue where you are then prompted to enter the individual meting ID. IF this is not what is happening on your phone then something with the configuration is not correct.
can we customize teams invite as “sip:xxxx.vtcid@ t.plcm.vc”? for CVI
When we try the cmdlets
Set-CsVideoInteropServiceProvider -Identity “Poly” -TenantKey “sip:966045915.{ConfId}@t.plcm.vc” the confID is not getting updated
No, the -TenantKey variable can only include static text, you can’t use variables in it. That is meant to hold the entry queue address (TenantKey@domain.com), not the Conference ID.
Is there any other place we can append this “sip:xxxx.vtcid@ t.plcm.vc” in teams invite?
The only option would be to use instructions in the supported footer to explain this, as in: “To manually join your meeting from a video conferencing room you can dial 12345678.@t.plcm.vc” by using the meeting’s unique video Conferencing ID provided in the details above.” The users would need to dial that manually, but it’s clunky. Much better to either configure OTD or at least create a Favorite/Speed Dial on all your endpoints which call directly into the entry queue and then the user’s simply enter the video conference ID when prompted.
Is it possible to change the format of the telephone numbers in the meetings footer? We have different formats appearing for the local number and the toll-free number. We also have a request to remove the country.
+1 555-555-5555,,592669473# Canada, City
(555) 555-5555,,592669473# Canada (Toll-free)
No, Microsoft controls the content and formatting of the Teams meetings.
is it possible to have a custom microsot teams meeting invitation for each of my domains on the same tenant ?
I have 2 domains name
I want to have a different meeting invitation on each domain.Do you know if it’s possible to do it by powershell ? from web interface it”s faisable.
thanks
Laurent
No, only the CVI details can be customized that way by leveraging the 4 unique CVI policies and assigning them to different users.
Hi Jeff! Thanks a lot for you job here, it’s priceless actually 🙂
I just wonder can I possibly insert a picture in an invitation body itself? Like a topic-related picture or just a meme GIF?
No, not with the method covered in this article. You can use Exchange Transport Rules to do that though, for example: https://docs.microsoft.com/en-us/exchange/security-and-compliance/mail-flow-rules/disclaimers-signatures-footers-or-headers
Hi Jeff,
Is it possible to change the order of the listed options in the teams meeting invitation?
E.g. When I create a Team’s meeting invite via Outlook, the following options appear:
– Join on your computer or mobile app
– Join with a video conferencing device
– Or Call in (Audio only)
Is it possible to move the Poly RealConnect option (Join with a video conferecning device) so it is listed at the bottom?
Thanks
No, Microsoft controls the layout of the Teams meeting invite and it cannot be customized. The VTC portion actually used to be at the bottom but Microsoft recently moved it up above the audio conf info when they last updated the formatting.
Why am I getting invitation in .htm file and .ics file from my university
[…] My contribution Mailtip Customizing teams invite logo and such […]
Can i remove VTC information from my signature when i will invite guest participant of outside organization.?
Regards
Tirtha
No, the contents of the Teams invite are controlled by Teams and cannot be selectively edited based on the message’s intended recipient. Everyone will receive the same meeting instructions.