Search code examples
jsonoutlookspfxoffice365connectors

Actionable Messages with HTTP Post in Outlook and new SPFx WebPart


I have created an Actionable Message and registered a provider in Office365, which is approved for my organization. I'm sending the message via Microsoft Flow.

The message contains HttpPost actions in which I want to receive the response with am HTTP triggered Flow.

This is the JSON of the actionable message (I've removed the FLOW urls, and @'s are escaped.):

{
  "@@type": "MessageCard",
  "@@context": "http://schema.org/extensions",
  "originator": "<my_provider_id>",
  "summary": "Klanttevredenheidsonderzoek ",
  "title": "Bent u tevreden over de afhandeling van **melding 92138749247**",
  "text": "Graag horen we of u tevreden bent over deze melding",
  "themeColor": "E81123",
  "sections": [
    {
      "potentialAction": [
        {
          "@@type": "HttpPOST",
          "name": "Slecht!",
          "headers": [{ "Content-Type": "application/json" }],
          "target": "<flowurl>?<>flowurlparameters",
          "body": "Slecht!"
        },
        {
          "@@type": "HttpPOST",
          "name": "Goed!",
          "headers": [{ "Content-Type": "application/json" }],
          "target": "<flowurl>?<>flowurlparameters",
          "body": "Goed"
        }
      ]
    },
    {
      "startGroup": true,
      "title": "**Disclaimer**",
      "text": ". 2018"
    }
  ]
}

I have two problems:

  1. If I mail my own O365 account, I get the mail with the message showing correctly. However, the post buttons do not work correctly, and the link I see when I hover over the buttons is missing the URL parameters (which might be the cause it's not working). What could I be doing wrong, or is it still too early for this to work? How can I debug this?
  2. In the new SPFx O365Connectors webpart the HTTPPost actions are missing completely. The rest of the message is shown correctly. Are HTTPPost actions not supported yet? Or will they not be supported at all? Or is something wrong with what I'm doing..?

Solution

  • Microsoft has now added support for the scenario of catching HTTP Post operations from within an actionable email by Microsoft Flow. The key is to explicitly set the authorization header to an empty string. Below snippet uses the adaptive card schema v1.0 at http://adaptivecards.io/schemas/adaptive-card.json

    "actions": [
                                            {
                                              "type": "Action.Http",
                                              "title": "Light",
                                              "method": "POST",
                                              "headers": [
                                                {
                                                  "name": "Authorization",
                                                  "value": ""
                                                }
                                              ],
                                              "url": "<a http triggered Flow URL>",
                                              "body": "{'currentRoom':'room1','currentState':'roomState1','action':null,'exit':null,'object':null,'objectAction':null,'userEmail':'[email protected]'}"
                                            }
                                        ]