Customizing Microsoft Teams Meeting Invitations

July 31, 2019 by · 41 Comments 

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.

  • Browse to Meetings > Meeting settings in the navigation pane.

image

  • Under the Email invitation section configure any or all of the desired fields.

image

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.

image

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.

image

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

image

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

image

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

image

Get-CsVideoInteropServiceProvider

image

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.

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.

image

About Jeff Schertz
Site Administrator

Comments

41 Responses to “Customizing Microsoft Teams Meeting Invitations”
  1. Graham Walsh says:

    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/

    • Jeff Schertz says:

      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.

  2. Mateusz says:

    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

  3. BT says:

    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

    • Jeff Schertz says:

      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.

  4. Abhay Kamath says:

    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?

    • Jeff Schertz says:

      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.

  5. Jen says:

    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’

  6. Vishal Mohite says:

    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?

    • Jeff Schertz says:

      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.

  7. DaleH says:

    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.

    • Jeff Schertz says:

      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.

  8. Tiele Declercq says:

    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?

    • Jeff Schertz says:

      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.

  9. Ian says:

    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?

    • Jeff Schertz says:

      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.

  10. Mads Sommer says:

    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

    • Jeff Schertz says:

      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.

  11. Konrad says:

    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

  12. Robert Eberhardt says:

    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?

    • Jeff Schertz says:

      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.

  13. OFBleeker says:

    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?

  14. Phil Reinemann says:

    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?

  15. charles v says:

    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

  16. Adedapo A. says:

    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.

    • Jeff Schertz says:

      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.

      • Adedapo A. says:

        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.

        • Jeff Schertz says:

          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.

  17. Daniel says:

    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.

    • Jeff Schertz says:

      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.

  18. Danie says:

    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

    • Jeff Schertz says:

      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.

Trackbacks

Check out what others are saying about this post...
  1. […] Customizing Microsoft Teams Meeting Invitations | Jeff Schertz’s Blog — Read on blog.schertz.name/2019/07/customizing-microsoft-teams-meeting-invitations/ […]

  2. […] 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 […]



Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!