Wednesday, 24 May 2017

Restart required after Skype for Business Server 2015 CU5

Hello Readers.  Hope you're well.  

Another quick post just to say that you should definitely restart your Skype for Business servers following the installation of CU5 (May 2017 Cumulative Update).

I installed the CU from the update installer as usual and let it run through the process.  Sometimes a CU asks for a restart to complete the process, and sometimes it doesn't.  Who am I to argue?  I figure that if it needs one, Microsoft would have put in a prompt for a restart.  Turns out Microsoft is not always right.  Who'd have thought!

What I noticed

When I installed the CU on my Front End servers, it asked for a restart on one but not the other in a pool pair.  I restarted the one that asked for a restart, but not the other.  For that matter, it didn't ask for a restart of my Edge server.

The Front End that asked for a restart was the CMS "Active Master".  That makes sense, since the CMS master has a little more going on.

What I eventually noticed, that lead me to the restart, and this post, was some missing parameters in the WebServiceConfiguration.  I was applying the changes to the Web Joining User Experience that came in with CU5.  The process was well documented in an excellent post by Martin Boam here.

The process is simply a matter of running three commands to change some parameters on the Web Services Configuration.  I logged onto one of the Front Ends and before running the command to change the parameter, I thought I would look to see what was already set.

The first command is Set-CsWebServiceConfiguration -MeetingUxUseCdn $True.  So I ran a Get-CsWebServiceConfiguration first.  I couldn't see the parameter for MeetingUXUseCDN in the list.  To make sure I wasn't missing it, I decided to filter the results the results with Get-CsWebServiceConfiguration | FL MeetingUxUseCdn.

I got...

This indicated that the parameter was missing.

I then logged onto my other Front End and ran Get-CsWebServiceConfiguration | FL MeetingUxUseCdn.

I got...

This indicated that the parameter was there, but set to False.  So I proceeded to run the three commands.

Set-CsWebServiceConfiguration -MeetingUxUseCdn $True
Set-CsWebServiceConfiguration -MeetingUxEnableTelemetry $True
Set-CsWebServiceConfiguration -JoinLauncherCdnTimeout (New-TimeSpan -Seconds 10)

Followed by Enable-CsComputer as suggested, to update IIS applications.

Now when I run Get-CsWebServiceConfiguration | FL MeetingUxUseCdn, MeetingUxEnableTelemetry, JoinLauncherCdnTimeout, I get...

I then restarted my other Front End (with the missing parameters).  While I waited, I tested the join and meeting experience.  I have to say that this is a huge improvement on the old UX. I would encourage you to do this following the installation of CU5.

Once the other Front End was back online I ran Get-CsWebServiceConfiguration | FL MeetingUxUseCdn, MeetingUxEnableTelemetry, JoinLauncherCdnTimeout and got...

This indicated that the restart resolved the issue and added the missing parameters to the Web Services Configuration and, I can only imagine, other places.

So I ran the three commands, plus Enable-CSComputer, again.

The moral of the story is that you should always get in the habit of restarting your Skype for Business servers after applying a CU or any update if you can.  Even if it doeesn't ask for one!  You never know what you'll be missing or what might be broken.

That's it for now.

As always, I thank you for reading.

If this or any other post has been useful to you please take a moment to share.  Comments are welcome. 

Tuesday, 23 May 2017

Microsoft Teams May 17th Update

Hello readers.  I hope you're well.  This is just a quick post on some new features that have landed in Microsoft Teams as of May 17th 2017.  I know I'm a little late to get this out.  And I know there was another update on the 3rd of May with the addition of a Trello tab.  But better late than never.

You can see what's new in Teams in the T-Bot chat in the Release Notes tab.  The below is directly from the release notes.  I have added a few comments here and there in Blue so you know it's me speaking.

New PowerApps tab: Now, you can add Microsoft PowerApps as a tab! PowerApps are "code-free" apps that you can build with a WYSIWYG editor from They're great for internal use within your team, since you can build a quick app to perform a specific task or to handle highly specialized data. To get started building your own app, head over to Once you've built your app, you'll be able to add it as a new tab in a channel just like you'd add any other tab.

This is a really cool addition, but not a new idea.  Fans of Spark have been going on about this type of thing for a while now, so it's about time it has come to Teams.  From what I saw in Spark, it used an "If this then that" style workflow to create an "app" which can be used in Spark.  PowerApps in Teams, it seems, is much more than that.  PowerApps itself, isn't new.  The ability to add it as a tab in Teams is though.

A quick run through of PowerApps Open PowerApps for the first time and you see a splash screen which tells you quickly what you can do with it.

It seems that anyone can use this tool to create an app and connect it to Teams or other services and applications in the Office 365 suite without knowing how to code.  There is a list of sample apps created by Microsoft and others than have shared them, from to-do lists to asset trackers.  It uses Microsoft Flow to create workflows and connectors to connect to services.  For instance: OneDrive can be used to store the app, Microsoft Translator can be used in the app to translate content, and Dynamics CRM can be used as a data source.  There are free and premium connectors which connect to Microsoft and 3rd party services and applications.  You can also create custom connectors to onnect to any existing or new REST API , as long as that API supports at least one of 10+ authentication methods and use JSON.  You can also connect to on-premises applications and services by installing gateways.  An on-premises gateway can be used to connect to on-premises systems and create apps that work across devices without having to migrate any data.  

I'll write a separate post when I finally get around to making an app with PowerApps.

