When we send a MessageCard to a Microsoft Teams channel via an "Incoming Webhook" connector, when that card contains an HttpPOST potentialAction and the target of the POST returns a CARD-ACTION-STATUS header in the reply, on public channels the content of that header is displayed as a new message. However, if the same MessageCard is sent to a private channel the CARD-ACTION-STATUS header fails to parse and the error message "There was a problem submitting your changes. Try again in a minute" appears.
This worked perfectly fine until around Dec 8th, 2020. I have also verified that the target of the HttpPOST did receive the request and did reply with the CARD-ACTION-STATUS header for both public and private channels.
This is the message card I posted to the Teams channel via an Incoming Webhook Connector :
{
"@type": "MessageCard",
"@context": "https://schema.org/extensions",
"expectedActors": [],
"themeColor": "993399",
"hideOriginalBody": true,
"title": "Simple Teams MessageCard",
"text": "Card Action Status",
"potentialAction": [
{
"@type": "HttpPOST",
"name": "Test HttpPOST",
"target": "https://mydummyapi.execute-api.us-east-1.amazonaws.com/sandbox/teams",
"bodyContentType": "application/json",
"body": "{'message': 'Anybody There'}"
}
]
}
This is the result from a public channel : public channel result
This is the result from a private channel : private channel result
One last thing of note. The response header "CARD-UPDATE-IN-BODY" works on both private and public channels when you pass a new message card in the body of the response. So it is only with the "CARD-ACTION-STATUS" header, and only in private channels.