The Strange Case of Outlook Desktop and Actionable Messages

No Action Visible

I had a problem with actionable messages generated by Microsoft Teams not working properly in Outlook desktop. In the overall scheme of things, this isn’t a huge issue, but it became an irritation because nothing was obviously wrong. The problem was that I could interact with actionable messages using any other client than Outlook desktop. Here’s the story.

Actionable Messages in Yammer and Teams

Actionable messages contain a JSON payload in the message body to allow the recipient to respond to an application based on the content (hence the name) using “action buttons” associated with the commands necessary to execute an action, like respond to a message. The technology has been available for several years. For example, a Yammer actionable message allows the recipient to react to a message posted to a community or post a response of their own (Figure 1).

Responding to a Yammer conversation using an actionable message
Figure 1: Responding to a Yammer conversation using an actionable message

Much the same happens for Teams Missed Activity messages, where recipients can respond to chats or channel conversations (Figure 2). Teams generates these messages based on the option selected by the user in the Notifications section of Teams settings.

Responding to a Teams chat using an actionable message
Figure 2: Responding to a Teams chat using an actionable message

Apart from the magic involved in interpreting the JSON payload and presenting it in an attractive manner in Outlook desktop, OWA, and Outlook mobile, the other major technology needed is the HTTP response to update the target application with the action chosen by the recipient.

Deploying the Actionable Message Debugger

The problem I had was that Outlook desktop stubbornly refused to allow interaction with Teams missed activity messages while OWA and Outlook mobile worked properly. Instead of being able to reply to Teams conversations from Outlook desktop, the messages offered to use a deeplink to launch the application positioned in the conversation (for instance, Teams missed activity messages included only a Reply in Teams button). Although Teams actionable messages had problems, Yammer actionable messages worked normally.

I found a mention of a similar problem happening in another context. Unfortunately, the recommended check against the system registry to uncover permission issues with the Office add-in store produced no joy. However, it led me to install the Actionable Messages Debugger for Outlook and deploy it as an integrated app via the Microsoft 365 admin center (Figure 3).

Deploying the Actionable Messages Debugger for Outlook
Figure 3: Deploying the Actionable Messages Debugger for Outlook

Soon afterwards, the debugger showed up in Outlook. I don’t know why, but suddenly things started to work properly. Apparently, the mere presence of the debugger or using the add-in to examine the properties of a message (Figure 4) resolved the problem. Or did it?

Using the Actionable Messages Debugger for Outlook
Figure 4: Using the Actionable Messages Debugger for Outlook

I

Of course, software doesn’t work on a whim (or maybe it does, which would explain some oddities observed over the years). Authentication is a more fundamental reason. After all, an actionable message must be capable of posting its command for the magic to work. I had switched my Teams desktop client to another tenant (I have guest accounts in too many tenants; shared channels should help, when they become available).

It’s logical to assume that if Outlook desktop finds that the same account used to connect to Exchange Online is not connected to Teams, it will assume that it cannot process actions and so revert to the Reply to Teams command. If the user takes this option, they must authenticate to access Teams. OWA and Outlook Mobile seem to use connections to the home tenant, so they’re unaffected by switching to other host tenants. The issue doesn’t affect Yammer: its browser client probably works like OWA.

I hate not understanding why features do not work as they should. At least now I have a reasonable explanation and can go and do something more productive.

Debugging Information

You probably will not use the debugger unless you’re developing an Outlook add-in or need to gather information for a support call. The information presented by the debugger will mean a lot to those who understand what the JSON content should look like and how it should behave, but maybe not for others. To demonstrate what you might find, here’s an example of an actionable card error captured by the debugger:

{
-
"ActionableMessageStamping": {
-
"Errors": [
"Adaptive card signature validation failed - Sender of the email does not match sender in the signed card. Originator:78c6dd9c-1fe2-40ba-ae94-19729f11547d, OAMAppName:xxxGroup"
],
"Infos": [ ]
},
   "CardEnabledForMessage": false,
   "ClientName": "Outlook",
   "ClientVersion": "16.0.14827.20088",
   "InternetMessageId":           
   "<DB9PR04MB8445D745EBCC517C2CA20D8EFD509@DB9PR04MB8445.eurprd04.prod.outlook.com>",
   "EntityExtractionSuccess": true,
   "SignedAdaptiveCard": true,
-
"MessageCardPayload": {
"found": false,
"type": null
},
-
"AuthHeader": {
"results": "dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=office365itpros.com;",
"authAs": "Internal"
}
}

Organization Control for Actionable Messages

The Exchange Online organization configuration contains a setting (SmtpActionableMessagesEnabled) to control the use of “action buttons.” The default is True, meaning that email clients allow users to respond to buttons inserted in email by Microsoft 365 applications. If you wanted, you can run Set-OrganizationConfig to set the value to False to disable actionable messages.

Set-OrganizationConfig –SmtpActionableMessagesEnabled $False

I can’t think of a good reason to disable actionable messages, but you never know when the need might arise. That’s I can’t think of a good reason to disable actionable messages, but you never know when the need might arise. That’s the joy of discovering poorly documented parts of Microsoft 365, just like finding out why Teams missed activity messages won’t work when you switch to use a guest account in another tenant.


Learn more about how Office 365 really works on an ongoing basis by subscribing to the Office 365 for IT Pros eBook. Our monthly updates keep subscribers informed about what’s important across the Office 365 ecosystem.

4 Replies to “The Strange Case of Outlook Desktop and Actionable Messages”

  1. Hello Tonny, thank you for such a good, article, do you have anything to recommend to read about the logic how the message is being send ”missed activity emails – Actionable Messages” I see its effected by the free/busy status widely too.

    1. Teams sends messages about missed activity based on the notifications configured for an account. Have a look at the notifications section in user settings. You’ll see the interval defined there.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.