Fun with Outlook: Teams will now integrate with Outlook in new and interesting ways thanks to the Outlook plug in. When you head to your Outlook calendar, you'll see a button labeled New Teams Meeting. Click on it, and you'll be able to schedule a Teams meeting from Outlook. You'll also have the ability to update, cancel, or forward Teams meetings from Outlook. All your meetings in Teams will show up in your Outlook calendar (and vice versa), and you'll be able to join your meeting from either app. (As of right now, the Outlook plugin is only available for Windows users. But don't worry! Support for Mac is coming soon.)

As the above description states, there will be a new tab in the Outlook meetings page that allows you to schedule and join meetings in Teams.  The tab is similar to the tab for Skype Meetings and Lync Meetings before it.  Just another example of the deep integration between products in the Office and Office 365 suite.

I updated my Outlook on a First Release Current Release installation of Office ProPlus and can't see a tab.  I also looked for the add-in in the add-ins manager and it isn't there.  A quick search and it looks like the add-in was pulled, possiblt because of instability in Outlook.  Fret not, there will be an add-in, but they're obliously going to fix whatever is suboptimal and try again for a release in the near future.  I'll update this post when I see the add-in is live.

Improved editing for Wiki: Editing your Wiki pages just got a lot easier! Now, when you want to edit a section, you can just click into the section and start typing. Additionally, your changes will be saved automatically once you click out of the section, so you won't have to worry about selecting 'Edit' and 'Save' while you write. We hope you like it!

If you didn't know, you can create Wiki pages as a tab in Teams.  This update brings some improvements to the editing of the pages and sections with click to edit and automatic saving.  

My only comment about this is perhaps it is now too easy to edit.  Because there is no deliberate edit button, a wrong click could put the cursor somewhere in the content and lead to inadvertant edits.

That's it for now.

As always, I thank you for reading.

If this or any other post has been useful to you please take a moment to share.  Comments are welcome. 

Tuesday, 28 March 2017

Cloud PBX Auto Attendants and Call Queue features at GA

Hello readers.  Hope you're well.  Another quick post for you.

This week is Enterprise Connect in Orlando.  And with most big tech conferences, there are announcements about new and updated stuff, this first one is an update for Cloud PBX in Office 365. 

Auto Attendants and Call Queues are now generally available

First is something that has so far been a big differentiator between server and Cloud PBX and that is the lack of hunt group capability in Cloud PBX.  Microsoft has been cooking something for a while now using a newly developed set of APIs and SDKs.  It has been in preview for several months and they now feel it is ready for prime time.  Auto Attendants and Call Queues is the Cloud PBX “version” of the Response Group Service (RGS) in SfB Server.  These are really just a version 1 of the feature and so what you get is still fairly basic when compared to RGS.

What are Auto Attendants and Call Queues? 

Auto Attendant, or “press 1 for this, press 2 for that”, is used to automatically route calls to people in an organisation.  In Cloud PBX, you start with a Service Number.  A Service Number has more capacity for concurrent calls than a subscriber number (which you assign to an individual).  Service numbers can be acquired as new numbers from Microsoft or ported over from your DID list.  Service Numbers can be used for dial in conferencing, auto attendants or call queues.  New numbers from Microsoft can be toll or toll free.  Toll numbers can be regionalised, so you can reserve a number with the area code of your regional offices. 

Routing options for Auto Attendants:

Dial by name – This is also known as the directory search.  This allows callers to use either DTMF or Speech to search the directory and call someone in an organization.  While in preview, this feature was a little limited in that if you knew the name of anyone, you could place a call to them.  This included everyone in the directory, including executives.  Now, thankfully, there is a way to exclude certain people from the directory search.  You can choose the scope of the search, for instance, you can specify that the dial scope is limited to a specific distribution or security group.  You can also create exclusions by specifying a distribution or security group containing users you want to exclude from the search.  

Dial by name Text to speech supports 27 languages at the moment, including 6 types of English.  

Dial by name speech recognition supports 14 languages, including 5 types of English.

Operator Option – This is a way to route calls to an operator instead or choosing options by number.  For instance, you plat the caller a list of options, 1-5, for instance, and the last option is for the operator.  The operator option accepts the “0” key or the word “operator” in all of the languages available for speech recognition.

Menu Options – This is where you create your “press 1 for this, press 2 for that” list.  These can be assigned numbers 0-9 and accept text to speech and speech recognition.  Calls can be routed to the operator by pressing 0 (The 0 is assigned to the operator by default, but this can be reassigned or removed from the list if you choose), a person, a call queue or (something that wasn’t in preview) another auto attendant (also known as nested auto attendants).

Call Queues, is a way to route a service number or an auto attendant menu option to a group of agents.  Call queues can play callers a company greeting to callers and music while they hold for an agent.  Calls are routed in a first in first out (FIFO) basis to a list of up to 50 Enterprise Voice enabled users or a mail enabled distribution or security group.  You can set maximums for both queue size and wait time.  Max queue size is 50 by default, but can range from 0-200 callers.  Queue wait time can range from 0-45 minutes.  You can also decide what to do if either of these maximums are reached.  You can disconnect the call (imagine waiting 45 minutes and being disconnected) or forward the call.  Forwarding has a few options now (an improvement from preview).  You can forward to an EV enabled user, another Call Queue or an Auto Attendant.

List of supporting URLs

That's all folks!

As always I hope this has been useful.  If this or any other post has been useful to you please take a moment to share.  Comments are welcome. 

Friday, 24 March 2017

Licensing & Setup Guide for Exchange Online Room Mailboxes and Skype Room accounts

Hello readers.  Happy Friday.  Hope you're well as always.

This is a quick post on Exchange Online Room mailboxes and Skype Room accounts.  I'll explain a bit about both Room Mailboxes and Skype Room accounts, the licensing required to use them and then how to set them up in Office 365.

Room Mailbox

First, I'll explain why you need either of these in the first place.  If you have meeting rooms in your organization, you really should have a way to book them.  You could get your office manager or front of house team to try and keep track of them.  You could hang a clipboard outside the rooms and post a booking sheet.  You could just let people sort it out between themselves and let the most important people, or the biggest, kick out the people in the room out when they want to go in.  Or you can use a tool you already have, Exchange, and create a booking system.

Exchange has the concept of resource accounts.  A Room Mailbox is an Exchange mailbox used for room bookings.  The mailbox can be configured to auto accept bookings and pop the meetings in the calendar for the Room.  One great thing is that because there is an Exchange Calendar, you shouldn't get double bookings.  If there is already an meeting in the calendar when someone tries to book it, they'll get a message that informs them that the room is booked and it declines the invite.  You can also configure dispute resolution to go to Front of House or something, so they can sort it out.

Skype Room account 

A Skype Room account is a special account enabled in Skype for Business, created from a Room mailbox.  A Skype Room account can log into Skype for Business in the desktop client, a SIP phone or a room system such as a Lync room system, Skype Room System V2, Polycom Trio, Polycom Group Series etc.

When a Room Mailbox gets enabled as a Skype Room account, something really cool happens.  You can see the presence of the room, just like you can with a person.  For instance, if you invite the Skype Room account to a meeting, the presence of the account will change from Available or Away to In a Meeting.  Then you know at a glance whether the room is in use.

Licensing Requirements

A Room mailbox doesn’t require a license for Exchange or Exchange Online.

A Skype Room account must be assigned a license that includes Skype for Business Online Plan 2 before they are able to log in to Skype.  They could just have Skype for Business Online Plan 2 and nothing else.  For my Business Premium tenant, I can add a standalone SfB Online Plan 2 subscription for £4.20 per month and assign that to the Room account. 

E1, E3 and E5 includes SfB Online Plan 2, but you wouldn’t really want to spend £6 for E1, £17.60 for E3 or £30.80 for E5 on an account that doesn’t need Exchange, Office or SharePoint etc.  So, the cheapest way to license a Skype Room Account is SfB Online Plan 2. 

Again, if you want to rock up and dial a number the Room account must have the Cloud PBX add-on and PSTN Calling.  However, if you get a user with PSTN Conferencing add-on to schedule a meeting and invite the room and the Room joins the meeting, the Room account can be used to dial a number to join a participant into the meeting.

Use Cases

For an Online meeting where participants join from their clients, devices or from the web, with no dial in/out to the PSTN.
  • A User that schedules a meeting must have E1, E3 or E5
  • The User with the correct licensing schedules the meeting and invites the room. 
  • The User that scheduled the meeting (aka the presenter) joins the meeting on their laptop or whatever to share content, chooses no audio
  • The presenter clicks/taps join on the room system to join the meeting
  • Participants join from the web or Lync/Skype client.
  • The presenter shares content

For a meeting that requires PSTN dial in
  • The user that schedules the meeting must have E1 or E3 and the PSTN Conferencing add-on or E5 with PSTN Conferencing included.
  • The User with the correct licensing schedules the meeting and invites the room. 
    • Because the user that scheduled the meeting has the PSTN Conferencing add-on, the invite can/will include the bridge telephone numbers configured in the tenant
  • The User that scheduled the meeting (aka the presenter) joins the meeting on their laptop or whatever to share content, chooses no audio
  • The presenter clicks/taps join on the room system to join the meeting
  • Participants join from the web or Lync/Skype client.
  • Participants join by calling the bridge number
  • The presenter shares content

How to set it up

  1. First, you must log in as tenant admin and create a Room Mailbox.  This can be done in ECP or PowerShell.  I like PowerShell, so I'll show you that method.
  2. Then you must enable the Room mailbox as a Skype Room account.
  3. Then you assign the license.

To create the mailbox in PowerShell.  Open PowerShell as Administrator.

First, create and import a new session from PowerShell to Exchange Online
Set-ExecutionPolicy Unrestricted
$cred=Get-Credential admin@$org
$sess=New-PSSession -ConfigurationName -Credential $cred -AllowRedirection -Authentication basic -ConnectionUri
Import-PSSession $sess

Create a new room mailbox
New-Mailbox -MicrosoftOnlineServicesID $rm -room -Name "Room Name" -RoomMailboxPassword (ConvertTo-SecureString $newpass -AsPlainText -Force) -EnableRoomMailboxAccount $true

Create and import a new session to Skype Online
Import-Module LyncOnlineConnector
$cssess=New-CsOnlineSession -Credential $cred
Import-PSSession $cssess -AllowClobber

Find the registrar pool where users are homed
          Get-CsOnlineUser -Identity ''| fl *registrarpool*

The results

Enable the Room account in Skype Online
          Enable-CsMeetingRoom -Identity $rm -RegistrarPool "" -SipAddressType EmailAddress

Create a new session to Windows Azure AD
          $cred=Get-Credential admin@$org
          Connect-MsolService -Credential $cred

Now set the password for the room account not to expire
          Set-MsolUser -UserPrincipalName -PasswordNeverExpires $true

Check what licensing you have available to assign

          AccountSkuId                                                  ActiveUnits    WarningUnits           ConsumedUnits
          ------------                                                      -----------      ------------              -------------
          domain:O365_BUSINESS_PREMIUM                   1                  0                            1
          domain:MCOSTANDARD                                    1                  0                           0
          domain:STANDARDEPACK                                 1                  0                           0
          domain:ENTERPRISEPACK                                 1                  0                           0

Now assign a license to the room account

for instance Skype for Business Online Plan 2 (MCOSTANDARD)
          Set-MsolUserLicense -UserPrincipalName -AddLicenses "domain:MCOSTANDARD"

          Set-MsolUserLicense -UserPrincipalName -AddLicenses "domain:STANDARDPACK"


          Set-MsolUserLicense -UserPrincipalName -AddLicenses "domain:ENTERPRISEPACK"

That's all folks!

This is a great TechNet post on what is required -

As always I hope this has been useful.  If this or any other post has been useful to you please take a moment to share.  Comments are welcome. 

Monday, 13 March 2017

Setting up a Sonus SWe Lite in Hyper-V

Hello Readers.  Hope you're well.  

This is a quick post on setting up the newly released (and long time coming) Sonus SWe Lite virtual SBC in a Hyper-V environment.  

The SWe stands for Software Edition.  Not exactly sure why it isn't SE, since software is, and always has been, one word.  But I'll leave that for you to decide.  

You'll problably know that Sonus aready had a Software Edition, or SWe, product.  The existing SWe is based on their big boy range, on the 5000, 7000 and 9000 code base.  The new SWe Lite is a virtual edition of the Sonus Edge range of Session Border Controllers and PSTN Gateways, based on the same codebase as the SBC 1000 and SBC 2000.  For those that have been doing this for a while, these are the result of the acquisition of Network Equipment Technologies (NET) back in 2012.

The new SWe Lite is Sonus' first iteration of the product.  At launch, it is only capable of up to 100 SIP sessions by license.  However, the plan is for the product to scale massivly upward.  The current SBC 1000 scales to 192 concurrent SIP sessions with 3 DSPs and the 2000 scales to 600 with 6 DSPs.  So, 100 is not a bad starting point.  

Choosing between the two will be a matter of deciding if you need to support E1/T1 trunks or need on-board analog device or line support.  The latter can be achieved by combining the SWe Lite with a Tenor FXS/FXO VoIP gateway.  As for the former, it's 2017, SIP is the future and you should start thinking about it.  However I do know that E1/T1 trunks will still be neccessary to interconnect to carrier lines and legacy PBX's that aren't SIP capable.  

On with the show!

Setting up the Sonus SWe Lite in Hyper-V

1. First, you need to download the image.  This will require that you have an account on the Sonus Support site.  You have a choice of Windows, Linux and Solaris hypervisor images to download.  

I logged into the partner portal and go to Support, SW Download, choose SWeLite in the PRoduct drop down list and select an Operating System.  Then just click Request Download.

This submits a request to Sonus to issue you with the link to download the product.  It took, perhaps, an hour for the email informing me that my request was approved.  After that, go back to the same site and click on the Download Requests tab and click the Software Request ID to begin the download.

As of 9th March 2017, my package was ""  

2. Extract the contents to a folder - \SWeLite-Hyper-V-release.6.1.0.build87\

3. Navigate to \SWeLite-Hyper-V-release.6.1.0.build87\Install and Unzip and extract the file ""

You should have the following folder - \SWeLite-Hyper-V-release.6.1.0.build87\Install\SBCSWeLite-HyperV\SBCSWeLite-hyperv\

This contains the folders \Snapshots\, \Virtual Hard Drives\ and \Virtual Machines\.

4. Now launch Hyper-V Manager from the Windows Start Menu.

5. Click Import Virtual Machine link in the Actions pane, and then click Next.

6. Click Browse from the Locate Folder dialog box and then navigate to and select the folder - \SWeLite-Hyper-V-release.6.1.0.build87\Install\SBCSWeLite-HyperV\SBCSWeLite-hyperv\Virtual Machines

7. Select the VM to import from the Select Virtual Machine dialog box, and then click Next.

8. Select Copy the virtual machine (create a new unique ID) option, and then click Next.

9. The default settings are displayed in the Choose Destination dialog box. Leave all locations in the default state, and click Next.

10. Click Browse from the "Choose Storage Folders" dialog box and navigate to the folder that will contain the virtual hard disks.  Click Next.

11. Then click Finish.

12. After the image is copied, rename the VM to the intended SBC SWe Lite host name.  

13. Now right-click on the renamed VM and then select Settings.

14. Click on the first Network Adapter and choose your interface and VLAN tag if necessary.

15. Click the + sign to the left of the first Network Adapter and then click Advanced Features.

16. Select Static under MAC address in the Advanced Features pane.
Configure the MAC address based on your requirements.

17. Repeat steps 14 to 16 for the remaining four adapters.
Note - Configure all five adapters even if they all will not be used.

18. Click OK to save and exit the Settings window. 

19. Right click on the VM name and then select Start.

The next step will depend on your environment.  If you have a DHCP server in your environment and the adapters pick up an address, you should be able get the admin IP by launching the console and monitoring the startup progress and identify the initial Admin IP address.

If, as in my case, that didn't work, follow the next seversal steps:

20. Log in to the console with the default Sonus console username and password.  "netconfig" and "Config!"


Special shout out to a couple of people on Twitter.  Skype for Business MVP Eudes "Eudo" Oliver @eudesoliver and Max Sanna @MaxSanna for helping me out here.  Thanks guys.


21. Once you log in you'll be asked to change the admin password

22.  Now you'll be asked if you would you like to configure a static IP address for initial setup on the Admin Interface (y/n): y

23. Now you'll be asked if you want to Configure interface mapping

24. Now go through and pick all of the interfaces and then Apply changes.

After that it says that the initial interface mapping and Admin IP is configured 

25. Now open the Web UI to launch the initial setup page

Now cofigure the system information, IP addresses local users and connectivity information.

26. Under System Information you need to configure your network type (Static or Dynamic), the host name, internat domain and time zone.  If you have a Syslog server, configure that here.

27. Under IP addresses you need to assign IP addresses, Subnet Mask for the admin interface and the IP Address, Subnet Mask and Media Next Hop IP for the other interfaces.

Note: Each interface IP needs to be in a different subnet.  It warns you if you try and add an IP that is in the same subnet as another interface.

28. You also need to configure the local Admin username and password as well as your default route.

Now that the initial setup is done press OK.  If you get no warnings, you've done it correctly.  You get a popup saying that the initial setup process will begin and that after it is done you should log into the admin interface with the new admin credentials you configured above.

29. Open a browser and enter the Admin IP
When you browse the site you'll see the Sonus Edge screen - hit Enter.

Enter the Admin username and password configured above.

Once logged in you'll think you're in any other Sonus Edge "box".  

30. Now you need to license the box.  Go to the System tab, Overview and copy and send the SWe Lite ID to your local Sonus supppliers and they'll send you a license file.

31. Add your license to the system.  Your supplier should have sent you a license file.  Open the file and copy the text to the clipboard.  On the Sonus box, go to the Settings Tab and you will see "install new license" and an empty table asking for you to past in the license key text.  Paste the text and hit decode. 

This will display all of the licensed features in a new table below.  Then hit apply to apply the license to the system. 

It recommends rebooting to apply the license.  So do that.

Once you're licensed you can start configuring the SBC for your needs.  Probably (hopefully) Skype for Business.  

I still need to figure that part our myself.  I'm completely new to the Sonus SBC world.  I've been selling them for over 3 years, but have never had the pleasure of configuring one.  I've been waiting for this virtual edition for a long while and will finally get my chance.

Once I figure all of that out I'll publish another post on how to set it up for Skype for Business and some SIP trunks.


Now another shout out to a couple more Skype for Business MVP's and all around great guys.  Luca Vitali @Luca_Vitali and Greig Sheridan @greiginsydney.  Luca was the first to get his post on this exact subject published and Grieg was second.  Both are excellent as you'd expect given their previous body of work.

Luca's is on VMWare rather than Hyper-V. 

Grieg's is on Hyper-V


If you want to know more about the SWe Lite click here.  Or for any of the other Sonus products go to or speak to your local Sonus partner.

As always I hope this has been useful.  If this or any other post has been useful to you please take a moment to share.  Comments are welcome.  

Friday, 10 March 2017

Microsoft Teams March 9th Update

Hello readers.  I hope you're well.  This is just a quick post on some new features that have landed in Microsoft Teams as of March 9th 2017.

First things first.  Since when do I blog about Teams?  Well, I've been wanting to write about Teams for a while.  I was going to wait until GA and do a full post on what Teams is once it is launched.  After that, you'll probably see many more posts on Teams alongside my usual Skype for Business related stuff and product reviews.

I will say, that I have been evaluating Teams since a few minutes after it was launched into preview in November.  I'm really excited for teh future of Teams.  Especially after having a good chat with some of the product managers at a recent event.  

For those that don't know, you can see what's new in Teams in the T-Bot chat in the Release Notes tab.  March 9th was one of the biggest updates I have seen and they added a ton of stuff.

The below is directly from the release notes.  I have added a few comments here and there in Blue so you know it's me speaking.

New compose box: ICYMI, your compose box got a complete redesign. We improved the experience behind a lot of the actions surrounding composing and editing messages. Now, you have separate icons for the following actions:

  • Expanding your compose box
  • Adding an emoji to a message
  • Sending a GIF
  • Creating and sending a custom meme or sticker
  • Attaching a file
  • Scheduling a meeting

One thing I would say is that I previously found that adding Memes and GIFs etc. was a bit hit and miss.  I'd get the spinning wheel while the app though long and hard about actually adding the thing to the chat or converstion.  Since this update, graphics are added instantly.  Nice one!

You'll find that your expanded compose box still offers all the same formatting options, but you’ve got a lot more space to play around with creating custom memes and stickers, or searching for popular or trending GIFs. Clicking the meetings icon below your compose box will take you straight to our meeting form, where you can immediately schedule a meeting with whoever you're talking to in a channel or chat. Check it out; we hope you like it!

The expanded compose box is really cool.  You can really add some richness and uniqueness to your conversations by changing everything from the font type, size and colour, to adding highlights, bullet points and lists.  

Another recent update added something called "Markdown".  Which, to be honest, I'd never heard of.  Apparently it was a feature in a competing product and it was added to Teams because of a public outcry.  This is where you can format text by wrapping it in certain characters.  For instance, adding an asterisk to the beginning and end of a block of text will make that block of text bold.  It also does this while you're typing do you don't have to click anywhere or use keyboard shortcuts.

The reason I mentioned this feature was more to do with the fact that it was added because many people requested it.  That's interactive development!  And that is cool.  

If you use Teams and want it to do more, use the feedback button.  They really do listen.

Meetings got a lot smarter.

  • Schedule a private meeting: Schedule a private meeting with anyone in your organization! They'll be able to join by clicking "Meetings" on the left side of the app.
  • Meetings have a smart new scheduling assistant: Our new scheduling assistant will let you know when all your invitees are free to meet. The scheduling assistant also provides a calendar view of the coming week that will show you when all your meeting attendees are busy or unavailable.

I'll also say that I haven't done a lot in meetings thus far.  For one, meetings with internal staff that are using Teams isn't as important as meetings that mix internal and external people.  So far, all I've done is tested scheduling meetings to see what was possible.  I also hit the join button in one that was actually a Skype for Business meeting and it just launched the meeting in SfB.  As soon as the doors are opened to external participants, I am sure this will change, and I'll use it more.

Bots now work in teams!

  • New Bots tab in your team page: You might have noticed there's a new tab in your team view. The Bots tab gives you a list of all the bots that have been added to that team. It's also the place to go if you want to discover new bots or get started creating a custom bot or tab!
  • Brand new bot gallery: We built a new bot gallery that will show you a list of all the bots that are currently available in Microsoft Teams. Alongside the Bots tab, the bot gallery is also the place to go when you want to find out which bots have already been added to one of your teams.
  • Discover bots via search: To see a list of all available bots, just click on the search bar at the top of the app and then select "Discover bots". Click on a bot to start a one-on-one chat or click "Add" to add it to a team.
  • Add a bot using an @mention: To add a bot to a channel, just type '@' in your compose box, then select "Add a bot".
  • Custom bots: Now, you can quickly and easily integrate an external service with one of your teams by adding a custom bot! Established and aspiring developers can sideload a bot or tab or even create a custom bot using a call back URL. Just head to the new Bots tab and click the links at the bottom right to get started.

The inclusion of more bots is cool.  However I urge some caution here.  If you add a Bot, it pops up to say what access the Bot has.  

This bot has the following permissions: 
  • Receive messages and data that I provide to it. 
  • Send me messages and notifications. 
  • Receive messages and data that team members provide to it in a channel. 
  • Send messages and notifications in a channel. 
  • Access my profile information such as my name, email address, company name, and preferred language. 
  • Access this team's information such as team name, channel list and roster (including team member's names and email addresses) - and use this to contact them​.

