Decoding a Microsoft Teams Meeting URL

January 16th, 2018 | Tags:

As most folks are already aware Microsoft Teams has a dramatically different architecture to Skype for Business, gone is the baggage that came with on-premises technology – Teams is built for cloud first so with that comes a number of changes, one of which is the meeting URL.

The first thing that you will notice when you create a Teams meeting is that it is presented with percentage encoding, this is the first thing we’ll need to strip out or decode prior to deciphering the Teams meeting URL. Below is an example of a meeting generated via the Teams Outlook add-in.

Before:
https://teams.microsoft.com/l/meetup-join/19%3ameeting_MjM2NzczMmEtMmRiNi00MGNhLWI1ZTYtMjI0ODQxMjI4NGNk%40thread.skype/0?context=%7b%22Tid%22%3a%22d0880d3f-e6d1-4a41-9e81-b8fbcddf7b6c%22%2c%22Oid%22%3a%22803e81b2-4fa5-4a82-8d7a-ff38aa202977%22%7d

After:
https://teams.microsoft.com/l/meetup-join/19:meeting_MjM2NzczMmEtMmRiNi00MGNhLWI1ZTYtMjI0ODQxMjI4NGNk@thread.skype/0?context={“Tid”:”d0880d3f-e6d1-4a41-9e81-b8fbcddf7b6c”,”Oid”:”803e81b2-4fa5-4a82-8d7a-ff38aa202977″}
Various URL decoders are available, one such example here

Let’s next break this URL into four sections:

1: Thread ID
https://teams.microsoft.com/l/meetup-join/19:meeting_MjM2NzczMmEtMmRiNi00MGNhLWI1ZTYtMjI0ODQxMjI4NGNk@thread.skype

2: Thread Message ID
0

3: Tenant ID
“d0880d3f-e6d1-4a41-9e81-b8fbcddf7b6c”

4: Organizer ID
“803e81b2-4fa5-4a82-8d7a-ff38aa202977”

Now one of the things you’ll notice within the example above is that the thread message ID is not populated or zero, this is due to the fact that we created the meeting within Outlook, if we create a meeting within a Teams channel and also perform the same decoding outlined above the message ID is now populated: