Creating a World of Seamless Internal and External Communications
Some people like email, some people like the short-message type of interaction seen in Microsoft Teams. What’s for sure is that many people need to use both, if only because Teams is a Microsoft-only inward-facing communications platform while email is the standards-based lingua franca of the internet. The ability to connect to billions of people worldwide without installing a Microsoft client is one reason why Teams will never take over from email.
When Microsoft launched Teams (beta late 2016, general availability early 2017), customers asked for ways to make Teams work with email. To some, this means having email available as a Teams app (which is possible using OWA). For me, a simple statement captures the user requirement: “I need to move information between email and Teams seamlessly.” Email comes in from external senders all the time which could form the basis of a Teams conversation. Likewise, Teams conversations often result in actions for internal or external people who don’t use Teams, but still need to know about a decision.
Five years on, despite work to bridge the gap, I’m not convinced that the capabilities available in Teams and email clients today meet my simple requirement. Currently, we can use the following features to move information between Teams and email:
- The Share to Outlook feature in Teams
- The Share to Teams add-in available in OWA and Outlook desktop. Outlook installs the add-in automatically if a user logs into the Teams desktop or browser client.
- Drag and drop from Outlook to Teams desktop.
- The ability to send email to a Teams channel, if allowed by the tenant.
Users must have an Exchange Online mailbox to use these features. In addition, the mailbox must be enabled for OWA to allow the Share to Outlook feature to work.
All these features work. The issue might be with the word “seamlessly.”
Share Teams Messages with Email Recipients
The Share to Outlook feature uses OWA components to create and send email from Teams desktop or browser clients. Teams extracts the content of a chat message or channel conversation (including private channels) and creates a HTML-format message body part in a draft message, which it inserts into an OWA window. If the user creates the message from a chat, only the selected chat is goes into the message. However, if they use Share to Outlook from a channel conversation, all the messages in the conversation end up in the message. The Share to Outlook feature depends on OWA, so the user’s mailbox must be OWA-enabled and their mailbox must be in Exchange Online. Guests cannot use Share to Outlook.
The user can then add recipients (any valid email address), amend the message subject, set its priority, edit the message body, or use other facilities available in the OWA compose message screen. They can send messages using any mailbox (including shared and group mailboxes) for which their account has the Send As permission. As we can see in Figure 1, this includes adding a sensitivity label to the message.
When sent, OWA transmits the message to Exchange Online, which deals with it like any other message. There’s nothing magic about the content, so any HTML-capable email client can read these messages. Even loop components included in Teams chats remain accessible when shared by email. In this scenario, the message contains a hyperlink to the loop file in OneDrive for Business (Figure 2). If the recipient has permission for the file, they’ll be able to use a browser to interact with the loop component.
Overall, sending email from Teams works well and it’s hard to suggest any specific improvements Microsoft could make. Joking apart, sending to Outlook for Teams is one way to be able to print a Teams message or conversation!
Sharing Email to Teams
The Share to Teams feature is available in Outlook desktop (click to run version), Outlook for Mac, and OWA to handle communications in the opposite direction. Imagine that you receive an important message and want to share it with team members. Outlook can call Share from Teams to send a copy to a Teams user, group chat, or channel. First, Teams makes sure that you’re signed into your home tenant (you can’t use Share from Teams if you switch as a guest to another tenant) and opens a window to allow you to decide how to post the message. You can choose to create a new chat with one or more participants, or to post the message into a selected channel in a team (including private channels). In Figure 3, I’m sharing the monthly Practical365.com newsletter with a channel.
If you send an email to Teams users, Teams looks for an existing chat. If it finds a chat, Teams appends the message to the chat. If not, it creates a new chat, or group chat, if multiple people are involved. Share to Teams doesn’t create a copy of the outbound message in the user’s Sent Items folder. This is because Teams processed the message rather than Exchange Online.
If the message had attachments, the option exists to include the attachments with the message. Teams stores the attachments of inbound messages in OneDrive for Business (chats) or SharePoint Online (channel conversations).
Microsoft refreshed Share to Teams in 2021. If the Teams desktop client is available on the workstation, Share to Teams opens a window in the client to create and post the message. Otherwise, Outlook communicates with the Teams server (via Graph APIs) to post the message.
Generally, Share from Teams works fine. Its major limitation is being unable to process messages protected with a sensitivity label or Office 365 message encryption (Do Not Forward or Encrypt-Only protection). This is because Teams doesn’t support Microsoft Information Protection for message and the person who wishes to send email to Teams might not have the right to remove protection.
Drag and Drop
Another way of getting messages from Outlook desktop to Teams is to use drag and drop. This works if you drag a message to an open compose box for a channel message. The feature doesn’t work for chats.
Share to Teams helps people post messages from Outlook and OWA to a Teams channel, but only for those clients. Obviously, people use other email clients, including Outlook mobile and the native Apple and Android mail apps. From its beginning, Teams included the ability to send messages to channels, if permitted by a tenant’s email integration settings, available in the Teams settings section of the Teams admin center (Figure 4). Apart from enabling the feature, administrators can also restrict the ability of channels to accept email except from designated domains and a team owner can restrict acceptance of messages sent to the channel to team members.
With email integration enabled, users can generate an email address for a channel and use that address to route email to the channel. The address generation implementation is kind of funky: any team member can generate an email address for a channel, and any team member can remove the address. It would be much better if channel email addresses were lockable, or at least changeable only by team owners.
The email addresses generated for Teams channels (like email@example.com) belong to mailboxes in a special domain that’s not part of the regular Microsoft 365 infrastructure. Connectors pick up the messages which arrive in the mailboxes and post them as new threads to the target channel. At the same time, Teams creates copies of the messages in a folder in the SharePoint site used by the channel. Microsoft changed the storage arrangement for email messages captured in SharePoint Online last year to move from a single folder arrangement to one where Teams creates a new folder each month. This didn’t go down well with people who had created flows based on the arrival of new messages into a designated folder.
One obvious issue with sending email to a channel is that if you use an incorrect address (or one that’s removed or replaced for a channel), the message goes into a black hole. Apart from checking the channel to verify delivery, there’s no way of knowing if the message arrives. The same black hole syndrome happens if you send protected email to a Teams channel.
To make it easy for users and avoid issues with misaddressing, it’s a good idea to create mail contacts for channels (through the Exchange admin center or using the New-MailContact PowerShell cmdlet). Here’s an example:
New-MailContact -DisplayName "Teams Channel - Planning group" -Name Teams.Channel.Planning -Alias Teams.Channel.Planning -LastName "Planning" -FirstName "Teams Channel" -ExternalEmailAddress "firstname.lastname@example.org"
The new mail contact then shows up in address lists like the GAL and OAB and is usable like any other mail-enabled recipient (Figure 5). Make sure to give the mail contact a name to help users understand where messages will go. You can even include the mail contacts in distribution lists or Microsoft 365 groups if you want to be sure to distribute copies of messages to Teams.
Remember that if someone changes the email address for a channel, you’ll need to update the mail contact with the new address.
Making Things Better
At face value, Microsoft’s efforts to connect email and Teams delivers the right kind of connectivity. However, nothing much has happened in this area over the last few years, and I think things could be better in the following ways:
- Channel email addresses should be manageable. Once assigned, team owners should be the only people who can remove these addresses. It would be good if team owners or Teams administrators could assign the local part of the SMTP address for a channel. In other words, instead of Teams generating a value like ab8528d6, the administrator could assign “TeamsProductPlanning” or some other value that makes sense to them. If the value is unique, Teams should accept it as the local part of the address.
- Generate non-delivery notifications for messages which don’t reach their intended destination in Teams.
- It would be nice if Share to Teams could append to an existing conversation instead of always creating a new conversation.
- Only tenant accounts can use Share to Teams and Share to Outlook. It would be nice if guest accounts could too.
- Support for on-premises mailboxes by Share to Teams and Share to Outlook would be appreciated.
- And finally, maybe a first-party Exchange Online app to integrate email into Teams. The Yammer communities app is a good example of the kind of integration that’s possible.
I’m sure other useful ideas are out there. Feel free to express your views by posting a comment!