Some of it I understand.  For instance, sending and receiving messages.  You need that to chat with a Bot.  The last one, I think, requires some caution.  The Bot can access team info, channel list, members etc.  What does the Bot company do with this informantion?  If anyone cares to comment here, I welcome it.

Public teams are here: With public teams, anyone can search for, view, and join your team! This means that when anyone from your organization clicks through "Add a team", they'll see a collection of public teams that they can browse and join. If you want to create a new public team, you'll be able to choose 'public' or 'private' settings for your team privacy as you go through the steps of creating a new team.

Public teams is pretty cool.  This could be used for a lot of things.  I think of this as an internal social media network.  

Check out the new Notes tab: We've reimagined the way you collaborate. The Notes tab is a great place for you to draft or edit documents and communicate in real time. It's a full-fledged text editor that lets you @mention teammates right on the page, leave comments when you're editing someone else's work, or respond to feedback!

This is like a blank online Word document that you can work on with other people.  You can also @mention people in the doc.  Not sure about this just yet.  But it must have a use or it wouldn't be in there.

Even more new tabs: We've been quietly adding new options to the tab gallery so you can connect all your favorite external services. Now, you can add a tab to integrate services like Zendesk, Asana, and more. Head over to the desktop app to see what's available.

The tab gallery is getting bigger and bigger every day.  And I expect this to get a log bigger over time.  One cool recent addition is the ability to pin a Website.  Now you can add a website you (or your team) access frequently as a tab in a channel.  Another one I like is adding an Office document as a tab.  The cool thing is that the document is open in the tab.

Feeds got a makeover: We've redesigned your Activity feed so it's more transparent and gives you more control over what you see. Click on the Activity icon on the left side of the app; you'll be taken right to your feed. You'll be able to filter your feed by notification type (if you just want to check your mentions, replies, likes, or news from channels you follow). You also have the option of opening Team activity (which will show you all the latest news from your favorite channels) or My activity (which will give you a list of all the actions you've performed recently in Microsoft Teams). Hope you like it! 

Email integration with Microsoft Teams: You can now post a forwarded email to a channel in Microsoft Teams, thanks to channel email addresses. Click on the "Get email address" option in your channel menu to start sending emails to a channel. Once an email is forwarded, you can have a conversation about it directly in the channel (FYI, any comments or messages that are posted in a channel about an email will only be visible from Microsoft Teams). You'll also have the option of restricting who can send emails to a channel.

I tested this as soon as I saw it.  You hit the 3 dots next to the channel name and click on get email address.

You have some control over who can email the channel.  Everyone, internal only or by domain which is cool.  I sent a message from an external domain and it arrived as a conversation.  Sadly, my reply from within the chat (see the reply button) never arrived.

The message arrives directly in the conversation tab, but the EML file is also uploaded to Teams so you can open it using Outlook and respond directly.  I think the reply button is a better idea personally, but it's a start.

Microsoft Teams will show up in apps view: If you've got the right license, Microsoft Teams will now show up in your apps view for your desktop (when you press the Windows key) along with all your other Office 365 web apps.

This must be for when you have your Office 365 Apps in your start menu, which I don't.  This coincides with the Teams app showing up as a "waffle" tile in the Office 365 Portal page.

T-Bot speaks French: Pour nos utilisateurs francophones, nous sommes heureux d'annoncer que le contenu de T-bot et de l'aide prend désormais en charge le français. Vous êtes le bienvenu :)

Translation: "For our French speaking users, we are happy to announce that T-bot and Help content now supports French. You're welcome :)"

I don't speak French, but for those that do, this is cool.

Accessibility improvements: We take accessibility seriously, and we’re very proud of our continued commitment to making our product a great experience for users of all abilities. With that in mind, we've been hard at work improving accessibility across Microsoft Teams. Please don't hesitate to get in touch should you have concerns or comments!

Improvements in your Files tab: The Files tab has a new look and feel! Now, there's an action bar that includes an option to open the SharePoint site for your team. Additionally, you can get links to folders so you can easily share files within Teams.

All very cool!

I thought I would leave you with one last thing I just found.  You know I love a Keyboard Shortcut.  So I thought it was cool to have a list right in the app.  This is going to be an expanding list for sure, as they add more features.  But this is what you get right now.  As soon as there is an SDK for Teams, I'll work on porting StatusKey to work with Teams too!

As always, I thank you for reading.

If this or any other post has been useful to you please take a moment to share.  Comments are welcome.